def test_category_with_no_term(): crawled_feed, crawler_hints = parse_atom(category_with_no_term, None) assert not crawled_feed.categories
def test_atom_without_id(): url = 'http://example.com/atom.xml' feed, _ = parse_atom(atom_without_id, url) assert feed.id == url feed, _ = parse_atom(atom_without_id2, url) assert feed.id == url
def test_atom_parser(): url = 'http://vio.atomtest.com/feed/atom' crawled_feed, _ = parse_atom(atom_xml, url) feed = read(Feed, write(crawled_feed, as_bytes=True)) title = crawled_feed.title assert title.type == feed.title.type assert title.value == feed.title.value subtitle = crawled_feed.subtitle assert subtitle.type == feed.subtitle.type assert subtitle.value == feed.subtitle.value links = crawled_feed.links assert links[0].relation == feed.links[0].relation assert links[0].mimetype == feed.links[0].mimetype assert links[0].uri == feed.links[0].uri assert links[1].relation == feed.links[1].relation assert links[1].mimetype == feed.links[1].mimetype assert links[1].uri == feed.links[1].uri authors = crawled_feed.authors assert authors[0].name == feed.authors[0].name assert authors[0].email == feed.authors[0].email categories = crawled_feed.categories assert categories[0].term == feed.categories[0].term contributors = crawled_feed.contributors assert contributors[0].name == feed.contributors[0].name generator = crawled_feed.generator assert generator.uri == feed.generator.uri assert generator.value == feed.generator.value icon = crawled_feed.icon assert icon == feed.icon logo = crawled_feed.logo assert logo == feed.logo rights = crawled_feed.rights assert rights.type == feed.rights.type assert rights.value == feed.rights.value updated_at = crawled_feed.updated_at assert updated_at == feed.updated_at entries = crawled_feed.entries assert entries[0].id == feed.entries[0].id assert entries[0].authors[0].name == feed.entries[0].authors[0].name assert entries[0].title.type == feed.entries[0].title.type assert entries[0].title.value == feed.entries[0].title.value assert entries[0].links[0].relation == feed.entries[0].links[0].relation assert entries[0].links[0].uri == feed.entries[0].links[0].uri assert entries[0].updated_at == feed.entries[0].updated_at assert entries[0].published_at == feed.entries[0].published_at assert entries[0].categories[0].scheme_uri == \ feed.entries[0].categories[0].scheme_uri assert entries[0].categories[0].term == feed.entries[0].categories[0].term assert entries[0].categories[1].scheme_uri == \ feed.entries[0].categories[1].scheme_uri assert entries[0].categories[1].term == feed.entries[0].categories[1].term assert entries[0].content.type == feed.entries[0].content.type assert entries[0].content.value == feed.entries[0].content.value assert entries[0].content.source_uri == feed.entries[0].content.source_uri assert entries[0].summary.type == feed.entries[0].summary.type assert entries[0].summary.value == feed.entries[0].summary.value assert entries[1].id == feed.entries[1].id assert entries[1].authors[0].name == feed.entries[1].authors[0].name assert entries[1].title.type == feed.entries[1].title.type assert entries[1].title.value == feed.entries[1].title.value assert entries[1].updated_at == feed.entries[1].updated_at assert entries[2].id == feed.entries[2].id assert entries[2].authors[0].name == feed.entries[2].authors[0].name assert entries[2].title.type == feed.entries[2].title.type assert entries[2].title.value == feed.entries[2].title.value assert entries[2].updated_at == feed.entries[2].updated_at source = entries[2].source feed_source = feed.entries[2].source assert source.authors[0].name == feed_source.authors[0].name assert source.categories[0].term == feed_source.categories[0].term assert source.contributors[0].name == feed_source.contributors[0].name assert source.links[0] == feed_source.links[0] assert source.id == feed_source.id assert source.generator == feed_source.generator assert source.icon == feed_source.icon assert source.logo == feed_source.logo assert source.rights == feed_source.rights assert source.subtitle == feed_source.subtitle