From f11a3e92922fe184cf501c7b79abf4dcebdbf995 Mon Sep 17 00:00:00 2001 From: April Shen Date: Tue, 12 Mar 2024 12:58:22 +0000 Subject: [PATCH 1/2] fix upload --- eva_sub_cli/submit.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/eva_sub_cli/submit.py b/eva_sub_cli/submit.py index a57717a..557f461 100644 --- a/eva_sub_cli/submit.py +++ b/eva_sub_cli/submit.py @@ -1,6 +1,5 @@ #!/usr/bin/env python import os -from urllib.parse import urljoin import requests from ebi_eva_common_pyutils.config import WritableConfig @@ -15,7 +14,7 @@ SUB_CLI_CONFIG_KEY_SUBMISSION_UPLOAD_URL = "submission_upload_url" SUB_CLI_CONFIG_KEY_COMPLETE = "submission_complete" -SUBMISSION_WS_URL = "https://www.ebi.ac.uk/eva/webservices/submission-ws/submission/" +SUBMISSION_WS_URL = "https://www.ebi.ac.uk/eva/webservices/submission-ws/v1/" class StudySubmitter(AppLogger): @@ -51,11 +50,11 @@ def _get_submission_ws_url(self): @property def submission_initiate_url(self): - return self._get_submission_ws_url() + 'submission/initiate' + return os.path.join(self._get_submission_ws_url(), 'submission/initiate') @property def submission_uploaded_url(self): - return self._get_submission_ws_url() + 'submission/{submissionId}/uploaded' + return os.path.join(self._get_submission_ws_url(), 'submission/{submissionId}/uploaded') def update_config_with_submission_id_and_upload_url(self, submission_id, upload_url): self.sub_config.set(SUB_CLI_CONFIG_KEY_SUBMISSION_ID, value=submission_id) @@ -76,7 +75,7 @@ def _upload_submission(self): def _upload_file(self, submission_upload_url, input_file): base_name = os.path.basename(input_file) self.debug(f'Transfer {base_name} to EVA FTP') - r = requests.put(urljoin(submission_upload_url, base_name), data=open(input_file, 'rb')) + r = requests.put(os.path.join(submission_upload_url, base_name), data=open(input_file, 'rb')) r.raise_for_status() self.debug(f'Upload of {base_name} completed') From a735c169f5ca4a14c04236fa5e714161c65c1236 Mon Sep 17 00:00:00 2001 From: April Shen Date: Tue, 12 Mar 2024 13:14:51 +0000 Subject: [PATCH 2/2] fix test --- tests/test_submit.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_submit.py b/tests/test_submit.py index 3671ccd..41a5771 100644 --- a/tests/test_submit.py +++ b/tests/test_submit.py @@ -9,7 +9,8 @@ from eva_sub_cli import SUB_CLI_CONFIG_FILE from eva_sub_cli.utils import is_submission_dir_writable from eva_sub_cli.validators.validator import READY_FOR_SUBMISSION_TO_EVA -from eva_sub_cli.submit import StudySubmitter, SUB_CLI_CONFIG_KEY_SUBMISSION_ID, SUB_CLI_CONFIG_KEY_SUBMISSION_UPLOAD_URL +from eva_sub_cli.submit import StudySubmitter, SUB_CLI_CONFIG_KEY_SUBMISSION_ID, \ + SUB_CLI_CONFIG_KEY_SUBMISSION_UPLOAD_URL, SUBMISSION_WS_URL class TestSubmit(unittest.TestCase): @@ -49,11 +50,11 @@ def test_submit(self): self.submitter.sub_config.set(READY_FOR_SUBMISSION_TO_EVA, value=True) self.submitter.submit() mock_post.assert_called_once_with( - 'https://www.ebi.ac.uk/eva/webservices/submission-ws/submission/submission/initiate', + os.path.join(SUBMISSION_WS_URL, 'submission/initiate'), headers={'Accept': 'application/hal+json', 'Authorization': 'Bearer a token'} ) mock_put.assert_called_once_with( - 'https://www.ebi.ac.uk/eva/webservices/submission-ws/submission/submission/mock_submission_id/uploaded', + os.path.join(SUBMISSION_WS_URL, 'submission/mock_submission_id/uploaded'), headers={'Accept': 'application/hal+json', 'Authorization': 'Bearer a token'} ) print(mock_put.mock_calls)