def test_calling_document_uris_from_links_when_no_links( self, document_uris_from_links): document_data = {} # No 'link' key. claimant = "http://localhost:5000/docs/help" document_claims.document_uris_from_data(document_data=document_data, claimant=claimant) document_uris_from_links.assert_called_once_with([], claimant)
def test_calling_document_uris_from_highwire_doi_when_no_highwire( self, document_uris_from_highwire_doi): document_data = {} # No 'highwire' key. claimant = "http://localhost:5000/docs/help" document_claims.document_uris_from_data(document_data=document_data, claimant=claimant) document_uris_from_highwire_doi.assert_called_once_with({}, claimant)
def test_calling_document_uris_from_dc_when_no_dc(self, document_uris_from_dc): document_data = {} # No 'dc' key. claimant = "http://localhost:5000/docs/help" document_claims.document_uris_from_data(document_data=document_data, claimant=claimant) document_uris_from_dc.assert_called_once_with({}, claimant)
def test_calling_document_uris_from_dc_when_no_dc(self, document_uris_from_dc): document_data = {} # No 'dc' key. claimant = 'http://localhost:5000/docs/help' document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_dc.assert_called_once_with( {}, claimant)
def test_calling_document_uris_from_links_when_no_links( self, document_uris_from_links): document_data = {} # No 'link' key. claimant = 'http://localhost:5000/docs/help' document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_links.assert_called_once_with( [], claimant)
def test_calling_document_uris_from_highwire_doi_when_no_highwire( self, document_uris_from_highwire_doi): document_data = {} # No 'highwire' key. claimant = 'http://localhost:5000/docs/help' document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_highwire_doi.assert_called_once_with( {}, claimant)
def test_it_gets_documents_uris_from_highwire_pdf( self, document_uris_from_highwire_pdf): document_data = { 'highwire': { 'pdf': [ 'pdf_1', 'pdf_2', 'pdf_3', ] } } claimant = 'http://localhost:5000/docs/help' document_uris_from_highwire_pdf.return_value = [{ 'uri': 'uri_1' }, { 'uri': 'uri_2' }, { 'uri': 'uri_3' }] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_highwire_pdf.assert_called_once_with( document_data['highwire'], claimant) for document_uri in document_uris_from_highwire_pdf.return_value: assert document_uri in document_uris
def test_it_gets_documents_uris_from_dc(self, document_uris_from_dc): document_data = { 'dc': { 'identifier': [ 'doi_1', 'doi_2', 'doi_3', ] } } claimant = 'http://localhost:5000/docs/help' document_uris_from_dc.return_value = [{ 'uri': 'uri_1' }, { 'uri': 'uri_2' }, { 'uri': 'uri_3' }] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_dc.assert_called_once_with(document_data['dc'], claimant) for document_uri in document_uris_from_dc.return_value: assert document_uri in document_uris
def test_it_gets_self_claim_document_uris(self, document_uri_self_claim): claimant = 'http://example.com/claimant' document_uris = document_claims.document_uris_from_data({}, claimant) document_uri_self_claim.assert_called_once_with(claimant) assert document_uri_self_claim.return_value in document_uris
def test_it_gets_documents_uris_from_highwire_doi( self, document_uris_from_highwire_doi): document_data = { 'highwire': { 'doi': [ 'doi_1', 'doi_2', 'doi_3', ] } } claimant = 'http://localhost:5000/docs/help' document_uris_from_highwire_doi.return_value = [ {'uri': 'uri_1'}, {'uri': 'uri_2'}, {'uri': 'uri_3'}] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_highwire_doi.assert_called_once_with( document_data['highwire'], claimant) for document_uri in document_uris_from_highwire_doi.return_value: assert document_uri in document_uris
def test_it_gets_document_uris_from_links(self, document_uris_from_links): document_data = { 'link': [ # In production these would be link dicts not strings. 'link_dict_1', 'link_dict_2', 'link_dict_3', ] } claimant = 'http://localhost:5000/docs/help' document_uris_from_links.return_value = [{ 'uri': 'uri_1' }, { 'uri': 'uri_2' }, { 'uri': 'uri_3' }] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_links.assert_called_once_with( document_data['link'], claimant) for document_uri in document_uris_from_links.return_value: assert document_uri in document_uris
def test_it_gets_document_uris_from_links(self, document_uris_from_links): document_data = { "link": [ # In production these would be link dicts not strings. "link_dict_1", "link_dict_2", "link_dict_3", ] } claimant = "http://localhost:5000/docs/help" document_uris_from_links.return_value = [ { "uri": "uri_1" }, { "uri": "uri_2" }, { "uri": "uri_3" }, ] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant) document_uris_from_links.assert_called_once_with( document_data["link"], claimant) for document_uri in document_uris_from_links.return_value: assert document_uri in document_uris
def test_it_gets_self_claim_document_uris(self, document_uri_self_claim): claimant = 'http://example.com/claimant' document_uris = document_claims.document_uris_from_data( {}, claimant) document_uri_self_claim.assert_called_once_with(claimant) assert document_uri_self_claim.return_value in document_uris
def test_it_ignores_whitespace_only_self_claim_uris( self, document_uri_self_claim): for uri in (' ', '\n ', '\r\n', ' \t'): document_uri_self_claim.return_value = {'uri': uri} document_uris = document_claims.document_uris_from_data( {}, 'http://example.com/claimant') assert document_uris == []
def test_it_ignores_whitespace_only_self_claim_uris( self, document_uri_self_claim): for uri in (" ", "\n ", "\r\n", " \t"): document_uri_self_claim.return_value = {"uri": uri} document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant") assert document_uris == []
def test_it_strips_whitespace_from_self_claim_uris( self, document_uris_from_links, document_uri_self_claim): for uri in (' self_claim', 'self_claim ', ' self_claim '): document_uris_from_links.return_value = [] document_uri_self_claim.return_value = {'uri': uri} document_uris = document_claims.document_uris_from_data( {}, 'http://example.com/claimant') assert document_uris == [{'uri': uri.strip()}]
def test_it_strips_whitespace_from_self_claim_uris( self, document_uris_from_links, document_uri_self_claim): for uri in (" self_claim", "self_claim ", " self_claim "): document_uris_from_links.return_value = [] document_uri_self_claim.return_value = {"uri": uri} document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant") assert document_uris == [{"uri": uri.strip()}]
def test_it_strips_whitespace_from_uris( self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim, matchers, ): document_uris_from_links.return_value = [ {"uri": " from_link_1"}, {"uri": "from_link_2 "}, {"uri": " from_link_3 "}, ] document_uris_from_highwire_pdf.return_value = [ {"uri": " highwire_1"}, {"uri": "highwire_2 "}, {"uri": " highwire_3 "}, ] document_uris_from_highwire_doi.return_value = [ {"uri": " doi_1"}, {"uri": "doi_2 "}, {"uri": " doi_3 "}, ] document_uris_from_dc.return_value = [ {"uri": " dc_1"}, {"uri": "dc_2 "}, {"uri": " dc_3 "}, ] document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant" ) assert document_uris == matchers.UnorderedList( [ {"uri": "from_link_1"}, {"uri": "from_link_2"}, {"uri": "from_link_3"}, {"uri": "highwire_1"}, {"uri": "highwire_2"}, {"uri": "highwire_3"}, {"uri": "doi_1"}, {"uri": "doi_2"}, {"uri": "doi_3"}, {"uri": "dc_1"}, {"uri": "dc_2"}, {"uri": "dc_3"}, document_uri_self_claim.return_value, ] )
def test_it_ignores_empty_string_uris(self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim): document_uris_from_links.return_value = [{'uri': ''}] document_uris_from_highwire_pdf.return_value = [{'uri': ''}] document_uris_from_highwire_doi.return_value = [{'uri': ''}] document_uris_from_dc.return_value = [{'uri': ''}] document_uri_self_claim.return_value = {'uri': ''} document_uris = document_claims.document_uris_from_data( {}, 'http://example.com/claimant') assert document_uris == []
def test_it_ignores_whitespace_only_uris(self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim): uris = [' ', '\n ', '\r\n', ' \t'] document_uris_from_links.return_value = [{'uri': u} for u in uris] document_uris_from_highwire_pdf.return_value = [{'uri': u} for u in uris] document_uris_from_highwire_doi.return_value = [{'uri': u} for u in uris] document_uris_from_dc.return_value = [{'uri': u} for u in uris] document_uris = document_claims.document_uris_from_data( {}, 'http://example.com/claimant') assert document_uris == [document_uri_self_claim.return_value]
def test_it_gets_documents_uris_from_dc(self, document_uris_from_dc): document_data = {"dc": {"identifier": ["doi_1", "doi_2", "doi_3"]}} claimant = "http://localhost:5000/docs/help" document_uris_from_dc.return_value = [ {"uri": "uri_1"}, {"uri": "uri_2"}, {"uri": "uri_3"}, ] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant ) document_uris_from_dc.assert_called_once_with(document_data["dc"], claimant) for document_uri in document_uris_from_dc.return_value: assert document_uri in document_uris
def test_it_strips_whitespace_from_uris(self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim, matchers): document_uris_from_links.return_value = [ {'uri': ' from_link_1'}, {'uri': 'from_link_2 '}, {'uri': ' from_link_3 '} ] document_uris_from_highwire_pdf.return_value = [ {'uri': ' highwire_1'}, {'uri': 'highwire_2 '}, {'uri': ' highwire_3 '} ] document_uris_from_highwire_doi.return_value = [ {'uri': ' doi_1'}, {'uri': 'doi_2 '}, {'uri': ' doi_3 '} ] document_uris_from_dc.return_value = [ {'uri': ' dc_1'}, {'uri': 'dc_2 '}, {'uri': ' dc_3 '} ] document_uris = document_claims.document_uris_from_data( {}, 'http://example.com/claimant') assert document_uris == matchers.unordered_list([ {'uri': 'from_link_1'}, {'uri': 'from_link_2'}, {'uri': 'from_link_3'}, {'uri': 'highwire_1'}, {'uri': 'highwire_2'}, {'uri': 'highwire_3'}, {'uri': 'doi_1'}, {'uri': 'doi_2'}, {'uri': 'doi_3'}, {'uri': 'dc_1'}, {'uri': 'dc_2'}, {'uri': 'dc_3'}, document_uri_self_claim.return_value ])
def _document(document, claimant): """ Return document meta and document URI data from the given document dict. Transforms the "document" dict that the client posts into a convenient format for creating DocumentURI and DocumentMeta objects later. """ document = document or {} document_uri_dicts = document_claims.document_uris_from_data( copy.deepcopy(document), claimant=claimant) document_meta_dicts = document_claims.document_metas_from_data( copy.deepcopy(document), claimant=claimant) return { "document_uri_dicts": document_uri_dicts, "document_meta_dicts": document_meta_dicts, }
def test_it_ignores_null_uris( self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim, ): document_uris_from_links.return_value = [{"uri": None}] document_uris_from_highwire_pdf.return_value = [{"uri": None}] document_uris_from_highwire_doi.return_value = [{"uri": None}] document_uris_from_dc.return_value = [{"uri": None}] document_uri_self_claim.return_value = {"uri": None} document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant") assert document_uris == []
def test_it_ignores_whitespace_only_uris( self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim, ): uris = [" ", "\n ", "\r\n", " \t"] document_uris_from_links.return_value = [{"uri": u} for u in uris] document_uris_from_highwire_pdf.return_value = [{"uri": u} for u in uris] document_uris_from_highwire_doi.return_value = [{"uri": u} for u in uris] document_uris_from_dc.return_value = [{"uri": u} for u in uris] document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant" ) assert document_uris == [document_uri_self_claim.return_value]
def _document(document, claimant): """ Return document meta and document URI data from the given document dict. Transforms the "document" dict that the client posts into a convenient format for creating DocumentURI and DocumentMeta objects later. """ document = document or {} document_uri_dicts = document_claims.document_uris_from_data( copy.deepcopy(document), claimant=claimant ) document_meta_dicts = document_claims.document_metas_from_data( copy.deepcopy(document), claimant=claimant ) return { "document_uri_dicts": document_uri_dicts, "document_meta_dicts": document_meta_dicts, }
def test_it_gets_documents_uris_from_highwire_pdf( self, document_uris_from_highwire_pdf ): document_data = {"highwire": {"pdf": ["pdf_1", "pdf_2", "pdf_3"]}} claimant = "http://localhost:5000/docs/help" document_uris_from_highwire_pdf.return_value = [ {"uri": "uri_1"}, {"uri": "uri_2"}, {"uri": "uri_3"}, ] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant ) document_uris_from_highwire_pdf.assert_called_once_with( document_data["highwire"], claimant ) for document_uri in document_uris_from_highwire_pdf.return_value: assert document_uri in document_uris
def test_it_gets_document_uris_from_links(self, document_uris_from_links): document_data = { 'link': [ # In production these would be link dicts not strings. 'link_dict_1', 'link_dict_2', 'link_dict_3', ] } claimant = 'http://localhost:5000/docs/help' document_uris_from_links.return_value = [ {'uri': 'uri_1'}, {'uri': 'uri_2'}, {'uri': 'uri_3'}] document_uris = document_claims.document_uris_from_data( document_data=document_data, claimant=claimant, ) document_uris_from_links.assert_called_once_with( document_data['link'], claimant) for document_uri in document_uris_from_links.return_value: assert document_uri in document_uris
def test_it_strips_whitespace_from_uris( self, document_uris_from_links, document_uris_from_highwire_pdf, document_uris_from_highwire_doi, document_uris_from_dc, document_uri_self_claim, ): document_uris_from_links.return_value = [ { "uri": " from_link_1" }, { "uri": "from_link_2 " }, { "uri": " from_link_3 " }, ] document_uris_from_highwire_pdf.return_value = [ { "uri": " highwire_1" }, { "uri": "highwire_2 " }, { "uri": " highwire_3 " }, ] document_uris_from_highwire_doi.return_value = [ { "uri": " doi_1" }, { "uri": "doi_2 " }, { "uri": " doi_3 " }, ] document_uris_from_dc.return_value = [ { "uri": " dc_1" }, { "uri": "dc_2 " }, { "uri": " dc_3 " }, ] document_uris = document_claims.document_uris_from_data( {}, "http://example.com/claimant") assert (document_uris == Any.list.containing([ { "uri": "from_link_1" }, { "uri": "from_link_2" }, { "uri": "from_link_3" }, { "uri": "highwire_1" }, { "uri": "highwire_2" }, { "uri": "highwire_3" }, { "uri": "doi_1" }, { "uri": "doi_2" }, { "uri": "doi_3" }, { "uri": "dc_1" }, { "uri": "dc_2" }, { "uri": "dc_3" }, document_uri_self_claim.return_value, ]).only())