예제 #1
0
 def test_check_setting_str(self):
     """
     Test check_setting_str
     """
     # setup
     CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
     config.check_section(CFG, "General")
     CFG["General"]["process_method"] = "copy"
     CFG["General"]["git_password"] = "******"  # noqa: S105
     CFG["General"]["extra_scripts"] = None
     # normal
     assert config.check_setting_str(CFG, "General", "process_method",
                                     "move") == "copy"
     assert config.check_setting_str(CFG,
                                     "General",
                                     "git_password",
                                     "",
                                     silent=False,
                                     censor_log=True) == "SFa342FHb_"
     # None value type
     assert config.check_setting_str(CFG, "General", "extra_scripts",
                                     "") == ""
     # unmatched section
     assert config.check_setting_str(CFG, "Subtitles",
                                     "subtitles_languages", "eng") == "eng"
     # wrong def_val type
     assert config.check_setting_str(CFG, "General", "process_method",
                                     ["fail"]) == "copy"
예제 #2
0
 def test_check_setting_bool(self):
     """
     Test check_setting_bool
     """
     # setup
     CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
     config.check_section(CFG, "General")
     CFG["General"]["debug"] = True
     CFG["General"]["season_folders_default"] = False
     CFG["General"]["dbdebug"] = None
     # normal
     assert config.check_setting_bool(CFG, "General", "debug")
     assert not config.check_setting_bool(
         CFG, "General", "season_folders_default", def_val=True)
     # None value type
     assert not config.check_setting_bool(CFG, "General", "dbdebug", False)
     # unmatched item
     assert config.check_setting_bool(CFG,
                                      "General",
                                      "git_reset",
                                      def_val=True)
     # unmatched section
     assert not config.check_setting_bool(
         CFG, "Subtitles", "use_subtitles", def_val=False)
     # wrong def_val type, silent = off
     assert config.check_setting_bool(CFG,
                                      "General",
                                      "debug",
                                      def_val=["fail"],
                                      silent=False)
예제 #3
0
 def test_check_section(self):
     """
     Test check_section
     """
     CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
     assert not config.check_section(CFG, "General")
     assert config.check_section(CFG, "General")
예제 #4
0
 def test_check_setting_str(self):
     """
     Test check_setting_str
     """
     # setup
     CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
     config.check_section(CFG, 'General')
     CFG['General']['process_method'] = "copy"
     CFG['General']['git_password'] = "******"
     CFG['General']['extra_scripts'] = None
     # normal
     self.assertEqual(
         config.check_setting_str(CFG, 'General', 'process_method', 'move'),
         'copy')
     self.assertEqual(
         config.check_setting_str(CFG,
                                  'General',
                                  'git_password',
                                  '',
                                  silent=False,
                                  censor_log=True), 'SFa342FHb_')
     # None value type
     self.assertEqual(
         config.check_setting_str(CFG, 'General', 'extra_scripts', ''), '')
     # unmatched section
     self.assertEqual(
         config.check_setting_str(CFG, 'Subtitles', 'subtitles_languages',
                                  'eng'), 'eng')
     # wrong def_val type
     self.assertEqual(
         config.check_setting_str(CFG, 'General', 'process_method',
                                  ['fail']), 'copy')
예제 #5
0
 def test_check_section(self):
     """
     Test check_section
     """
     CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
     self.assertFalse(config.check_section(CFG, 'General'))
     self.assertTrue(config.check_section(CFG, 'General'))
