def test_reduce_number_of_messages(self): f1 = Feed(u'http://example.com/3') f1.remove() f2 = Feed(u'http://example.com/4') f2.set_title(u'New Title') self.runUrgentCalls() # We don't need to see that f1 was added because it got # removed immediately after. We don't need to see that f2 was # changed because it will have the updated info in added. self.check_message_count(2) self.check_changed_message(1, added=[f2])
class FeedTrackTest(TrackerTest): def setUp(self): TrackerTest.setUp(self) self.feed1 = Feed(u'http://example.com/') self.feed2 = Feed(u'http://example.com/2') self.feed_folder = ChannelFolder(u'test channel folder') m = messages.TabsReordered() m.toplevels['feed'] = [ messages.ChannelInfo(self.feed1), messages.ChannelInfo(self.feed_folder) ] m.folder_children[self.feed_folder.id] = \ [messages.ChannelInfo(self.feed2)] m.send_to_backend() messages.TrackChannels().send_to_backend() self.runUrgentCalls() def check_info(self, channelInfo, feed): self.assertEquals(channelInfo.name, feed.get_title()) self.assertEquals(channelInfo.id, feed.id) self.assertEquals(channelInfo.unwatched, feed.num_unwatched()) self.assertEquals(channelInfo.available, feed.num_available()) self.assertEquals(channelInfo.is_folder, isinstance(feed, ChannelFolder)) def check_changed_message_type(self, message): self.assertEquals(type(message), messages.TabsChanged) self.assertEquals(message.type, 'feed') def test_initial_list(self): self.check_message_count(1) message1 = self.test_handler.messages[0] self.assert_(isinstance(message1, messages.TabList)) self.assertEquals(message1.type, 'feed') self.check_info_list(message1.toplevels, [self.feed1, self.feed_folder]) self.check_info_list(message1.folder_children[self.feed_folder.id], [self.feed2]) self.assertEquals(len(message1.folder_children), 1) def test_added(self): f = Feed(u'http://example.com/3') self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, added=[f]) def test_added_order(self): f1 = Feed(u'http://example.com/3') f2 = Feed(u'http://example.com/4') f3 = Feed(u'http://example.com/5') f4 = Feed(u'http://example.com/6') f5 = Feed(u'http://example.com/7') self.runUrgentCalls() # We want the ChannelAdded messages to come in the same order # the feeds were added self.check_changed_message(1, added=[f1, f2, f3, f4, f5]) @uses_httpclient def test_removed(self): self.feed2.remove() self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, removed=[self.feed2]) def test_change(self): self.feed1.set_title(u"Booya") self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, changed=[self.feed1]) @uses_httpclient def test_reduce_number_of_messages(self): f1 = Feed(u'http://example.com/3') f1.remove() f2 = Feed(u'http://example.com/4') f2.set_title(u'New Title') self.runUrgentCalls() # We don't need to see that f1 was added because it got # removed immediately after. We don't need to see that f2 was # changed because it will have the updated info in added. self.check_message_count(2) self.check_changed_message(1, added=[f2]) @uses_httpclient def test_stop(self): self.check_message_count(1) messages.StopTrackingChannels().send_to_backend() self.runUrgentCalls() self.feed1.set_title(u"Booya") Feed(u'http://example.com/3') self.feed2.remove() self.check_message_count(1)
class FeedTrackTest(TrackerTest): def setUp(self): TrackerTest.setUp(self) self.feed1 = Feed(u'http://example.com/') self.feed2 = Feed(u'http://example.com/2') self.feed_folder = ChannelFolder(u'test channel folder') m = messages.TabsReordered() m.toplevels['feed'] = [messages.ChannelInfo(self.feed1), messages.ChannelInfo(self.feed_folder)] m.folder_children[self.feed_folder.id] = \ [messages.ChannelInfo(self.feed2)] m.send_to_backend() messages.TrackChannels().send_to_backend() self.runUrgentCalls() def check_info(self, channelInfo, feed): self.assertEquals(channelInfo.name, feed.get_title()) self.assertEquals(channelInfo.id, feed.id) self.assertEquals(channelInfo.unwatched, feed.num_unwatched()) self.assertEquals(channelInfo.available, feed.num_available()) self.assertEquals(channelInfo.is_folder, isinstance(feed, ChannelFolder)) def check_changed_message_type(self, message): self.assertEquals(type(message), messages.TabsChanged) self.assertEquals(message.type, 'feed') def test_initial_list(self): self.check_message_count(1) message1 = self.test_handler.messages[0] self.assert_(isinstance(message1, messages.TabList)) self.assertEquals(message1.type, 'feed') self.check_info_list(message1.toplevels, [self.feed1, self.feed_folder]) self.check_info_list(message1.folder_children[self.feed_folder.id], [self.feed2]) self.assertEquals(len(message1.folder_children), 1) def test_added(self): f = Feed(u'http://example.com/3') self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, added=[f]) def test_added_order(self): f1 = Feed(u'http://example.com/3') f2 = Feed(u'http://example.com/4') f3 = Feed(u'http://example.com/5') f4 = Feed(u'http://example.com/6') f5 = Feed(u'http://example.com/7') self.runUrgentCalls() # We want the ChannelAdded messages to come in the same order # the feeds were added self.check_changed_message(1, added=[f1, f2, f3, f4, f5]) @uses_httpclient def test_removed(self): self.feed2.remove() self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, removed=[self.feed2]) def test_change(self): self.feed1.set_title(u"Booya") self.runUrgentCalls() self.check_message_count(2) self.check_changed_message(1, changed=[self.feed1]) @uses_httpclient def test_reduce_number_of_messages(self): f1 = Feed(u'http://example.com/3') f1.remove() f2 = Feed(u'http://example.com/4') f2.set_title(u'New Title') self.runUrgentCalls() # We don't need to see that f1 was added because it got # removed immediately after. We don't need to see that f2 was # changed because it will have the updated info in added. self.check_message_count(2) self.check_changed_message(1, added=[f2]) @uses_httpclient def test_stop(self): self.check_message_count(1) messages.StopTrackingChannels().send_to_backend() self.runUrgentCalls() self.feed1.set_title(u"Booya") Feed(u'http://example.com/3') self.feed2.remove() self.check_message_count(1)