Ejemplo n.º 1
0
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"]
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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"]
Ejemplo n.º 5
0
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"]
Ejemplo n.º 6
0
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"]
Ejemplo n.º 7
0
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"]
Ejemplo n.º 8
0
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"]