diff --git a/src/fmu/dataio/dataio.py b/src/fmu/dataio/dataio.py index 3b25124cd..6e740bb22 100644 --- a/src/fmu/dataio/dataio.py +++ b/src/fmu/dataio/dataio.py @@ -149,6 +149,9 @@ def _check_global_config( f"stratigraphy.{key}: 'alias' items must be strings\n" ) + # After checking and warning, remove empty entries + item["alias"] = list(filter(lambda i: i is not None, item["alias"])) + if "stratigraphic_alias" in item: if not isinstance(item["stratigraphic_alias"], list): msg += f"stratigraphy.{key}: 'stratigraphic_alias' must be list.\n" @@ -158,6 +161,11 @@ def _check_global_config( msg += f"stratigraphy.{key}: 'stratigraphic_alias' items " msg += "must be strings.\n" + # After checking and warning, remove empty entries + item["stratigraphic_alias"] = list( + filter(lambda i: i is not None, item["stratigraphic_alias"]) + ) + if msg: if "err" in action: raise ValueError(msg) diff --git a/tests/test_units/test_dataio.py b/tests/test_units/test_dataio.py index 52c469b29..e4bb40026 100644 --- a/tests/test_units/test_dataio.py +++ b/tests/test_units/test_dataio.py @@ -79,17 +79,23 @@ def test_config_miss_required_fields(globalconfig1, regsurf): read_metadata(out) -def test_config_stratigraphy_empty_entries_alias(globalconfig2): - """Test that empty entries in 'alias' is detected and warned.""" +def test_config_stratigraphy_empty_entries_alias(globalconfig2, regsurf): + """Test that empty entries in 'alias' is detected and warned and removed.""" cfg = deepcopy(globalconfig2) cfg["stratigraphy"]["TopVolantis"]["alias"] += [None] with pytest.warns(PendingDeprecationWarning, match="'alias' items must be strings"): - ExportData(config=cfg, content="depth") + exp = ExportData(config=cfg, content="depth", name="TopVolantis") + metadata = exp.generate_metadata(regsurf) + + assert None not in metadata["data"]["alias"] + + +def test_config_stratigraphy_empty_entries_stratigraphic_alias(globalconfig2, regsurf): + """Test that empty entries in 'stratigraphic_alias' detected and warned.""" + # Note! stratigraphic_alias is not implemented, but we still check consistency -def test_config_stratigraphy_empty_entries_stratigraphic_alias(globalconfig2): - """Test that empty entries in 'stratigraphic_alias' is detected and warned.""" cfg = deepcopy(globalconfig2) cfg["stratigraphy"]["TopVolantis"]["stratigraphic_alias"] += [None]