Example #1
0
def test_validate_auto_config_file_e2e(data, is_valid, tmpdir):
    service = "foo"
    conf_file = "marathon-norcal-devc"

    tmpdir.mkdir(service)
    filepath = config_utils.write_auto_config_data(
        service=service,
        extra_info=conf_file,
        data=data,
        soa_dir=tmpdir,
    )
    assert config_utils.validate_auto_config_file(filepath) == is_valid
Example #2
0
def test_write_auto_config_data_service_dne(tmpdir):
    with mock.patch(
            "paasta_tools.config_utils.open",
            new=mock.mock_open(),
            autospec=None,
    ) as mock_open:
        result = config_utils.write_auto_config_data(
            service="something",
            extra_info="marathon-norcal-devc",
            data={"a": 1},
            soa_dir=tmpdir,
        )
        assert len(mock_open.mock_calls) == 0
    assert result is None
Example #3
0
def test_write_auto_config_data_file_exists(tmpdir):
    service = "foo"
    conf_file = "marathon-norcal-devc"

    tmpdir.mkdir(service)
    config_utils.write_auto_config_data(
        service=service,
        extra_info=conf_file,
        data={"a": 1},
        soa_dir=tmpdir,
    )
    # Contents should be replaced on second write
    result = config_utils.write_auto_config_data(
        service=service,
        extra_info=conf_file,
        data={"a": 2},
        soa_dir=tmpdir,
    )
    expected_path = (
        f"{tmpdir}/{service}/{config_utils.AUTO_SOACONFIG_SUBDIR}/{conf_file}.yaml"
    )
    assert result == expected_path
    with open(expected_path) as f:
        assert yaml.safe_load(f) == {"a": 2}
Example #4
0
def test_write_auto_config_data_new_file(tmpdir):
    service = "foo"
    conf_file = "marathon-norcal-devc"
    data = {"a": 1}

    tmpdir.mkdir(service)
    result = config_utils.write_auto_config_data(
        service=service,
        extra_info=conf_file,
        data=data,
        soa_dir=tmpdir,
        sub_dir=AUTO_SOACONFIG_SUBDIR,
    )
    expected_path = f"{tmpdir}/{service}/{AUTO_SOACONFIG_SUBDIR}/{conf_file}.yaml"
    assert result == expected_path
    with open(expected_path) as f:
        assert yaml.safe_load(f) == data