aboutsummaryrefslogtreecommitdiff
path: root/tests/incite/mergers/test_merge_collection_item.py
diff options
context:
space:
mode:
authorMax Nanis2026-03-06 16:49:46 -0500
committerMax Nanis2026-03-06 16:49:46 -0500
commit91d040211a4ed6e4157896256a762d3854777b5e (patch)
treecd95922ea4257dc8d3f4e4cbe8534474709a20dc /tests/incite/mergers/test_merge_collection_item.py
downloadgeneralresearch-91d040211a4ed6e4157896256a762d3854777b5e.tar.gz
generalresearch-91d040211a4ed6e4157896256a762d3854777b5e.zip
Initial commitv3.3.4
Diffstat (limited to 'tests/incite/mergers/test_merge_collection_item.py')
-rw-r--r--tests/incite/mergers/test_merge_collection_item.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/incite/mergers/test_merge_collection_item.py b/tests/incite/mergers/test_merge_collection_item.py
new file mode 100644
index 0000000..96f8789
--- /dev/null
+++ b/tests/incite/mergers/test_merge_collection_item.py
@@ -0,0 +1,66 @@
+from datetime import datetime, timezone, timedelta
+from itertools import product
+from pathlib import PurePath
+
+import pytest
+
+from generalresearch.incite.mergers import MergeCollectionItem, MergeType
+from generalresearch.incite.mergers.foundations.enriched_session import (
+ EnrichedSessionMerge,
+)
+from generalresearch.incite.mergers.foundations.enriched_wall import (
+ EnrichedWallMerge,
+)
+from test_utils.incite.mergers.conftest import merge_collection
+
+
+@pytest.mark.parametrize(
+ argnames="merge_type, offset, duration",
+ argvalues=list(
+ product(
+ [MergeType.ENRICHED_SESSION, MergeType.ENRICHED_WALL],
+ ["1h"],
+ [timedelta(days=1)],
+ )
+ ),
+)
+class TestMergeCollectionItem:
+
+ def test_file_naming(self, merge_collection, offset, duration, start):
+ assert len(merge_collection.items) == 25
+
+ items: list[MergeCollectionItem] = merge_collection.items
+
+ for i in items:
+ i: MergeCollectionItem
+
+ assert isinstance(i.path, PurePath)
+ assert i.path.name == i.filename
+
+ assert i._collection.merge_type.name.lower() in i.filename
+ assert i._collection.offset in i.filename
+ assert i.start.strftime("%Y-%m-%d-%H-%M-%S") in i.filename
+
+ def test_archives(self, merge_collection, offset, duration, start):
+ assert len(merge_collection.items) == 25
+
+ for i in merge_collection.items:
+ assert not i.has_archive()
+ assert not i.has_empty()
+ assert not i.is_empty()
+ assert not i.has_partial_archive()
+ assert i.has_archive() == i.path_exists(generic_path=i.path)
+
+ res = set([i.should_archive() for i in merge_collection.items])
+ assert len(res) == 1
+
+ def test_item_to_archive(self, merge_collection, offset, duration, start):
+ for item in merge_collection.items:
+ item: MergeCollectionItem
+ assert not item.has_archive()
+
+ # TODO: setup build methods
+ # ddf = self.build
+ # saved = instance.to_archive(ddf=ddf)
+ # self.assertTrue(saved)
+ # self.assertTrue(instance.has_archive())