def test_whitespace_is_stripped_from_dois(self):
        for doi in (' foo ', 'doi: foo ', ' doi:foo ', ' doi: foo '):
            dc_dict = {'identifier': [doi]}

            document_uris = parse_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 = parse_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 = parse_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])
Esempio n. 4
0
    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 = parse_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': '',
            }
Esempio n. 5
0
    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 = parse_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': '',
            }