예제 #6
0
 def test_check_setting_int(self):
     """
     Test check_setting_int
     """
     # setup
     CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
     config.check_section(CFG, 'General')
     CFG['General']['indexer_timeout'] = 60
     CFG['General']['use_icacls'] = 'True'
     CFG['General']['use_nzbs'] = 'False'
     CFG['General']['status_default'] = None
     # normal
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 30),
         60)
     self.assertEqual(CFG['General']['indexer_timeout'], 60)
     # force min/max
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 150,
                                  100, 200), 150)
     self.assertEqual(CFG['General']['indexer_timeout'], 150)
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 250,
                                  200, 300, False), 200)
     self.assertEqual(CFG['General']['indexer_timeout'], 200)
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 90, 50,
                                  100), 90)
     self.assertEqual(CFG['General']['indexer_timeout'], 90)
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 20, 10,
                                  30, False), 30)
     self.assertEqual(CFG['General']['indexer_timeout'], 30)
     # true/false => int
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'use_icacls', 1), 1)
     self.assertEqual(CFG['General']['use_icacls'], 'True')
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'use_nzbs', 0), 0)
     self.assertEqual(CFG['General']['use_nzbs'], 'False')
     # None value type + silent off
     self.assertEqual(
         config.check_setting_int(CFG,
                                  'General',
                                  'status_default',
                                  5,
                                  silent=False), 5)
     self.assertEqual(CFG['General']['status_default'], 5)
     # unmatched section
     self.assertEqual(
         config.check_setting_int(CFG, 'Subtitles',
                                  'subtitles_finder_frequency', 1), 1)
     self.assertEqual(CFG['Subtitles']['subtitles_finder_frequency'], 1)
     # wrong def_val/min/max type
     self.assertEqual(
         config.check_setting_int(CFG, 'General', 'indexer_timeout', 'ba',
                                  'min', 'max'), 30)
     self.assertEqual(CFG['General']['indexer_timeout'], 30)
예제 #7
0
 def test_check_setting_float(self):
     """
     Test check_setting_float
     """
     # setup
     CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
     config.check_section(CFG, 'General')
     CFG['General']['fanart_background_opacity'] = 0.5
     CFG['General']['log_size'] = None
     # normal
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 0.4), 0.5)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.5)
     # force min/max
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 0.7, 0.6,
                                    1.0), 0.7)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.7)
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 0.7, 0.8,
                                    1.0, False), 0.8)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.8)
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 0.3, 0.1,
                                    0.4), 0.3)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.3)
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 0.1, 0.1,
                                    0.2, False), 0.2)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.2)
     # None value type + silent off
     self.assertEqual(
         config.check_setting_float(CFG,
                                    'General',
                                    'log_size',
                                    10.0,
                                    silent=False), 10.0)
     self.assertEqual(CFG['General']['log_size'], 10.0)
     # unmatched section
     self.assertEqual(
         config.check_setting_float(CFG, 'Kodi', 'log_size', 2.5), 2.5)
     self.assertEqual(CFG['Kodi']['log_size'], 2.5)
     # wrong def_val/min/max type
     self.assertEqual(
         config.check_setting_float(CFG, 'General',
                                    'fanart_background_opacity', 'ba',
                                    'min', 'max'), 0.2)
     self.assertEqual(CFG['General']['fanart_background_opacity'], 0.2)
예제 #8
0
    def test_config_migrator(self):
        """
        Test migrate_config
        """
        # TODO: Assert the 'too-advanced-config-version' error

        CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
        config.check_section(CFG, "General")
        CFG["General"]["config_version"] = 0
        settings.CONFIG_VERSION = 13
        settings.CONFIG_FILE = "config.ini"

        migrator = config.ConfigMigrator(CFG)
        migrator.migrate_config()
예제 #9
0
    def test_config_migrator(self):
        """
        Test migrate_config
        """
        # TODO: Assert the 'too-advanced-config-version' error

        CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
        config.check_section(CFG, 'General')
        CFG['General']['config_version'] = 0
        settings.CONFIG_VERSION = 13
        settings.CONFIG_FILE = 'config.ini'

        migrator = config.ConfigMigrator(CFG)
        migrator.migrate_config()
