def test_asdict_does_not_render_other_meta_than_title(self, db_session): document = models.Document(meta=[ models.DocumentMeta( type='title', value=['Foo'], claimant='http://foo.com'), models.DocumentMeta(type='twitter.url', value=['http://foo.com'], claimant='http://foo.com'), models.DocumentMeta(type='facebook.title', value=['FB Title'], claimant='http://foo.com'), ]) db_session.add(document) db_session.flush() presenter = DocumentJSONPresenter(document) assert {'title': ['Foo']} == presenter.asdict()
def test_it_normalizes_document_meta_claimant(req): docmeta_1 = models.DocumentMeta(_claimant='http://example.org/', _claimant_normalized='http://example.org', type='title', value=['Test Title']) docmeta_2 = models.DocumentMeta(_claimant='http://example.net/', _claimant_normalized='http://example.net', type='title', value=['Test Title']) req.db.add(models.Document(meta=[docmeta_1, docmeta_2])) req.db.flush() normalize_uris.normalize_document_meta(req) assert docmeta_1.claimant_normalized == 'httpx://example.org' assert docmeta_2.claimant_normalized == 'httpx://example.net'
def test_it_deletes_duplicate_document_meta_objects(req): docmeta_1 = models.DocumentMeta(_claimant='http://example.org/', type='title', value=['Test Title']) docmeta_1._claimant_normalized = 'http://example.org' docmeta_2 = models.DocumentMeta(_claimant='https://example.org/', type='title', value=['Test Title']) docmeta_2._claimant_normalized = 'https://example.org' req.db.add_all([ models.Document(meta=[docmeta_1]), models.Document(meta=[docmeta_2]), ]) req.db.flush() normalize_uris.normalize_document_meta(req) assert req.db.query(models.DocumentMeta).count() == 1
def test_asdict(self, db_session): document = models.Document( document_uris=[ models.DocumentURI(uri='http://foo.com', claimant='http://foo.com'), models.DocumentURI(uri='http://foo.org', claimant='http://foo.com', type='rel-canonical') ], meta=[ models.DocumentMeta(type='title', value=['Foo'], claimant='http://foo.com') ]) db_session.add(document) db_session.flush() presenter = DocumentJSONPresenter(document) expected = {'title': ['Foo']} assert expected == presenter.asdict()