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"
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)
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")
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')
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'))
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)
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)
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()
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()
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
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
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))