def test_create_file(self): api_url = mock_ingest_api_url submission_id = mock_submission_envelope_id submission_url = api_url + "/" + submission_id filename = "mock-filename" # mock the load_root() with patch('ingest.api.ingestapi.IngestApi.get_root_url' ) as mock_load_root: root_links = dict() root_links["file"] = {"href": api_url + "/files"} root_links["submissionEnvelopes"] = { "href": api_url + "/submissionEnvelopes" } mock_load_root.return_value = root_links ingest_api = IngestApi(api_url) ingest_api.submission_links[submission_url] = { 'files': { 'href': submission_url + "/files" } } with patch( 'ingest.api.ingestapi.optimistic_session') as mock_session: mock_session.return_value = MagicMock() ingest_api.createFile(submission_url, filename, "{}") mock_session.assert_called_once_with( f'{submission_url}/files/{filename}')
def test_create_file(self): api_url = mock_ingest_api_url submission_id = mock_submission_envelope_id submission_url = api_url + "/" + submission_id filename = "mock-filename" file_create_url = submission_url + "/files/" + filename # mock the load_root() with patch('ingest.api.ingestapi.IngestApi.get_root_url' ) as mock_load_root: root_links = dict() root_links["file"] = {"href": api_url + "/files"} root_links["submissionEnvelopes"] = { "href": api_url + "/submissionEnvelopes" } mock_load_root.return_value = root_links ingestapi = IngestApi(api_url) ingestapi.submission_links[submission_url] = { 'files': { 'href': submission_url + "/files" } } with patch('ingest.api.ingestapi.requests.post') as mock_post: def mock_post_side_effect(*args, **kwargs): mock_response = {} mock_response['json'] = lambda _self: {} mock_response['text'] = "{}" mock_response['raise_for_status'] = MagicMock() if args[0] == file_create_url: mock_response['status_code'] = 201 else: mock_response['status_code'] = 404 return type("MockResponse", (), mock_response)() mock_post.side_effect = mock_post_side_effect ingestapi.createFile(submission_url, filename, "{}")