def test_save_and_load_catalog(data_set, dummy_dataframe, tmpdir): catalog = DataCatalogWithDefault(data_sets={"test": data_set}, default=default_csv) path = str(tmpdir.mkdir("sub").join("test")) catalog.save(path, dummy_dataframe) reloaded_df = catalog.load(path) assert dummy_dataframe.equals(reloaded_df)
def test_load_from_unregistered(dummy_dataframe, tmpdir): catalog = DataCatalogWithDefault(data_sets={}, default=default_csv) path = str(tmpdir.mkdir("sub").join("test.csv")) catalog.save(path, dummy_dataframe) reloaded_df = catalog.load(path) assert dummy_dataframe.equals(reloaded_df)
def test_remember_save(tmpdir, dummy_dataframe): catalog = DataCatalogWithDefault(data_sets={}, default=default_csv, remember=True) path = str(tmpdir.mkdir("sub").join("test.csv")) catalog.save(path, dummy_dataframe) assert tmpdir.join("sub").join("test.csv") in catalog.list()
def test_default_none(): with pytest.raises( TypeError, match="Default must be a callable with a " "single input string argument: the " "key of the requested data set.", ): DataCatalogWithDefault(data_sets={}, default=None)
def test_from_sane_config_default(sane_config, dummy_dataframe, tmpdir): catalog = DataCatalog.from_config(sane_config["catalog"], sane_config["credentials"]) catalog_with_default = DataCatalogWithDefault.from_data_catalog( catalog, default_csv) path = str(tmpdir.mkdir("sub").join("missing.csv")) catalog_with_default.save(path, dummy_dataframe) reloaded_df = catalog_with_default.load(path) assert dummy_dataframe.equals(reloaded_df)
def test_from_sane_config(sane_config): with pytest.raises(ValueError, match="Cannot instantiate a `DataCatalogWithDefault`"): DataCatalogWithDefault.from_config(sane_config["catalog"], sane_config["credentials"])
def test_remember_load(): catalog = DataCatalogWithDefault(data_sets={}, default=default_memory, remember=True) assert catalog.load("any") == 5 assert "any" in catalog.list()