def test_expand_uri_document_uris(self, db_session): document = Document(document_uris=[ DocumentURI(uri='http://foo.com/', claimant='http://bar.com'), DocumentURI(uri='http://bar.com/', claimant='http://bar.com'), ]) db_session.add(document) db_session.flush() assert storage.expand_uri(db_session, 'http://foo.com/') == [ 'http://foo.com/', 'http://bar.com/' ]
def _expand_uris(session, clause): uris = clause['value'] expanded = set() if not isinstance(uris, list): uris = [uris] for item in uris: expanded.update(storage.expand_uri(session, item)) clause['value'] = list(expanded)
def test_expand_uri_document_doesnt_expand_canonical_uris(self, db_session): document = Document(document_uris=[ DocumentURI(uri='http://foo.com/', claimant='http://example.com'), DocumentURI(uri='http://bar.com/', claimant='http://example.com'), DocumentURI(uri='http://example.com/', type='rel-canonical', claimant='http://example.com'), ]) db_session.add(document) db_session.flush() assert storage.expand_uri(db_session, "http://example.com/") == [ "http://example.com/"]
def __call__(self, params): if 'uri' not in params: return None query_uris = [v for k, v in params.items() if k == 'uri'] del params['uri'] uris = set() for query_uri in query_uris: expanded = storage.expand_uri(self.request.db, query_uri) us = [uri.normalize(u) for u in expanded] uris.update(us) return {"terms": {"target.scope": list(uris)}}
def test_expand_uri_no_document(self, db_session): actual = storage.expand_uri(db_session, 'http://example.com/') assert actual == ['http://example.com/']