def test_load_FileDoesNotExist_RaisesFileNotFoundError(self, tmpdir): config_file = tmpdir.join('config') # file was not created here config_filepath = str(config_file) config = ConfigurationFile() with pytest.raises(FileNotFoundError): config.load(config_filepath)
def test_load_FileMissingOneOfThe3Params_RaisesLoadError( self, tmpdir): config_file = tmpdir.join('config') config_file.write(""" { "db_file": "file.db", "cache_dir": "cache" }""") config = ConfigurationFile() with pytest.raises(LoadError) as error: config.load(str(config_file)) assert str(error.value) == "configuration file '%s' " \ "missing one parameter" % config_file
def test_load_FileMissingQuotesInTheParamNames_RaisesLoadError( self, tmpdir): config_file = tmpdir.join('config') config_file.write(""" { db_file: "file.db", cache_dir: "cache", store_dir: "store" }""") config = ConfigurationFile() with pytest.raises(LoadError) as error: config.load(str(config_file)) assert str(error.value).startswith("configuration file '%s' is not in " "the correct format: " % config_file)
def test_load_FileMissingColonsBetweenParamNamesAndValues_RaisesLoadError( self, tmpdir): config_file = tmpdir.join('config') config_file.write(""" { "db_file" "file.db", "cache_dir" "cache", "store_dir" "store" }""") config = ConfigurationFile() with pytest.raises(LoadError) as error: config.load(str(config_file)) assert str(error.value).startswith("configuration file '%s' is not in " "the correct format: " % config_file)
def test_load_FileWithThe3Params_LoadsConfigFileWithRespectiveValues( self, tmpdir): config_file = tmpdir.join('config') config_file.write(""" { "db_file": "file.db", "cache_dir": "cache", "store_dir": "store" }""") config = ConfigurationFile() config.load(str(config_file)) assert config.db_file == "file.db" assert config.cache_dir == "cache" assert config.store_dir == "store"
def test_load_FileWithThe3ParamsAndExtraInvalidParam_RaisesLoadError( self, tmpdir): config_file = tmpdir.join('config') config_file.write(""" { "db_file": "file.db", "cache_dir": "cache", "store_dir": "store", "extra": "extra" }""") config = ConfigurationFile() with pytest.raises(LoadError) as error: config.load(str(config_file)) assert str(error.value) == "configuration file '%s' has unknown " \ "parameters" % config_file