Example #1
0
 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)
Example #2
0
    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
Example #3
0
 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)
Example #4
0
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()
Example #5
0
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()