Skip to content

Commit 2a776bc

Browse files
committed
feat(test): Add changes on e2e testing for find project
1 parent 48c4c4e commit 2a776bc

File tree

3 files changed

+63
-24
lines changed

3 files changed

+63
-24
lines changed

apps/common/utils.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,19 @@ def compare_csv_files(
7272
gzip.GzipFile(fileobj=file, mode="rb") as gz,
7373
io.TextIOWrapper(gz, encoding="utf-8") as text_stream,
7474
):
75-
actual_data = list(csv.DictReader(text_stream))
75+
generated_data = list(csv.DictReader(text_stream))
7676
else:
7777
with project_asset.file.open(mode="r") as file:
78-
actual_data = list(csv.DictReader(file))
78+
generated_data = list(csv.DictReader(file))
7979

8080
with expected_csv_path.open(mode="r", newline="", encoding="utf-8") as file:
8181
expected_data = list(csv.DictReader(file))
8282

8383
if keys_to_ignore:
84-
actual_data = remove_object_keys(actual_data, keys_to_ignore)
84+
generated_data = remove_object_keys(generated_data, keys_to_ignore)
8585
expected_data = remove_object_keys(expected_data, keys_to_ignore)
8686

87-
assert actual_data == expected_data, message
87+
assert generated_data == expected_data, message
8888

8989

9090
def compare_geojson_files(
@@ -104,16 +104,16 @@ def compare_geojson_files(
104104
gzip.GzipFile(fileobj=file, mode="rb") as gz,
105105
io.TextIOWrapper(gz, encoding="utf-8") as text_stream,
106106
):
107-
actual_data = json.load(text_stream)
107+
generated_data = json.load(text_stream)
108108
else:
109-
with project_asset.file.open("r", encoding="utf-8") as file:
110-
actual_data = json.load(file)
109+
with project_asset.file.open("r") as file:
110+
generated_data = json.load(file)
111111

112112
with expected_geojson_path.open("r", encoding="utf-8") as file:
113113
expected_data = json.load(file)
114114

115115
if keys_to_ignore:
116-
actual_data = remove_object_keys(actual_data, keys_to_ignore)
116+
generated_data = remove_object_keys(generated_data, keys_to_ignore)
117117
expected_data = remove_object_keys(expected_data, keys_to_ignore)
118118

119-
assert actual_data == expected_data, message
119+
assert generated_data == expected_data, message

apps/project/tests/e2e_create_project_tile_map_service_test.py

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,11 @@ def _test_project(self, projectKey: str, filename: str):
640640
aggregated_results_project_asset,
641641
aggregated_results_filename,
642642
is_gzip_file=True,
643+
keys_to_ignore={
644+
"project_internal_id",
645+
"group_internal_id",
646+
"task_internal_id",
647+
},
643648
message="Difference found for aggregated results export file.",
644649
)
645650

@@ -653,10 +658,20 @@ def _test_project(self, projectKey: str, filename: str):
653658
if not aggregated_results_with_geometry_project_asset:
654659
raise AssertionError("Aggregated results with geometry project asset not found")
655660

661+
expected_aggregated_results_with_geometry_filename = Path(
662+
settings.BASE_DIR,
663+
test_data["expected_project_exports_data"]["aggregated_results_with_geometry"],
664+
)
656665
compare_geojson_files(
657666
aggregated_results_with_geometry_project_asset,
658-
test_data["expected_project_exports_data"]["aggregated_results_with_geometry"],
667+
expected_aggregated_results_with_geometry_filename,
659668
is_gzip_file=True,
669+
keys_to_ignore={
670+
"name",
671+
"project_internal_id",
672+
"group_internal_id",
673+
"task_internal_id",
674+
},
660675
message="Difference found for aggregated results with geometry export file.",
661676
)
662677

@@ -670,10 +685,20 @@ def _test_project(self, projectKey: str, filename: str):
670685
if not results_project_asset:
671686
raise AssertionError("Results project asset not found")
672687

