|
@@ -85,6 +85,7 @@ class TestDataManager:
|
|
assert _DataManager._get(csv_dn.id).properties.get("encoding") == "utf-8"
|
|
assert _DataManager._get(csv_dn.id).properties.get("encoding") == "utf-8"
|
|
assert _DataManager._get(csv_dn.id).properties.get("has_header") is True
|
|
assert _DataManager._get(csv_dn.id).properties.get("has_header") is True
|
|
assert _DataManager._get(csv_dn.id).properties.get("exposed_type") == "pandas"
|
|
assert _DataManager._get(csv_dn.id).properties.get("exposed_type") == "pandas"
|
|
|
|
+ assert _DataManager._get(csv_dn.id).properties.get("is_generated") is False
|
|
assert _DataManager._get(csv_dn.id).properties == csv_dn.properties
|
|
assert _DataManager._get(csv_dn.id).properties == csv_dn.properties
|
|
assert _DataManager._get(csv_dn.id).edit_in_progress is False
|
|
assert _DataManager._get(csv_dn.id).edit_in_progress is False
|
|
assert _DataManager._get(csv_dn.id)._editor_id is None
|
|
assert _DataManager._get(csv_dn.id)._editor_id is None
|
|
@@ -111,6 +112,7 @@ class TestDataManager:
|
|
assert _DataManager._get(csv_dn).properties.get("encoding") == "utf-8"
|
|
assert _DataManager._get(csv_dn).properties.get("encoding") == "utf-8"
|
|
assert _DataManager._get(csv_dn).properties.get("has_header") is True
|
|
assert _DataManager._get(csv_dn).properties.get("has_header") is True
|
|
assert _DataManager._get(csv_dn.id).properties.get("exposed_type") == "pandas"
|
|
assert _DataManager._get(csv_dn.id).properties.get("exposed_type") == "pandas"
|
|
|
|
+ assert _DataManager._get(csv_dn.id).properties.get("is_generated") is False
|
|
assert _DataManager._get(csv_dn).properties == csv_dn.properties
|
|
assert _DataManager._get(csv_dn).properties == csv_dn.properties
|
|
assert _DataManager._get(csv_dn.id).edit_in_progress is False
|
|
assert _DataManager._get(csv_dn.id).edit_in_progress is False
|
|
assert _DataManager._get(csv_dn.id)._editor_id is None
|
|
assert _DataManager._get(csv_dn.id)._editor_id is None
|
|
@@ -122,7 +124,8 @@ class TestDataManager:
|
|
|
|
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
- assert _DataManager._get(dn.id).properties.get("is_generated")
|
|
|
|
|
|
+ assert isinstance(_DataManager._get(dn.id).properties.get("path"), str)
|
|
|
|
+ assert _DataManager._get(dn.id).properties.get("is_generated") is True
|
|
assert not _DataManager._get(dn.id).edit_in_progress
|
|
assert not _DataManager._get(dn.id).edit_in_progress
|
|
assert _DataManager._get(dn.id)._editor_id is None
|
|
assert _DataManager._get(dn.id)._editor_id is None
|
|
assert _DataManager._get(dn.id)._editor_expiration_date is None
|
|
assert _DataManager._get(dn.id)._editor_expiration_date is None
|
|
@@ -131,7 +134,8 @@ class TestDataManager:
|
|
|
|
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
- assert _DataManager._get(dn.id).properties.get("is_generated")
|
|
|
|
|
|
+ assert isinstance(_DataManager._get(dn.id).properties.get("path"), str)
|
|
|
|
+ assert _DataManager._get(dn.id).properties.get("is_generated") is True
|
|
assert _DataManager._get(dn.id).edit_in_progress
|
|
assert _DataManager._get(dn.id).edit_in_progress
|
|
assert _DataManager._get(dn.id).editor_id == "foo"
|
|
assert _DataManager._get(dn.id).editor_id == "foo"
|
|
assert _DataManager._get(dn.id).editor_expiration_date is not None
|
|
assert _DataManager._get(dn.id).editor_expiration_date is not None
|
|
@@ -140,7 +144,8 @@ class TestDataManager:
|
|
|
|
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert _DataManager._get(dn.id).last_edit_date is None
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
assert len(_DataManager._get(dn.id).properties) == 2 # is_generated and path
|
|
- assert _DataManager._get(dn.id).properties.get("is_generated")
|
|
|
|
|
|
+ assert isinstance(_DataManager._get(dn.id).properties.get("path"), str)
|
|
|
|
+ assert _DataManager._get(dn.id).properties.get("is_generated") is True
|
|
assert not _DataManager._get(dn.id).edit_in_progress
|
|
assert not _DataManager._get(dn.id).edit_in_progress
|
|
assert _DataManager._get(dn.id).editor_id is None
|
|
assert _DataManager._get(dn.id).editor_id is None
|
|
assert _DataManager._get(dn.id).editor_expiration_date is None
|
|
assert _DataManager._get(dn.id).editor_expiration_date is None
|
|
@@ -462,59 +467,89 @@ class TestDataManager:
|
|
|
|
|
|
dm._delete_all()
|
|
dm._delete_all()
|
|
|
|
|
|
- def test_clean_generated_files(self, pickle_file_path):
|
|
|
|
- user_pickle_dn_config = Config.configure_data_node(
|
|
|
|
- id="d1", storage_type="pickle", path=pickle_file_path, default_data="d"
|
|
|
|
|
|
+ @pytest.mark.parametrize(
|
|
|
|
+ "storage_type,path",
|
|
|
|
+ [
|
|
|
|
+ ("pickle", "pickle_file_path"),
|
|
|
|
+ ("csv", "csv_file"),
|
|
|
|
+ ("excel", "excel_file"),
|
|
|
|
+ ("json", "json_file"),
|
|
|
|
+ ("parquet", "parquet_file_path"),
|
|
|
|
+ ],
|
|
|
|
+ )
|
|
|
|
+ def test_clean_generated_files(self, storage_type, path, request):
|
|
|
|
+ path = request.getfixturevalue(path)
|
|
|
|
+ user_dn_config = Config.configure_data_node(
|
|
|
|
+ id="d1", storage_type=storage_type, path=path, default_data={"a": [1], "b": [2]}
|
|
)
|
|
)
|
|
- generated_pickle_dn_1_config = Config.configure_data_node(id="d2", storage_type="pickle", default_data="d")
|
|
|
|
- generated_pickle_dn_2_config = Config.configure_data_node(id="d3", storage_type="pickle", default_data="d")
|
|
|
|
-
|
|
|
|
- dns = _DataManager._bulk_get_or_create(
|
|
|
|
- [user_pickle_dn_config, generated_pickle_dn_1_config, generated_pickle_dn_2_config]
|
|
|
|
|
|
+ generated_dn_1_config = Config.configure_data_node(
|
|
|
|
+ id="d2", storage_type=storage_type, default_data={"a": [1], "b": [2]}
|
|
|
|
+ )
|
|
|
|
+ generated_dn_2_config = Config.configure_data_node(
|
|
|
|
+ id="d3", storage_type=storage_type, default_data={"a": [1], "b": [2]}
|
|
)
|
|
)
|
|
|
|
|
|
- user_pickle_dn = dns[user_pickle_dn_config]
|
|
|
|
- generated_pickle_dn_1 = dns[generated_pickle_dn_1_config]
|
|
|
|
- generated_pickle_dn_2 = dns[generated_pickle_dn_2_config]
|
|
|
|
-
|
|
|
|
- _DataManager._clean_generated_file(user_pickle_dn.id)
|
|
|
|
- assert file_exists(user_pickle_dn.path)
|
|
|
|
-
|
|
|
|
- _DataManager._clean_generated_files([generated_pickle_dn_1, generated_pickle_dn_2])
|
|
|
|
- assert not file_exists(generated_pickle_dn_1.path)
|
|
|
|
- assert not file_exists(generated_pickle_dn_2.path)
|
|
|
|
-
|
|
|
|
- def test_delete_does_clean_generated_pickle_files(self, pickle_file_path):
|
|
|
|
- user_pickle_dn_config = Config.configure_data_node(
|
|
|
|
- id="d1", storage_type="pickle", path=pickle_file_path, default_data="d"
|
|
|
|
|
|
+ dns = _DataManager._bulk_get_or_create([user_dn_config, generated_dn_1_config, generated_dn_2_config])
|
|
|
|
+
|
|
|
|
+ user_dn = dns[user_dn_config]
|
|
|
|
+ generated_dn_1 = dns[generated_dn_1_config]
|
|
|
|
+ generated_dn_2 = dns[generated_dn_2_config]
|
|
|
|
+
|
|
|
|
+ _DataManager._clean_generated_file(user_dn.id)
|
|
|
|
+ assert file_exists(user_dn.path)
|
|
|
|
+
|
|
|
|
+ _DataManager._clean_generated_files([generated_dn_1, generated_dn_2])
|
|
|
|
+ assert not file_exists(generated_dn_1.path)
|
|
|
|
+ assert not file_exists(generated_dn_2.path)
|
|
|
|
+
|
|
|
|
+ @pytest.mark.parametrize(
|
|
|
|
+ "storage_type,path",
|
|
|
|
+ [
|
|
|
|
+ ("pickle", "pickle_file_path"),
|
|
|
|
+ ("csv", "csv_file"),
|
|
|
|
+ ("excel", "excel_file"),
|
|
|
|
+ ("json", "json_file"),
|
|
|
|
+ ("parquet", "parquet_file_path"),
|
|
|
|
+ ],
|
|
|
|
+ )
|
|
|
|
+ def test_delete_does_clean_generated_pickle_files(self, storage_type, path, request):
|
|
|
|
+ path = request.getfixturevalue(path)
|
|
|
|
+ user_dn_config = Config.configure_data_node(
|
|
|
|
+ id="d1", storage_type=storage_type, path=path, default_data={"a": [1], "b": [2]}
|
|
|
|
+ )
|
|
|
|
+ generated_dn_config_1 = Config.configure_data_node(
|
|
|
|
+ id="d2", storage_type=storage_type, default_data={"a": [1], "b": [2]}
|
|
|
|
+ )
|
|
|
|
+ generated_dn_config_2 = Config.configure_data_node(
|
|
|
|
+ id="d3", storage_type=storage_type, default_data={"a": [1], "b": [2]}
|
|
|
|
+ )
|
|
|
|
+ generated_dn_config_3 = Config.configure_data_node(
|
|
|
|
+ id="d4", storage_type=storage_type, default_data={"a": [1], "b": [2]}
|
|
)
|
|
)
|
|
- generated_pickle_dn_config_1 = Config.configure_data_node(id="d2", storage_type="pickle", default_data="d")
|
|
|
|
- generated_pickle_dn_config_2 = Config.configure_data_node(id="d3", storage_type="pickle", default_data="d")
|
|
|
|
- generated_pickle_dn_config_3 = Config.configure_data_node(id="d4", storage_type="pickle", default_data="d")
|
|
|
|
|
|
|
|
dns = _DataManager._bulk_get_or_create(
|
|
dns = _DataManager._bulk_get_or_create(
|
|
[
|
|
[
|
|
- user_pickle_dn_config,
|
|
|
|
- generated_pickle_dn_config_1,
|
|
|
|
- generated_pickle_dn_config_2,
|
|
|
|
- generated_pickle_dn_config_3,
|
|
|
|
|
|
+ user_dn_config,
|
|
|
|
+ generated_dn_config_1,
|
|
|
|
+ generated_dn_config_2,
|
|
|
|
+ generated_dn_config_3,
|
|
]
|
|
]
|
|
)
|
|
)
|
|
|
|
|
|
- user_pickle_dn = dns[user_pickle_dn_config]
|
|
|
|
- generated_pickle_dn_1 = dns[generated_pickle_dn_config_1]
|
|
|
|
- generated_pickle_dn_2 = dns[generated_pickle_dn_config_2]
|
|
|
|
- generated_pickle_dn_3 = dns[generated_pickle_dn_config_3]
|
|
|
|
|
|
+ user_dn = dns[user_dn_config]
|
|
|
|
+ generated_dn_1 = dns[generated_dn_config_1]
|
|
|
|
+ generated_dn_2 = dns[generated_dn_config_2]
|
|
|
|
+ generated_dn_3 = dns[generated_dn_config_3]
|
|
|
|
|
|
- _DataManager._delete(user_pickle_dn.id)
|
|
|
|
- assert file_exists(user_pickle_dn.path)
|
|
|
|
|
|
+ _DataManager._delete(user_dn.id)
|
|
|
|
+ assert file_exists(user_dn.path)
|
|
|
|
|
|
- _DataManager._delete_many([generated_pickle_dn_1.id, generated_pickle_dn_2.id])
|
|
|
|
- assert not file_exists(generated_pickle_dn_1.path)
|
|
|
|
- assert not file_exists(generated_pickle_dn_2.path)
|
|
|
|
|
|
+ _DataManager._delete_many([generated_dn_1.id, generated_dn_2.id])
|
|
|
|
+ assert not file_exists(generated_dn_1.path)
|
|
|
|
+ assert not file_exists(generated_dn_2.path)
|
|
|
|
|
|
_DataManager._delete_all()
|
|
_DataManager._delete_all()
|
|
- assert not file_exists(generated_pickle_dn_3.path)
|
|
|
|
|
|
+ assert not file_exists(generated_dn_3.path)
|
|
|
|
|
|
def test_create_dn_from_loaded_config_no_scope(self):
|
|
def test_create_dn_from_loaded_config_no_scope(self):
|
|
file_config = NamedTemporaryFile(
|
|
file_config = NamedTemporaryFile(
|