class NewznabTests(UrlTestCase): def setUp(self): set_and_drop() self.indexercom = Indexer(name="indexer.com") #self.indexercom.save() self.newznab1 = Bunch() self.newznab1.enabled = True self.newznab1.name = "indexer.com" self.newznab1.host = "https://indexer.com" self.newznab1.apikey = "apikeyindexer.com" self.newznab1.timeout = None self.newznab1.score = 0 self.newznab1.backend = "newznab" self.newznab1.search_ids = ["imdbid", "rid", "tvdbid"] self.newznab1.searchTypes = [] self.n1 = NewzNab(self.newznab1) @freeze_time("2015-10-12 18:00:00", tz_offset=-4) def testParseSearchResult(self): # nzbsorg with open("mock/indexercom_q_testtitle_3results.xml") as f: self.n1.parseXml(f.read()) entries = self.n1.process_query_result(f.read(), SearchRequest()).entries self.assertEqual(3, len(entries)) self.assertEqual(entries[0].title, "testtitle1") assert entries[0].size == 2893890900 assert entries[0].indexerguid == "eff551fbdb69d6777d5030c209ee5d4b" self.assertEqual(entries[0].age_days, 1) self.assertEqual(entries[0].epoch, 1444584857) self.assertEqual(entries[0].pubdate_utc, "2015-10-11T17:34:17+00:00") self.assertEqual(entries[0].poster, "*****@*****.**") self.assertEqual(entries[0].group, "alt.binaries.mom") self.assertEqual(entries[0].details_link, "https://indexer.com/details/eff551fbdb69d6777d5030c209ee5d4b") # Pull group from description self.assertEqual(entries[1].group, "alt.binaries.hdtv.x264") # Use "usenetdate" attribute if available self.assertEqual(entries[1].pubdate_utc, "2015-10-03T22:22:22+00:00") # Sat, 03 Oct 2015 22:22:22 +0000 # Use "info" attribute if available self.assertEqual(entries[0].details_link, "https://indexer.com/details/eff551fbdb69d6777d5030c209ee5d4b") # Don't use "not available" as group self.assertIsNone(entries[2].group) self.assertEqual("English testtitle2", entries[1].title) self.assertEqual("testtitle3", entries[2].title)