def test_temporary_file_upload_login_required(): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', status_code=401) c = Client() c._session.cookies['csrftoken'] = 'abcd' with pytest.raises(LoginRequiredError): c.upload_temporary_file(StringIO('foo'))
def test_temporary_file_upload_login_required(): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', status_code=401) c = Client() c._session.cookies['csrftoken'] = 'abcd' with pytest.raises(LoginRequiredError): c.upload_temporary_file(StringIO('foo'))
def test_temporary_file_upload(tmp_file_data): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', text=json.dumps({'uuid': '1234'})) m.get('https://databasin.org/api/v1/uploads/temporary-files/1234/', text=json.dumps(tmp_file_data)) c = Client() c._session.cookies['csrftoken'] = 'abcd' tmp_file = c.upload_temporary_file(StringIO('foo')) assert tmp_file.uuid == '1234' assert tmp_file.filename == '' assert m.call_count == 2
def test_temporary_file_upload_from_path(tmp_file_data): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', text=json.dumps({'uuid': '1234'})) m.get('https://databasin.org/api/v1/uploads/temporary-files/1234/', text=json.dumps(tmp_file_data)) with mock.patch.object(builtins, 'open', mock.mock_open(read_data='foo')) as open_mock: c = Client() c._session.cookies['csrftoken'] = 'abcd' tmp_file = c.upload_temporary_file('/path/to/foo.txt') assert tmp_file.uuid == '1234' open_mock.assert_called_once_with('/path/to/foo.txt', 'rb') assert 'filename="foo.txt"' in str(m.request_history[0].body)
def test_temporary_file_upload(tmp_file_data): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', text=json.dumps({'uuid': '1234'})) m.get('https://databasin.org/api/v1/uploads/temporary-files/1234/', text=json.dumps(tmp_file_data)) c = Client() c._session.cookies['csrftoken'] = 'abcd' tmp_file = c.upload_temporary_file(StringIO('foo')) assert tmp_file.uuid == '1234' assert tmp_file.filename == '' assert m.call_count == 2
def test_temporary_file_upload_from_path(tmp_file_data): with requests_mock.mock() as m: m.post('https://databasin.org/uploads/upload-temporary-file/', text=json.dumps({'uuid': '1234'})) m.get('https://databasin.org/api/v1/uploads/temporary-files/1234/', text=json.dumps(tmp_file_data)) with mock.patch.object(builtins, 'open', mock.mock_open(read_data='foo')) as open_mock: c = Client() c._session.cookies['csrftoken'] = 'abcd' tmp_file = c.upload_temporary_file('/path/to/foo.txt') assert tmp_file.uuid == '1234' open_mock.assert_called_once_with('/path/to/foo.txt', 'rb') assert 'filename="foo.txt"' in str(m.request_history[0].body)