def setUp(self): MiroTestCase.setUp(self) self.items = [] self.feed = Feed(u'dtv:manualFeed') self.items = [ testobjects.make_item(self.feed, u'item-1'), testobjects.make_item(self.feed, u'item-2'), ]
def setup_data(self): self.manual_feed = testobjects.make_manual_feed() self.feed_with_downloads = testobjects.make_feed() self.feed_without_downloads = testobjects.make_feed() self.audio_items = [] self.video_items = [] self.undownloaded_items = [] for i in xrange(10): self.audio_items.append( testobjects.make_file_item(self.feed_with_downloads, u'audio-item-%s' % i, ext='.mp3')) self.video_items.append( testobjects.make_file_item(self.manual_feed, u'video-item-%s' % i, ext='.avi')) self.undownloaded_items.append( testobjects.make_item(self.feed_without_downloads, u'feed-item-%s' % i)) self.audio_playlist = models.SavedPlaylist( u'My music', [i.id for i in self.audio_items]) # put some videos in the videos playlist. These will be sent back by # the server, even if SHARE_VIDEO is not set self.video_playlist_items = self.video_items[:5] self.video_playlist = models.SavedPlaylist( u'My best videos', [i.id for i in self.video_playlist_items]) app.db.finish_transaction() models.Item.change_tracker.reset()
def test_add_remove(self): # adding items to our tracked feed should result in the list-changed # signal new_item = testobjects.make_item(self.tracked_feed, u'new-item') self.check_list_change_after_message() self.check_tracker_items() # removed items to our tracked feed should result in the list-changed # signal to_remove = self.tracked_items.pop(0) to_remove.remove() self.check_list_change_after_message() self.check_tracker_items() # adding/remove items from other feeds shouldn't result in any signals self.other_items1[0].remove() testobjects.make_item(self.other_feed2, u'new-item2') self.check_no_signals() self.check_tracker_items()
def test_file_removed(self): # test what happens if set_filename() is called with a non-existant # file item = testobjects.make_item(self.feed, u'my item', enclosure_size=2000) with self.allow_warnings(): item.set_filename('non-existant-path') self.check_size(item, None)
def setUp(self): MiroTestCase.setUp(self) self.mock_grab_headers = self.patch_for_test("miro.httpclient.grab_headers") self.mock_try_scraping_url = self.patch_for_test("miro.flashscraper.try_scraping_url") self.mock_send = self.patch_for_test("miro.dl_daemon.command.Command.send") self.feed = testobjects.make_feed() self.url = u"http://example.com/my-video.mp4" self.item = testobjects.make_item(self.feed, u"my item", url=self.url) self.downloading_path = os.path.join(self.tempdir, "Incomplete Downloads", "download.mp4") self.final_path = os.path.join(self.tempdir, "download.mp4")
def setUp(self): MiroTestCase.setUp(self) self.init_data_package() self.feed = models.Feed(u'http://example.com/feed.rss') self.items = [testobjects.make_item(self.feed, u'item-%s' % i) for i in xrange(10)] app.db.finish_transaction() self.pool = itemlist.ItemListPool() self.item_list = self.pool.get('feed', self.feed.id) self.item_list2 = self.pool.get('feed', self.feed.id + 1)
def test_download(self): item = testobjects.make_item(self.feed, u'my item') item.download() path = self.make_file(size=1000) # while downloading, size should be the total size of the download self.update_downloader_status(item, path, 500, 1000) self.assertEquals(item.get_state(), 'downloading') self.check_size(item, 1000) # after downloading, size should be the same self.update_downloader_status(item, path, 1000, 1000) self.assertEquals(item.get_state(), 'newly-downloaded') self.check_size(item, 1000)
def setUp(self): MiroTestCase.setUp(self) self.init_data_package() self.feed = models.Feed(u'http://example.com/feed.rss') self.items = [ testobjects.make_item(self.feed, u'item-%s' % i) for i in xrange(10) ] app.db.finish_transaction() self.pool = itemlist.ItemListPool() self.item_list = self.pool.get('feed', self.feed.id) self.item_list2 = self.pool.get('feed', self.feed.id + 1)
def setUp(self): MiroTestCase.setUp(self) self.renderer = itemrenderer.ItemRenderer() self.feed = models.Feed(u'http://example.com/feed.rss') self.item = testobjects.make_item(self.feed, u'item') self.manual_feed = models.Feed(u'dtv:manualFeed', initiallyAutoDownloadable=False) self.file_item = models.FileItem(self.make_temp_path(), self.manual_feed.id) app.saved_items = set() app.playback_manager = mock.Mock() app.playback_manager.item_resume_policy.return_value = False
def setUp(self): MiroTestCase.setUp(self) self.init_data_package() self.feed = models.Feed(u'http://example.com/feed.rss') self.items = [testobjects.make_item(self.feed, u'item-%s' % i) for i in xrange(10)] app.db.finish_transaction() self.item_list = itemlist.ItemList('feed', self.feed.id) self.items_changed_handler = mock.Mock() self.list_changed_handler = mock.Mock() self.item_list.connect("items-changed", self.items_changed_handler) self.item_list.connect("list-changed", self.list_changed_handler)
def setUp(self): MiroTestCase.setUp(self) self.init_data_package() self.feed = models.Feed(u'http://example.com/feed.rss') self.items = [ testobjects.make_item(self.feed, u'item-%s' % i) for i in xrange(10) ] app.db.finish_transaction() self.item_list = itemlist.ItemList('feed', self.feed.id) self.items_changed_handler = mock.Mock() self.list_changed_handler = mock.Mock() self.item_list.connect("items-changed", self.items_changed_handler) self.item_list.connect("list-changed", self.list_changed_handler)
def setUp(self): MiroTestCase.setUp(self) self.mock_grab_headers = self.patch_for_test( 'miro.httpclient.grab_headers') self.mock_try_scraping_url = self.patch_for_test( 'miro.flashscraper.try_scraping_url') self.mock_send = self.patch_for_test( 'miro.dl_daemon.command.Command.send') self.feed = testobjects.make_feed() self.url = u'http://example.com/my-video.mp4' self.item = testobjects.make_item(self.feed, u'my item', url=self.url) self.downloading_path = os.path.join(self.tempdir, 'Incomplete Downloads', 'download.mp4') self.final_path = os.path.join(self.tempdir, 'download.mp4')
def setup_data(self): self.manual_feed = testobjects.make_manual_feed() self.feed_with_downloads = testobjects.make_feed() self.feed_without_downloads = testobjects.make_feed() self.audio_items = [] self.video_items = [] self.undownloaded_items = [] for i in xrange(10): self.audio_items.append(testobjects.make_file_item( self.feed_with_downloads, u'audio-item-%s' % i, ext='.mp3')) self.video_items.append(testobjects.make_file_item( self.manual_feed, u'video-item-%s' % i, ext='.avi')) self.undownloaded_items.append(testobjects.make_item( self.feed_without_downloads, u'feed-item-%s' % i)) self.audio_playlist = models.SavedPlaylist(u'My music', [i.id for i in self.audio_items]) # put some videos in the videos playlist. These will be sent back by # the server, even if SHARE_VIDEO is not set self.video_playlist_items = self.video_items[:5] self.video_playlist = models.SavedPlaylist(u'My best videos', [i.id for i in self.video_playlist_items]) app.db.finish_transaction() models.Item.change_tracker.reset()
def test_rss_entry(self): # initially we should use the RSS enclosure for size item = testobjects.make_item(self.feed, u'my item', enclosure_size=2000) self.check_size(item, 2000)
def make_item(self, title): item_ = testobjects.make_item(self.feed, title) self.items.append(item_) self.playlist.add_item(item_)
def make_item(self, url, title=u'default item title'): self.items.append(testobjects.make_item(self.feed, title))