From 2b91b3cbf81b39535678689d41198954fe1ba452 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Wynen Date: Fri, 15 Aug 2025 15:49:16 +0200 Subject: [PATCH 1/2] Update for backend 3.20 --- .../backend/docker-compose-backend-template.yaml | 2 +- tests/client/attachment_client_test.py | 16 +++++++++++++--- tests/model_test.py | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/scitacean/testing/backend/docker-compose-backend-template.yaml b/src/scitacean/testing/backend/docker-compose-backend-template.yaml index 6754a153..d819fca3 100644 --- a/src/scitacean/testing/backend/docker-compose-backend-template.yaml +++ b/src/scitacean/testing/backend/docker-compose-backend-template.yaml @@ -16,7 +16,7 @@ services: - "27017:27017" scicat: - image: ghcr.io/scicatproject/backend-next:v4.8.0 + image: ghcr.io/scicatproject/backend-next:v4.20.2 container_name: scitacean-test-scicat depends_on: - mongodb diff --git a/tests/client/attachment_client_test.py b/tests/client/attachment_client_test.py index 8fdeba04..f3a555a9 100644 --- a/tests/client/attachment_client_test.py +++ b/tests/client/attachment_client_test.py @@ -66,6 +66,12 @@ def compare_attachment_after_upload( assert expected == dict(downloaded)[key], f"key = {key}" +def sorted_attachments( + attachments: list[DownloadAttachment], +) -> list[DownloadAttachment]: + return sorted(attachments, key=lambda a: str(a.id)) + + def test_create_attachment_for_dataset( scicat_client: ScicatClient, attachment: UploadAttachment, @@ -140,7 +146,9 @@ def test_create_attachment_for_dataset_for_dataset_populates_ids( def test_get_attachments_for_dataset(scicat_client: ScicatClient) -> None: dset = INITIAL_DATASETS["derived"] attachments = scicat_client.get_attachments_for_dataset(dset.pid) - assert attachments == INITIAL_ATTACHMENTS["derived"] + assert sorted_attachments(attachments) == sorted_attachments( + INITIAL_ATTACHMENTS["derived"] + ) def test_get_attachments_for_dataset_no_attachments( @@ -168,7 +176,9 @@ def test_download_attachments_for_dataset(client: Client, key: str) -> None: Attachment.from_download_model(attachment) for attachment in INITIAL_ATTACHMENTS.get(key, ()) ] - assert with_attachments.attachments == expected + assert sorted_attachments(with_attachments.attachments) == sorted_attachments( + expected + ) @pytest.mark.parametrize("key", ["raw", "derived"]) @@ -179,4 +189,4 @@ def test_get_dataset_with_attachments(client: Client, key: str) -> None: Attachment.from_download_model(attachment) for attachment in INITIAL_ATTACHMENTS.get(key, ()) ] - assert downloaded.attachments == expected + assert sorted_attachments(downloaded.attachments) == sorted_attachments(expected) diff --git a/tests/model_test.py b/tests/model_test.py index b8f0a363..fe8c3731 100644 --- a/tests/model_test.py +++ b/tests/model_test.py @@ -153,7 +153,7 @@ def test_derived_dataset_default_values( assert finalized.size == 0 assert finalized.techniques == [] assert finalized.updatedAt # some non-empty str - assert finalized.version == "v3" + assert finalized.version == "3" # Left empty assert finalized.description is None is None @@ -222,7 +222,7 @@ def test_raw_dataset_default_values( assert finalized.size == 0 assert finalized.techniques == [] assert finalized.updatedAt # some non-empty str - assert finalized.version == "v3" + assert finalized.version == "3" # Left empty assert finalized.dataFormat is None From beaaf09f7e3f9fca4193b242fcdc394149d124e5 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Wynen Date: Mon, 6 Oct 2025 10:44:57 +0200 Subject: [PATCH 2/2] Skip test until resolved upstream --- tests/client/attachment_client_test.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/client/attachment_client_test.py b/tests/client/attachment_client_test.py index f3a555a9..39064421 100644 --- a/tests/client/attachment_client_test.py +++ b/tests/client/attachment_client_test.py @@ -96,6 +96,7 @@ def test_create_attachment_for_dataset( compare_attachment_after_upload(attachment2, finalized2) +@pytest.mark.skip("https://github.com/SciCatProject/scicat-backend-next/issues/2254") def test_create_attachment_for_dataset_with_existing_id( real_client: Client, attachment: UploadAttachment,