688+
results_filename = Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["results"]
673689
compare_csv_files(
674690
results_project_asset,
675-
test_data["expected_project_exports_data"]["results"],
691+
results_filename,
676692
is_gzip_file=True,
693+
keys_to_ignore={
694+
"project_internal_id",
695+
"group_internal_id",
696+
"task_internal_id",
697+
"user_internal_id",
698+
"timestamp",
699+
"start_time",
700+
"end_time",
701+
},
677702
message="Difference found for results export file.",
678703
)
679704
# NOTE: Test HISTORY
@@ -683,13 +708,13 @@ def _test_project(self, projectKey: str, filename: str):
683708
export_type=ProjectAssetExportTypeEnum.HISTORY,
684709
).first()
685710

711+
history_filename = Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["history"]
686712
if not history_project_asset:
687713
raise AssertionError("History project asset not found")
688714

689715
compare_csv_files(
690716
history_project_asset,
691-
test_data["expected_project_exports_data"]["history"],
692-
is_gzip_file=True,
717+
history_filename,
693718
message="Difference found for history export file.",
694719
)
695720

@@ -702,11 +727,15 @@ def _test_project(self, projectKey: str, filename: str):
702727

703728
if not groups_project_asset:
704729
raise AssertionError("Groups project asset not found")
705-
730+
groups_filename = Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["groups"]
706731
compare_csv_files(
707732
groups_project_asset,
708-
test_data["expected_project_exports_data"]["groups"],
733+
groups_filename,
709734
is_gzip_file=True,
735+
keys_to_ignore={
736+
"project_internal_id",
737+
"group_internal_id",
738+
},
710739
message="Difference found for groups export file.",
711740
)
712741

@@ -719,11 +748,16 @@ def _test_project(self, projectKey: str, filename: str):
719748

720749
if not tasks_project_asset:
721750
raise AssertionError("Tasks project asset not found")
722-
751+
tasks_filename = Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["tasks"]
723752
compare_csv_files(
724753
tasks_project_asset,
725-
test_data["expected_project_exports_data"]["tasks"],
754+
tasks_filename,
726755
is_gzip_file=True,
756+
keys_to_ignore={
757+
"project_internal_id",
758+
"group_internal_id",
759+
"task_internal_id",
760+
},
727761
message="Difference found for tasks export file.",
728762
)
729763

@@ -736,10 +770,10 @@ def _test_project(self, projectKey: str, filename: str):
736770

737771
if not users_project_asset:
738772
raise AssertionError("Users project asset not found")
739-
773+
users_filename = Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["users"]
740774
compare_csv_files(
741775
users_project_asset,
742-
test_data["expected_project_exports_data"]["users"],
776+
users_filename,
743777
is_gzip_file=True,
744778
message="Difference found for users export file.",
745779
)
@@ -753,16 +787,21 @@ def _test_project(self, projectKey: str, filename: str):
753787

754788
if not aoi_project_asset:
755789
raise AssertionError("AOI Geometry project asset not found")
756-
790+
aoi_geometry_export_filename = Path(
791+
settings.BASE_DIR,
792+
test_data["expected_project_exports_data"]["area_of_interest"],
793+
)
757794
compare_geojson_files(
758795
aoi_project_asset,
759-
aoi_geometry_filename,
796+
aoi_geometry_export_filename,
760797
message="Difference found for AOI Geometry export file.",
761798
)
762799

763800
# NOTE: TEST HOT TASKING MANAGER GEOMETRY
764-
if "hot_tasking_manager_aoi" in test_data["assets"]:
765-
htm_aoi_filename = Path(settings.BASE_DIR) / test_data["assets"]["hot_tasking_manager_aoi"]
801+
if "hot_tasking_manager_geometry" in test_data["expected_project_exports_data"]:
802+
htm_aoi_filename = (
803+
Path(settings.BASE_DIR) / test_data["expected_project_exports_data"]["hot_tasking_manager_geometry"]
804+
)
766805
htm_aoi_project_asset = ProjectAsset.objects.filter(
767806
project=project,
768807
type=AssetTypeEnum.EXPORT,

0 commit comments

Comments
 (0)