def test_hasChannel_False(self): channels = [] for x in range(0,5): channels.append(Channel( {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4})) when(self.domainCache).getChannels().thenReturn(channels) self.assertFalse(self.tuner.hasChannel(Channel(dict(channum='6'))))
def getChannels(self): """ @return: cached list of viewable channels across all tuners. @rtype: Channel[] """ sql = """ select ch.chanid, ch.channum, ch.callsign, ch.name, ch.icon, ci.cardid from channel ch, cardinput ci where ch.channum is not null and ch.channum != '' and ch.visible = 1 and ch.sourceid = ci.sourceid order by ch.chanid """ self.cursor.execute(sql) rows = map(lambda r: self.toDict(self.cursor, r), self.cursor.fetchall()) from mythbox.mythtv.domain import Channel channels = map(lambda rd: Channel(rd), rows) return channels
def test_constructor_IconMissing(self): channel = Channel({ 'chanid': 9, 'channum': '23_1', 'callsign': 'WXYZ', 'name': 'NBC9', 'cardid': 4 }) log.debug(channel) self.assertTrue(channel.getIconPath() is None)
def test_getSortableChannelNumber_When_channel_number_doesnt_seem_like_a_number_Then_return_channel_id( self): number = Channel({ 'chanid': 9, 'channum': '23/4', 'callsign': 'WXYZ', 'name': 'NBC9', 'cardid': 4 }).getSortableChannelNumber() log.debug('Sortable channel number = %s' % number) self.assertEqual(9, number)
def test_getSortableChannelNumber_When_channel_number_contains_dot_Then_return_channel_number_as_float( self): number = Channel({ 'chanid': 9, 'channum': '23.4', 'callsign': 'WXYZ', 'name': 'NBC9', 'cardid': 4 }).getSortableChannelNumber() log.debug('Sortable channel number = %s' % number) self.assertEqual(23.4, number)
def test_constructor(self): channel = Channel({ 'chanid': 9, 'channum': '23_1', 'callsign': 'WXYZ', 'name': 'NBC9', 'icon': 'nbc.jpg', 'cardid': 4 }) log.debug(channel) self.assertTrue(channel)
def test_getSortableChannelNumber_When_channel_number_is_already_sortable_Then_return_channel_number( self): channel = Channel({ 'chanid': 9, 'channum': '23', 'callsign': 'WXYZ', 'name': 'NBC9', 'cardid': 4 }) log.debug('Sortable channel number = %s' % channel.getSortableChannelNumber()) self.assertEqual(23, channel.getSortableChannelNumber())
def test_getChannels_CachingWorks(self): channels = [] for x in range(0,5): channels.append(Channel( {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4})) when(self.domainCache).getChannels().thenReturn(channels) for x in range(10): channels = self.tuner.getChannels() verify(self.domainCache, 1).getChannels()
def test_store_When_channel_has_no_icon_Then_do_nothing(self): # Setup channel = Channel({ 'name': 'Bogus Channel', 'icon': None, 'chanid': '9', 'callsign': 'WXYZ' }) conn = Mock() downloader = MythChannelIconResolver(conn) # Test downloader.store(channel, 'bogusDestDir') # Verify verifyZeroInteractions(conn)
def testConstructor(self): fanArt = Mock() when(fanArt).pickPoster(any()).thenReturn(None) kwargs = {} kwargs['settings'] = Mock() kwargs['translator'] = Mock() kwargs['mythChannelIconCache'] = Mock() kwargs['platform'] = Mock() kwargs['fanArt'] = fanArt args = () win = LiveTvWindow(*args, **kwargs) channels = [] for i in range(10): c = Channel({ 'chanid':i, 'channum': '%d' % (i*2), 'name': 'name%d' % i, 'callsign':'callsign%d'%i }) channels.append(c) db = Mock() when(db).getChannels().thenReturn(channels) programs = [] for i in range(10): p = TVProgram({ 'title': 'title%d' % i, 'chanid':i, 'description':'desc%d'%i, 'category':'cat%d'%i}, translator=Mock()) programs.append(p) when(db).getTVGuideDataFlattened(any(), any(), any()).thenReturn(programs) dbFactory = Mock() when(dbFactory).create().thenReturn(db) from mythbox import pool pool.pools['dbPool'] = pool.Pool(dbFactory) win.onInit() win.onClick(self, 600)
def test_store_When_channel_has_iconpath_but_filename_misspelled_Then_do_nothing( self): # Setup channel = Channel({ 'name': 'Bogus Channel', 'icon': 'bogusIcon.png', 'chanid': '9', 'callsign': 'WXYZ' }) downloader = MythChannelIconResolver(self.conn) # Test - download icons for first 5 channels dest = os.path.sep.join([ tempfile.gettempdir(), str(channel.getChannelId()) + channel.getCallSign() + str(time.time()) + ".png" ]) downloader.store(channel, dest) # Verify self.assertFalse(os.path.exists(dest))