def test_metadata_post_201(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}metadata".format(APIURL), body="CREATED", status=201, location="http://example.org", ) d = get_client(test_mode=True) assert "CREATED" == d.metadata_post("<resource></resource>") assert httpretty.last_request().headers['content-type'] == \ "application/xml;charset=UTF-8" assert httpretty.last_request().querystring['testMode'] == ["1"]
def test_doi_post_200(): """Test.""" doi = "10.1234/1" url = "http://example.org" httpretty.register_uri( httpretty.POST, "{0}doi".format(APIURL), body="CREATED", status=201, ) d = get_client() assert "CREATED" == d.doi_post(doi, url) assert httpretty.last_request().headers['content-type'] == \ "text/plain;charset=UTF-8" assert httpretty.last_request().body == \ b("doi={0}\r\nurl={1}".format(doi, url))
def test_media_post_200(): """Test.""" httpretty.register_uri( httpretty.POST, "{0}media/10.1234/1".format(APIURL), body="OK", status=200, ) d = get_client() assert "OK" == d.media_post( "10.1234/1", { 'text/plain': 'http://example.org/text', 'application/json': 'http://example.org/json', }) assert httpretty.last_request().headers['content-type'] == \ "text/plain;charset=UTF-8" lines = filter(lambda x: x, httpretty.last_request().body.splitlines()) assert len(list(lines)) == 2
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_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_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_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_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"]