class ParsingTestCase(RemoteTestCase): def setUp(self): self.torrents = Search(self.url, 'tpb afk') def test_items(self): self.assertEqual(len(list(self.torrents.items())), 30) self.assertEqual(len(list(iter(self.torrents))), 30) def test_creation_dates(self): """ Make sure torrents aren't lazily created. """ alpha = time.time() # Create torrents torrents = self.torrents.items() time.sleep(1) # If they were lazily evaluated, they would be created now diff = next(torrents)._created[1] - alpha self.assertTrue(diff > 1) def test_torrent_rows(self): request = urlopen(str(self.torrents.url)) document = html.parse(request) rows = self.torrents._get_torrent_rows(document.getroot()) self.assertEqual(len(rows), 30) def test_torrent_build(self): for torrent in self.torrents.items(): if torrent.title == 'TPB.AFK.2013.720p.h264-SimonKlose' and\ torrent.user == 'SimonKlose': self.assertEqual(torrent.user_status, 'VIP') self.assertTrue(torrent.comments >= 313) self.assertEqual(torrent.has_cover, 'Yes') break
class ParsingTestCase(RemoteTestCase): def setUp(self): self.torrents = Search(self.url, 'tpb afk') def test_items(self): self.assertEqual(len(list(self.torrents.items())), 30) self.assertEqual(len(list(iter(self.torrents))), 30) def test_creation_dates(self): """ Make sure torrents aren't lazily created. """ alpha = time.time() # Create torrents torrents = self.torrents.items() time.sleep(1) # If they were lazily evaluated, they would be created now diff = next(torrents)._created[1] - alpha self.assertTrue(diff > 1) def test_torrent_rows(self): request = urlopen(str(self.torrents.url)) document = html.parse(request) rows = self.torrents._get_torrent_rows(document.getroot()) self.assertEqual(len(rows), 30) def test_torrent_build(self): pass
class TorrentTestCase(RemoteTestCase): def setUp(self): self.torrents = Search(self.url, 'tpb afk') def assertEqualDatetimes(self, *datetimes): datetimes = [d.replace(microsecond=0) for d in datetimes] return self.assertEqual(*datetimes) def test_created_timestamp_parse(self): for torrent in self.torrents.items(): torrent.created torrent._created = ('1 sec ago', time.time()) self.assertEqualDatetimes( torrent.created, datetime.now() - timedelta(seconds=1)) torrent._created = ('1 min ago', time.time()) self.assertEqualDatetimes( torrent.created, datetime.now() - timedelta(minutes=1)) torrent._created = ('1 hour ago', time.time()) self.assertEqualDatetimes( torrent.created, datetime.now() - timedelta(hours=1)) torrent._created = ('Today', time.time()) self.assertEqual(torrent.created.date(), datetime.now().date()) torrent._created = ('Y-day', time.time()) self.assertEqual(torrent.created.date(), (datetime.now() - timedelta(days=1)).date()) torrent._created = ('1 sec ago', time.time() - 60 * 60 * 24) self.assertEqualDatetimes(torrent.created, datetime.now() - timedelta(days=1, seconds=1)) def test_info(self): for torrent in self.torrents.items(): self.assertNotEqual('', torrent.info.strip()) def test_files(self): for torrent in self.torrents.items(): self.assertTrue(len(torrent.files) > 0)
class ParsingTestCase(RemoteTestCase): def setUp(self): self.torrents = Search(self.url, 'breaking bad') def test_items(self): self.assertEqual(len(list(self.torrents.items())), 30) self.assertEqual(len(list(iter(self.torrents))), 30) def test_torrent_rows(self): request = urlopen(str(self.torrents.url)) content = request.read() page = BeautifulSoup(content) rows = self.torrents._get_torrent_rows(page) self.assertEqual(len(rows), 30) def test_torrent_build(self): pass
class TorrentTestCase(RemoteTestCase): def setUp(self): self.torrents = Search(self.url, 'breaking bad') def assertEqualDatetimes(self, *datetimes): datetimes = [ d.replace(microsecond=0) for d in datetimes ] return self.assertEqual(*datetimes) def test_created_timestamp_parse(self): for torrent in self.torrents.items(): torrent.created torrent._created = '1 sec ago' self.assertEqualDatetimes(torrent.created, datetime.now() - timedelta(seconds=1)) torrent._created = '1 min ago' self.assertEqualDatetimes(torrent.created, datetime.now() - timedelta(minutes=1)) torrent._created = '1 hour ago' self.assertEqualDatetimes(torrent.created, datetime.now() - timedelta(hours=1)) torrent._created = 'Today' self.assertEqual(torrent.created.date(), datetime.now().date())