def test_sections_in_order3():
    config = {
        "metadata": {"section_run": ["writer_config"]},
        "implementation_config": {
            "reader_config": {
                "read_data": {
                    "class": "CsvReader",
                    "filename": "test/tennis.csv",
                    "destinations": ["recipe_csv_writer"],
                }
            },
            "writer_config": {
                "recipe_csv_writer": {
                    "class": "CsvWriter",
                    "key": "test_data",
                    "dir": "cache",
                    "filename": "unittest_similar_recipes.csv",
                }
            },
        },
    }
    config = Configuration(
        config_location=None, is_dict_config=True, dict_config=config
    )
    sections, source = config.sections_in_order()
    assert sections == ["writer_config"]
    assert source == "section_run"
def test_sections_in_order2():
    config = {
        "metadata": {},
        "implementation_config": {
            "reader_config": {
                "read_data": {
                    "class": "CsvReader",
                    "filename": "test/tennis.csv",
                    "destinations": [],
                }
            },
            "writer_config": {},
        },
    }
    config = Configuration(
        config_location=None, is_dict_config=True, dict_config=config
    )
    sections, source = config.sections_in_order()
    assert sections == ["reader_config", "writer_config"]
    assert source == "default"
def test_sections_in_order1():
    config = {
        "metadata": {"section_registry": ["phase1", "phase2"]},
        "implementation_config": {
            "phase1": {
                "read_data": {
                    "class": "CsvReader",
                    "filename": "test/tennis.csv",
                    "destinations": [],
                }
            },
            "phase2": {},
        },
    }
    config = Configuration(
        config_location=None, is_dict_config=True, dict_config=config
    )
    sections, source = config.sections_in_order()
    assert sections == ["phase1", "phase2"]
    assert source == "section_registry"