def test_it_ignores_invalid_dois(self): """If `doi_uri_from_string` returns `None`, the identifier is ignored.""" dc_dict = {"identifier": ["doi:"]} document_uris = document_claims.document_uris_from_dc( dc_dict, claimant="http://example.com/example.html" ) assert len(document_uris) == 0
def test_whitespace_is_stripped_from_dois(self): for doi in (' foo ', 'doi: foo ', ' doi:foo ', ' doi: foo '): dc_dict = {'identifier': [doi]} document_uris = document_claims.document_uris_from_dc( dc_dict, claimant='http://example.com/example.html', ) assert [d['uri'] for d in document_uris] == ['doi:foo']
def test_whitespace_only_dois_are_ignored(self): for doi in (' ', 'doi: '): dc_dict = {'identifier': [doi]} document_uris = document_claims.document_uris_from_dc( dc_dict, claimant='http://example.com/example.html', ) assert document_uris == []
def test_doi_is_prepended_to_dc_identifiers(self): """If a dc identifier doesn't begin with 'doi:' it is prepended.""" dc_dict = {'identifier': ['10.10.1038/nphys1170']} document_uris = document_claims.document_uris_from_dc( dc_dict, claimant='http://example.com/example.html', ) expected_uri = 'doi:' + dc_dict['identifier'][0] one([d for d in document_uris if d.get('uri') == expected_uri])
def test_dc_identifiers_produce_dc_doi_document_uris(self): """Each 'identifier' list item in the 'dc' dict becomes a doc URI.""" dc_dict = { "identifier": [ "doi:10.1038/nphys1170", "doi:10.1002/0470841559.ch1", "doi:10.1594/PANGAEA.726855", ] } document_uris = document_claims.document_uris_from_dc( dc_dict, claimant="http://example.com/example.html") for doi in dc_dict["identifier"]: document_uri = one( [d for d in document_uris if d.get("uri") == doi]) assert document_uri == { "claimant": "http://example.com/example.html", "uri": doi, "type": "dc-doi", "content_type": "", }
def test_dc_identifiers_produce_dc_doi_document_uris(self): """Each 'identifier' list item in the 'dc' dict becomes a doc URI.""" dc_dict = { 'identifier': [ 'doi:10.1038/nphys1170', 'doi:10.1002/0470841559.ch1', 'doi:10.1594/PANGAEA.726855' ] } document_uris = document_claims.document_uris_from_dc( dc_dict, claimant='http://example.com/example.html', ) for doi in dc_dict['identifier']: document_uri = one( [d for d in document_uris if d.get('uri') == doi]) assert document_uri == { 'claimant': 'http://example.com/example.html', 'uri': doi, 'type': 'dc-doi', 'content_type': '', }
def test_dc_identifiers_produce_dc_doi_document_uris(self): """Each 'identifier' list item in the 'dc' dict becomes a doc URI.""" dc_dict = { 'identifier': [ 'doi:10.10.1038/nphys1170', 'doi:10.1002/0470841559.ch1', 'doi:10.1594/PANGAEA.726855' ] } document_uris = document_claims.document_uris_from_dc( dc_dict, claimant='http://example.com/example.html', ) for doi in dc_dict['identifier']: document_uri = one([d for d in document_uris if d.get('uri') == doi]) assert document_uri == { 'claimant': 'http://example.com/example.html', 'uri': doi, 'type': 'dc-doi', 'content_type': '', }