def test_ssl_error(requests): """Test HTTP error.""" requests.get.side_effect = ssl.SSLError("The read operation timed out.") c = get_client() with pytest.raises(DataCiteHttpError): c.doi_get("10.1234/foo.bar")
def delete_item(item_id): rdb_client = get_client(wf) try: rdb_client.delete_bookmark(item_id) return 'Link deleted' except ServerNotFoundError: return 'Connection error'
def test_connection_error(requests): """Test connection error.""" requests.get.side_effect = ConnectionError() c = get_client() with pytest.raises(DataCiteHttpError): c.doi_get("10.1234/foo.bar")
def test_connection_error(requests): """Test connection error.""" requests.get.side_effect = ConnectionError() c = get_client() with pytest.raises(DataCiteHttpError): c.doi_get("10.1234/foo.bar")
def test_ssl_error(requests): """Test HTTP error.""" requests.get.side_effect = ssl.SSLError("The read operation timed out.") c = get_client() with pytest.raises(DataCiteHttpError): c.doi_get("10.1234/foo.bar")
def find_client(self, cedula): client_data = helpers.get_client(cedula) #Show colored TITLES print(Fore.GREEN + "\n", "CLIENT INFORMATION".center(80)) print(Style.RESET_ALL) for client in client_data: print(*client, "\n", sep=', ')
def test_metadata_delete_200(): """Test.""" responses.add( responses.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="OK", status=200, ) d = get_client() assert "OK" == d.metadata_delete("10.1234/example")
def test_doi_get_403(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.doi_get("10.1234/1")
def test_doi_get_200(): """Test.""" url = "http://example.org" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body=url, status=200, ) d = get_client() assert url == d.doi_get("10.1234/1")
def test_doi_get_500(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.doi_get("10.1234/1")
def test_doi_get_410(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Gone", status=410, ) d = get_client() with pytest.raises(DataCiteGoneError): d.doi_get("10.1234/1")
def test_metadata_get_401(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}metadata/10.1234/1".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.metadata_get("10.1234/1")
def test_doi_get_404(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Not Found", status=404, ) d = get_client() with pytest.raises(DataCiteNotFoundError): d.doi_get("10.1234/1")
def test_metadata_get_401(): """Test.""" responses.add( responses.GET, "{0}metadata/10.1234/1".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.metadata_get("10.1234/1")
def test_doi_post_401(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.doi_post("10.1234/1", "http://example.org")
def test_metadata_delete_404(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="Not found", status=404, ) d = get_client() with pytest.raises(DataCiteNotFoundError): d.metadata_delete("10.1234/example")
def test_media_post_500(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}media/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.media_post("10.1234/1", {'text/plain': 'http://example.org'})
def test_metadata_delete_200(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="OK", status=200, ) d = get_client(test_mode=True) assert "OK" == d.metadata_delete("10.1234/example") assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_media_post_403(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}media/10.1234/1".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.media_post("10.1234/1", {'text/plain': 'http://example.org'})
def test_metadata_delete_200(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="OK", status=200, ) d = get_client(test_mode=True) assert "OK" == d.metadata_delete("10.1234/example") assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_metadata_delete_500(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.metadata_delete("10.1234/example")
def test_doi_post_500(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.doi_post("10.1234/1", "http://example.org")
def test_metadata_post_500(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}metadata".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.metadata_post("<resource></resource>")
def test_metadata_post_403(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}metadata".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.metadata_post("<resource></resource>")
def test_metadata_post_401(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}metadata".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.metadata_post("notxml")
def test_doi_post_400(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Bad Request", status=400, ) d = get_client() with pytest.raises(DataCiteBadRequestError): d.doi_post("baddoi", "http://invaliddomain.org")
def test_metadata_delete_500(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.metadata_delete("10.1234/example")
def test_doi_post_403(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.doi_post("10.1234/1", "http://example.org")
def test_doi_get_500(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.doi_get("10.1234/1")
def test_media_post_400(): """Test.""" responses.add( responses.POST, "{0}media/10.1234/1".format(APIURL), body="Bad Request", status=400, ) d = get_client() with pytest.raises(DataCiteBadRequestError): d.media_post("10.1234/1", {'text/plain': 'http://invaliddomain.org'})
def test_metadata_get_410(): """Test.""" responses.add( responses.GET, "{0}metadata/10.1234/1".format(APIURL), body="Gone", status=410, ) d = get_client() with pytest.raises(DataCiteGoneError): d.metadata_get("10.1234/1")
def test_metadata_get_404(): """Test.""" responses.add( responses.GET, "{0}metadata/10.1234/1".format(APIURL), body="Not Found", status=404, ) d = get_client() with pytest.raises(DataCiteNotFoundError): d.metadata_get("10.1234/1")
def test_metadata_get_500(): """Test.""" responses.add( responses.GET, "{0}metadata/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.metadata_get("10.1234/1")
def test_metadata_get_403(): """Test.""" responses.add( responses.GET, "{0}metadata/10.1234/1".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.metadata_get("10.1234/1")
def test_doi_post_403(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.doi_post("10.1234/1", "http://example.org")
def test_doi_post_400(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Bad Request", status=400, ) d = get_client() with pytest.raises(DataCiteBadRequestError): d.doi_post("baddoi", "http://invaliddomain.org")
def test_doi_get_410(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Gone", status=410, ) d = get_client() with pytest.raises(DataCiteGoneError): d.doi_get("10.1234/1")
def test_metadata_post_400(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}metadata".format(APIURL), body="Bad Request", status=400, ) d = get_client() with pytest.raises(DataCiteBadRequestError): d.metadata_post("notxml")
def test_doi_post_401(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.doi_post("10.1234/1", "http://example.org")
def test_media_get_403(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}media/10.1234/1".format(APIURL), body="login problem or dataset belongs to another party", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.media_get("10.1234/1")
def test_doi_get_403(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.doi_get("10.1234/1")
def test_doi_get_200(): """Test.""" url = "http://example.org" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body=url, status=200, ) d = get_client() assert url == d.doi_get("10.1234/1")
def test_doi_post_500(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.doi_post("10.1234/1", "http://example.org")
def test_media_get_403(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}media/10.1234/1".format(APIURL), body="login problem or dataset belongs to another party", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.media_get("10.1234/1")
def test_media_get_404(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}media/10.1234/1".format(APIURL), body="Not Found", status=404, ) d = get_client() with pytest.raises(DataCiteNotFoundError): d.media_get("10.1234/1")
def test_media_post_500(): """Test.""" responses.add( responses.POST, "{0}media/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client() with pytest.raises(DataCiteServerError): d.media_post("10.1234/1", {'text/plain': 'http://example.org'})
def test_media_post_403(): """Test.""" responses.add( responses.POST, "{0}media/10.1234/1".format(APIURL), body="Forbidden", status=403, ) d = get_client() with pytest.raises(DataCiteForbiddenError): d.media_post("10.1234/1", {'text/plain': 'http://example.org'})
def test_media_post_401(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}media/10.1234/1".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.media_post("10.1234/1", {'text/plain': 'http://example.org'})
def test_metadata_delete_404(): """Test.""" httpretty.register_uri( httpretty.DELETE, "{0}metadata/10.1234/example".format(APIURL), body="Not found", status=404, ) d = get_client() with pytest.raises(DataCiteNotFoundError): d.metadata_delete("10.1234/example")
def test_doi_get_401(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="Unauthorized", status=401, ) d = get_client() with pytest.raises(DataCiteUnauthorizedError): d.doi_get("10.1234/1")
def test_metadata_get_200(): """Test.""" doc = "<resource></resource>" httpretty.register_uri( httpretty.GET, "{0}metadata/10.1234/1".format(APIURL), body=doc, status=200, content_type="application/xml", ) d = get_client() assert doc == d.metadata_get("10.1234/1")
def test_media_post_400(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}media/10.1234/1".format(APIURL), body="Bad Request", status=400, ) d = get_client(test_mode=True) with pytest.raises(DataCiteBadRequestError): d.media_post("10.1234/1", {'text/plain': 'http://invaliddomain.org'}) assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_media_get_500(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}media/10.1234/1".format(APIURL), body="Internal Server Error", status=500, ) d = get_client(test_mode=True) with pytest.raises(DataCiteServerError): d.media_get("10.1234/1") assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_media_get_200(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}media/10.1234/1".format(APIURL), body="application/json=http://example.org/json\r\n" "text/plain=http://example.org/text\r\n", status=200, ) d = get_client() assert d.media_get("10.1234/1") == \ {u'application/json': u'http://example.org/json', u'text/plain': u'http://example.org/text'}
def test_doi_post_412(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="Precondition failed", status=412, ) d = get_client(test_mode=True) with pytest.raises(DataCitePreconditionError): d.doi_post("10.1234/1", "http://example.org") assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_doi_get_204(): """Test.""" httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body="No Content", status=204, ) d = get_client(test_mode=True) with pytest.raises(DataCiteNoContentError): d.doi_get("10.1234/1") assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_timeout(): """Test timeouts.""" def callback(request, uri, headers): raise socket.timeout("timeout") httpretty.register_uri( httpretty.GET, "{0}doi/10.1234/1".format(APIURL), body=callback, ) d = get_client(timeout=0.1) with pytest.raises(DataCiteHttpError): d.doi_get("10.1234/1")