Beispiel #1
0
 def test_verifyMythTVConnectivity_OK(self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     settings = mythtv.MythSettings(self.platform, self.translator)
     privateConfig = util.OnDemandConfig()
     settings.put('mythtv_host', privateConfig.get('mythtv_host'))
     settings.put('mythtv_port', privateConfig.get('mythtv_port'))
     settings.verifyMythTVConnectivity()
Beispiel #2
0
 def setUp(self):
     self.data = [('title', 'Bonanza'), ('subtitle', 'The Shootout'),
                  ('description', 'Yee haw!'),
                  ('starttime', '2008-10-04 18:00:00'),
                  ('endtime', '2008-10-04 19:00:00'), ('channum', '23')]
     self.translator = Mock()
     self.platform = util.Platform()
     self.settings = mythtv.MythSettings(self.platform, self.translator)
Beispiel #3
0
 def test_constructor_NonExistentSettingsFilesLoadsDefaults(self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     s = mythtv.MythSettings(self.platform, self.translator)
     self.assertEquals('localhost', s.get('mysql_host'))
     self.assertEquals('3306', s.get('mysql_port'))
     self.assertEquals('mythconverg', s.get('mysql_database'))
     self.assertEquals('mythtv', s.get('mysql_user'))
     self.assertEquals('change_me', s.get('mysql_password'))
Beispiel #4
0
 def test_getRecordingDirs_ManyDirectories(self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     settings = mythtv.MythSettings(self.platform, self.translator)
     settings.put('paths_recordedprefix', os.pathsep.join(['a', 'b', 'c']))
     log.debug("Recording prefix = %s" %
               settings.get('paths_recordedprefix'))
     dirs = settings.getRecordingDirs()
     self.assertEquals(3, len(dirs))
     self.assertEquals(['a', 'b', 'c'], dirs)
Beispiel #5
0
 def test_getRecordingDirs_SingleDirectory(self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     settings = mythtv.MythSettings(self.platform, self.translator)
     settings.put('paths_recordedprefix', '/mnt/mythtv')
     log.debug("Recording prefix = %s" %
               settings.get('paths_recordedprefix'))
     dirs = settings.getRecordingDirs()
     self.assertEquals(1, len(dirs))
     self.assertEquals('/mnt/mythtv', dirs[0])
Beispiel #6
0
 def setUp(self):
     self.translator = mockito.Mock()
     self.platform = util.Platform()
     self.settings = mythtv.MythSettings(self.platform, self.translator)
     privateConfig = util.OnDemandConfig()
     self.settings.put('mysql_host', privateConfig.get('mysql_host'))
     self.settings.put('mysql_password',
                       privateConfig.get('mysql_password'))
     self.settings.put('mythtv_host', privateConfig.get('mythtv_host'))
     self.db = mythdb.MythDatabase(self.settings, self.translator)
Beispiel #7
0
    def test_verifyMySQLConnectivity_OK(self):
        when(self.platform).getScriptDataDir().thenReturn(
            tempfile.gettempdir())
        settings = mythtv.MythSettings(self.platform, self.translator)

        privateConfig = util.OnDemandConfig()
        settings.put('mysql_host', privateConfig.get('mysql_host'))
        settings.put('mysql_database', privateConfig.get('mysql_database'))
        settings.put('mysql_user', privateConfig.get('mysql_user'))
        settings.put('mysql_password', privateConfig.get('mysql_password'))
        settings.verifyMySQLConnectivity()
Beispiel #8
0
 def test_verifyMythTVConnectivity_InvalidPortThrowsSettingsException(self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     settings = mythtv.MythSettings(self.platform, self.translator)
     privateConfig = util.OnDemandConfig()
     settings.put('mythtv_host', privateConfig.get('mythtv_host'))
     settings.put('mythtv_port', "9999")
     try:
         settings.verifyMythTVConnectivity()
         self.fail('expected failure on invalid port')
     except mythtv.SettingsException, se:
         log.debug("PASS: %s" % se)
Beispiel #9
0
 def setUp(self):
     translator = mockito.Mock()
     platform = mockito.Mock()
     settings = mythtv.MythSettings(platform, translator)
     privateConfig = util.OnDemandConfig()
     settings.put('mysql_host', privateConfig.get('mysql_host'))
     settings.put('mysql_password', privateConfig.get('mysql_password'))
     settings.put('mythtv_host', privateConfig.get('mythtv_host'))
     self.db = mythdb.MythDatabase(settings, translator)
     self.session = mythtv.Connection(settings, self.db, translator,
                                      platform)
     self.brain = livetv.LiveTVBrain(self.session, self.db)
Beispiel #10
0
 def test_verifyMySQLConnectivity_InvalidUsernamePasswordThrowsSettingsException(
         self):
     when(self.platform).getScriptDataDir().thenReturn(
         tempfile.gettempdir())
     settings = mythtv.MythSettings(self.platform, self.translator)
     privateConfig = util.OnDemandConfig()
     settings.put('mysql_host', privateConfig.get('mysql_host'))
     settings.put('mysql_database', privateConfig.get('mysql_database'))
     settings.put('mysql_user', 'bogususer')
     settings.put('mysql_password', 'boguspassword')
     try:
         settings.verifyMySQLConnectivity()
         self.fail('expected failure on invalid username and password')
     except mythtv.SettingsException, se:
         log.debug('PASS: %s' % se)
Beispiel #11
0
    def test_saveSettings_LoadedDefaultsCreatesNewSettingsFile(self):
        filename = 'settings.xml'
        settingsPath = tempfile.gettempdir() + os.sep + 'mythbox_settings_dir'
        filepath = settingsPath + os.sep + filename
        when(self.platform).getScriptDataDir().thenReturn(settingsPath)

        try:
            self.assertFalse(os.path.exists(filepath))
            s = mythtv.MythSettings(self.platform, self.translator)
            s.save()
            self.assertTrue(os.path.exists(filepath))
        finally:
            try:
                os.remove(filepath)
                os.rmdir(settingsPath)
            except:
                pass
Beispiel #12
0
    def setUp(self):
        self.platform = util.getPlatform()
        self.translator = Mock()
        self.settings = mythtv.MythSettings(self.platform, self.translator)

        privateConfig = util.OnDemandConfig()
        self.settings.put('mysql_host', privateConfig.get('mysql_host'))
        self.settings.put('mysql_password',
                          privateConfig.get('mysql_password'))
        self.settings.put('mysql_port', privateConfig.get('mysql_port'))
        self.settings.put('mythtv_host', privateConfig.get('mythtv_host'))
        self.settings.put('mythtv_port', privateConfig.get('mythtv_port'))
        self.settings.put('paths_recordedprefix',
                          privateConfig.get('paths_recordedprefix'))

        self.db = mythdb.MythDatabase(self.settings, self.translator)
        self.conn = mythtv.Connection(self.settings, self.db, self.translator,
                                      self.platform)
Beispiel #13
0
    def test_constructor_LoadExistingSettingsFile(self):
        # Setup
        settingsDir = 'resources' + os.sep + 'test'
        settingsFile = 'test_mythtv_settings.xml'
        settingsPath = settingsDir + os.sep + settingsFile
        when(self.platform).getScriptDataDir().thenReturn(settingsDir)
        self.assertTrue(os.stat(settingsPath),
                        'Expected settings file to exist')

        # Test
        s = mythtv.MythSettings(self.platform, self.translator, settingsFile)

        # Verify
        self.assertEquals('test_host', s.get('mysql_host'))
        self.assertEquals('9999', s.get('mysql_port'))
        self.assertEquals('test_database', s.get('mysql_database'))
        self.assertEquals('test_user', s.get('mysql_user'))
        self.assertEquals('test_password', s.get('mysql_password'))
Beispiel #14
0
    import mythdb
    import mythtv
    import util
    
    updateProgress("Checking Settings")
    
    # TODO: Springify later...
    # Injected dependencies that get passed all over the place
    
    # 1
    platform = util.getPlatform()
    log.debug(platform)
    # 2
    translator = util.NativeTranslator(platform.getScriptDir())
    # 3
    settings = mythtv.MythSettings(platform, translator, 'settings.xml')

    settingsOK = False
    
    try:
        import uisettings
        settings.verify()
        settingsOK = True
    except mythtv.SettingsException:
        settingsWindow = uisettings.showWindow(myprogress, settings, translator, platform)
        try:
            settings.verify()
            settingsOK = True
        except mythtv.SettingsException:
            settingsOK = False