def setUp(self): self.db = Mock() self.conn = Mock() self.translator = Mock() self.domainCache = Mock() self.tuner = Tuner(4, 'mrbun', 1000, 6000, 'HDHOMERUN', self.domainCache, self.conn, self.db, self.translator)
def getTuners(self): """ @rtype: Tuner[] @return: Cached tuners ordered by cardid """ sql = """ select cardid, hostname, signal_timeout, channel_timeout, cardtype from capturecard order by cardid """ tuners = [] self.cursor.execute(sql) from mythbox.mythtv.domain import Tuner for row in self.cursor.fetchall(): row = self.toDict(self.cursor, row) tuners.append(Tuner( int(row['cardid']), row['hostname'], int(row['signal_timeout']), int(row['channel_timeout']), row['cardtype'], domainCache=self.domainCache, conn=None, db=self, # TODO: Should be None. self is for unit tests translator=self.translator)) return tuners
class TunerTest(unittest.TestCase): def setUp(self): self.db = Mock() self.conn = Mock() self.translator = Mock() self.domainCache = Mock() self.tuner = Tuner(4, 'mrbun', 1000, 6000, 'HDHOMERUN', self.domainCache, self.conn, self.db, self.translator) def test_toString(self): log.debug('tuner = %s'%self.tuner) self.assertFalse(self.tuner is None) def test_isWatchingOrRecording_CardIdle(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(-1) self.assertFalse(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isWatchingOrRecording_CardNotIdleButShowDoesntMatch(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(-1) self.assertFalse(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isWatchingOrRecording_CardNotIdleAndShowMatches(self): when(self.conn).getTunerShowing('Seinfeld').thenReturn(self.tuner.tunerId) self.assertTrue(self.tuner.isWatchingOrRecording('Seinfeld')) def test_isRecording_True(self): when(self.conn).isTunerRecording(any()).thenReturn(True) result = self.tuner.isRecording() log.debug('isRecording_True = %s'%result) self.assertTrue(result) verify(self.conn).isTunerRecording(any()) def test_isRecording_False(self): when(self.conn).isTunerRecording(any()).thenReturn(False) self.assertFalse(self.tuner.isRecording()) verify(self.conn).isTunerRecording(any()) def test_hasChannel_True(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.assertTrue(self.tuner.hasChannel(Channel(dict(channum='3')))) 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 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()