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
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
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}
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