From 2fb3c34d895bdae44b9d81ac2ad141d5e34f6b14 Mon Sep 17 00:00:00 2001 From: Kyle Burton Date: Fri, 13 Mar 2026 16:15:28 -0500 Subject: [PATCH 1/2] Add drs tests for space url cases --- gen3-integration-tests/tests/test_drs_endpoint.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gen3-integration-tests/tests/test_drs_endpoint.py b/gen3-integration-tests/tests/test_drs_endpoint.py index e20b46828..ac53ee836 100644 --- a/gen3-integration-tests/tests/test_drs_endpoint.py +++ b/gen3-integration-tests/tests/test_drs_endpoint.py @@ -21,6 +21,20 @@ "acl": ["jenkins"], "size": 9, }, + "with_spaces": { + "file_name": "test_valid", + "urls": ["s3://cdis-presigned-url-test/test data"], + "hashes": {"md5": "73d643ec3f4beb9020eef0beed440ad0"}, + "acl": ["jenkins"], + "size": 9, + }, + "with_spaces_encoded": { + "file_name": "test_valid", + "urls": ["s3://cdis-presigned-url-test/test%20data"], + "hashes": {"md5": "73d643ec3f4beb9020eef0beed440ad0"}, + "acl": ["jenkins"], + "size": 9, + }, "not_allowed": { "file_name": "test_not_allowed", "urls": ["s3://cdis-presigned-url-test/testdata"], From 575f7e13faa550fe301fe2f765595f4e59c86401 Mon Sep 17 00:00:00 2001 From: burtonk <117617405+k-burt-uch@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:19:41 -0500 Subject: [PATCH 2/2] Refactor DRS endpoint test to handle multiple cases --- gen3-integration-tests/tests/test_drs_endpoint.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gen3-integration-tests/tests/test_drs_endpoint.py b/gen3-integration-tests/tests/test_drs_endpoint.py index ac53ee836..cfdb11983 100644 --- a/gen3-integration-tests/tests/test_drs_endpoint.py +++ b/gen3-integration-tests/tests/test_drs_endpoint.py @@ -109,11 +109,13 @@ def test_get_drs_presigned_url(self): 1. Get the drs presgined url for indexd record (allowed). 2. Validate the content of the file checkout. """ - signed_url_res = self.drs.get_drs_signed_url(file=indexd_files["allowed"]) - self.fence.check_file_equals( - signed_url_res=signed_url_res.json(), - file_content="Hi Zac!\ncdis-data-client uploaded this!\n", - ) + to_test = ["allowed", "with_spaces", "with_spaces_encoded"] + for test_case in to_test: + signed_url_res = self.drs.get_drs_signed_url(file=indexd_files[test_case]) + self.fence.check_file_equals( + signed_url_res=signed_url_res.json(), + file_content="Hi Zac!\ncdis-data-client uploaded this!\n", + ) def test_get_drs_invalid_access_id(self): """