Esempio n. 1
0
    def test_create_file_conflict(self, mock_requests_post,
                                  mock_create_session, mock_get_link,
                                  mock_get_file):
        ingest_api = IngestApi(token_manager=self.token_manager)
        mock_get_file.return_value = {
            '_embedded': {
                'files': [{
                    'content': {
                        'attr': 'value'
                    },
                    '_links': {
                        'self': {
                            'href': 'existing-file-url'
                        }
                    }
                }]
            }
        }

        mock_get_link.return_value = 'url/sub/id/files'
        mock_create_session.return_value.patch.return_value.json.return_value = 'response'
        mock_requests_post.return_value.status_code = requests.codes.conflict
        api_url = mock_ingest_api_url
        submission_id = mock_submission_envelope_id
        submission_url = api_url + "/" + submission_id
        filename = "mock-filename"

        file = ingest_api.create_file(submission_url, filename,
                                      {'attr2': 'value2'})
        self.assertEqual(file, 'response')
        mock_requests_post.assert_called_once()
        mock_create_session.return_value.patch \
            .assert_called_with('existing-file-url',
                                headers={'Content-type': 'application/json', 'Authorization': 'Bearer token'},
                                json={'content': {'attr': 'value', 'attr2': 'value2'}})
Esempio n. 2
0
    def test_create_file(self, mock_requests_post, mock_create_session,
                         mock_get_link):
        ingest_api = IngestApi(token_manager=self.token_manager)
        mock_get_link.return_value = 'url/sub/id/files'
        mock_requests_post.return_value.json.return_value = {
            'uuid': 'file-uuid'
        }
        mock_requests_post.return_value.status_code = requests.codes.ok
        api_url = mock_ingest_api_url
        submission_id = mock_submission_envelope_id
        submission_url = api_url + "/" + submission_id
        filename = "mock-filename"

        file = ingest_api.create_file(submission_url, filename, {})
        self.assertEqual(file, {'uuid': 'file-uuid'})
        mock_requests_post.assert_called_with('url/sub/id/files',
                                              headers={
                                                  'Content-type':
                                                  'application/json',
                                                  'Authorization':
                                                  'Bearer token'
                                              },
                                              json={
                                                  'fileName': 'mock-filename',
                                                  'content': {}
                                              },
                                              params={})