def test_simple_overflow(self): self.assertEqual(Item.make_view().count(), 2) self.parse_new_feed() self.assertEqual(Item.make_view().count(), 4) self.parse_new_feed() self.assertEqual(Item.make_view().count(), 4) self.check_guids(3, 4, 5, 6)
def test_run(self): my_feed = self.make_feed() items = list(Item.make_view()) self.assertEqual(len(items), 4) # make sure that re-updating doesn't re-create the items my_feed.update() items = list(Item.make_view()) self.assertEqual(len(items), 4) my_feed.remove()
def test_overflow_with_downloads(self): items = list(Item.make_view()) items[0]._downloader = FakeDownloader() items[1]._downloader = FakeDownloader() self.assertEqual(len(items), 2) self.parse_new_feed() self.parse_new_feed() self.check_guids(1, 2, 5, 6)
def test_run(self): dialogs.delegate = AcceptScrapeTestDelegate() my_feed = self.make_feed() # the feed has no enclosures, but we now insert enclosures into it. # thus it should not cause a dialog to pop up and ask the user if they # want to scrape. self.assertEqual(dialogs.delegate.calls, 0) # the Feed, plus the 1 item that is a video items = list(Item.make_view()) self.assertEqual(len(items), 1) # make sure that re-updating doesn't re-create the items my_feed.update() items = list(Item.make_view()) self.assertEqual(len(items), 1) my_feed.remove()
def test_overflow_with_global_max_old_items(self): app.config.set(prefs.TRUNCATE_CHANNEL_AFTER_X_ITEMS, 1000) # don't bother self.assertEqual(Item.make_view().count(), 2) self.parse_new_feed() self.assertEquals(Item.make_view().count(), 4) self.parse_new_feed() app.config.set(prefs.MAX_OLD_ITEMS_DEFAULT, 4) self.feed.actualFeed.clean_old_items() while self.feed.actualFeed.updating: self.processThreads() self.process_idles() sleep(0.1) self.assertEquals(Item.make_view().count(), 6) app.config.set(prefs.MAX_OLD_ITEMS_DEFAULT, 2) self.feed.actualFeed.clean_old_items() while self.feed.actualFeed.updating: self.processThreads() self.process_idles() sleep(0.1) self.assertEquals(Item.make_view().count(), 4) self.check_guids(3, 4, 5, 6)
def save_then_restore_db(self): self.reload_database(self.tempdb) self.feed = Feed.make_view().get_singleton() self.item = Item.make_view().get_singleton()
def check_guids(self, *ids): actual = set() for i in Item.make_view(): actual.add(i.get_rss_id()) correct = set(['guid-%d' % i for i in ids]) self.assertEquals(actual, correct)