예제 #10
0
 def test_check_setting_int(self):
     """
     Test check_setting_int
     """
     # setup
     CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
     config.check_section(CFG, "General")
     CFG["General"]["indexer_timeout"] = 60
     CFG["General"]["use_icacls"] = "True"
     CFG["General"]["use_nzbs"] = "False"
     CFG["General"]["status_default"] = None
     # normal
     assert config.check_setting_int(CFG, "General", "indexer_timeout",
                                     30) == 60
     assert CFG["General"]["indexer_timeout"] == 60
     # force min/max
     assert config.check_setting_int(CFG, "General", "indexer_timeout", 150,
                                     100, 200) == 150
     assert CFG["General"]["indexer_timeout"] == 150
     assert config.check_setting_int(CFG, "General", "indexer_timeout", 250,
                                     200, 300, False) == 200
     assert CFG["General"]["indexer_timeout"] == 200
     assert config.check_setting_int(CFG, "General", "indexer_timeout", 90,
                                     50, 100) == 90
     assert CFG["General"]["indexer_timeout"] == 90
     assert config.check_setting_int(CFG, "General", "indexer_timeout", 20,
                                     10, 30, False) == 30
     assert CFG["General"]["indexer_timeout"] == 30
     # true/false => int
     assert config.check_setting_int(CFG, "General", "use_icacls", 1) == 1
     assert CFG["General"]["use_icacls"] == "True"
     assert config.check_setting_int(CFG, "General", "use_nzbs", 0) == 0
     assert CFG["General"]["use_nzbs"] == "False"
     # None value type + silent off
     assert config.check_setting_int(CFG,
                                     "General",
                                     "status_default",
                                     5,
                                     silent=False) == 5
     assert CFG["General"]["status_default"] == 5
     # unmatched section
     assert config.check_setting_int(CFG, "Subtitles",
                                     "subtitles_finder_frequency", 1) == 1
     assert CFG["Subtitles"]["subtitles_finder_frequency"] == 1
     # wrong def_val/min/max type
     assert config.check_setting_int(CFG, "General", "indexer_timeout",
                                     "ba", "min", "max") == 30
     assert CFG["General"]["indexer_timeout"] == 30
예제 #11
0
 def test_check_setting_float(self):
     """
     Test check_setting_float
     """
     # setup
     CFG = ConfigObj("test_config.ini", encoding="UTF-8", indent_type="  ")
     config.check_section(CFG, "General")
     CFG["General"]["fanart_background_opacity"] = 0.5
     CFG["General"]["log_size"] = None
     # normal
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity",
                                       0.4) == 0.5
     assert CFG["General"]["fanart_background_opacity"] == 0.5
     # force min/max
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity", 0.7,
                                       0.6, 1.0) == 0.7
     assert CFG["General"]["fanart_background_opacity"] == 0.7
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity", 0.7,
                                       0.8, 1.0, False) == 0.8
     assert CFG["General"]["fanart_background_opacity"] == 0.8
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity", 0.3,
                                       0.1, 0.4) == 0.3
     assert CFG["General"]["fanart_background_opacity"] == 0.3
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity", 0.1,
                                       0.1, 0.2, False) == 0.2
     assert CFG["General"]["fanart_background_opacity"] == 0.2
     # None value type + silent off
     assert config.check_setting_float(CFG,
                                       "General",
                                       "log_size",
                                       10.0,
                                       silent=False) == 10.0
     assert CFG["General"]["log_size"] == 10.0
     # unmatched section
     assert config.check_setting_float(CFG, "Kodi", "log_size", 2.5) == 2.5
     assert CFG["Kodi"]["log_size"] == 2.5
     # wrong def_val/min/max type
     assert config.check_setting_float(CFG, "General",
                                       "fanart_background_opacity", "ba",
                                       "min", "max") == 0.2
     assert CFG["General"]["fanart_background_opacity"] == 0.2
예제 #12
0
 def test_check_setting_bool(self):
     """
     Test check_setting_bool
     """
     # setup
     CFG = ConfigObj('config.ini', encoding='UTF-8', indent_type='  ')
     config.check_section(CFG, 'General')
     CFG['General']['debug'] = True
     CFG['General']['season_folders_default'] = False
     CFG['General']['dbdebug'] = None
     # normal
     self.assertTrue(config.check_setting_bool(CFG, 'General', 'debug'))
     self.assertFalse(
         config.check_setting_bool(CFG,
                                   'General',
                                   'season_folders_default',
                                   def_val=True))
     # None value type
     self.assertFalse(
         config.check_setting_bool(CFG, 'General', 'dbdebug', False))
     # unmatched item
     self.assertTrue(
         config.check_setting_bool(CFG,
                                   'General',
                                   'git_reset',
                                   def_val=True))
     # unmatched section
     self.assertFalse(
         config.check_setting_bool(CFG,
                                   'Subtitles',
                                   'use_subtitles',
                                   def_val=False))
     # wrong def_val type, silent = off
     self.assertTrue(
         config.check_setting_bool(CFG,
                                   'General',
                                   'debug',
                                   def_val=['fail'],
                                   silent=False))