def create_logger(self): self.loggingEnabledSetting = LoggingConfig.get_logging_level_setting( Config()) self.set_logged_exceptions(list) if self.loggingEnabledSetting != LoggingEnabled.NO: log = LoggingConfig().get_logger( StringProcessor.safe_formatter("{} - {}", [ self.fullyQualifiedTestClassName, str(datetime.now().strftime("uuuu-MM-dd-HH-mm-ss-SSSS")) ]), Config()) else: log = ConsoleLogger() return log
def test_addTestSettingValuesNewSectionTest(self): new_value_map = {"BROWSER1": "CHROME1", "DBString2": "Dbstring2222"} config = Config() config.add_test_setting_values(new_value_map, "NewSection", False) test_section = config.get_section("NewSection") self.assertEquals(test_section.get("BROWSER1"), "CHROME1") self.assertEquals(test_section.get("DBString2"), "Dbstring2222")
def get_logging_level_setting(self, default_value=None): value = str(self.config.get_general_value("LogLevel", default_value)).upper() if value == "VERBOSE": # Includes this and all of those below return MessageType.VERBOSE.name elif value == "INFORMATION": # Includes this and all of those below return MessageType.INFORMATION.name elif value == "GENERIC": # Includes this and all of those below return MessageType.GENERIC.name elif value == "SUCCESS": # Includes this and all of those below return MessageType.SUCCESS.name elif value == "WARNING": # Includes this and all of those below return MessageType.WARNING.name elif value == "ERROR": # Includes this and all of those below return MessageType.ERROR.name elif value == "SUSPENDED": # Includes this and all of those below return MessageType.SUSPENDED.name else: raise AttributeError( StringProcessor.safe_formatter( "Logging level value '{}' is not a valid option", Config().get_general_value("LogLevel")))
def test_getValueTest(self): config = Config() self.assertEquals( config.get_value("MagenicMaqs.TestKey", "defaultValue"), "defaultValue") self.assertEquals(config.get_value("SeleniumMaqs.TestKey"), "testValueTwo")
def test_addGeneralTestSettingValuesDoNotOverrideValuesTest(self): new_value_map = { "DontBrowserOverride": "CHROME", "DontTimeoutOverride": "13333333" } new_value_map_two = { "DontBrowserOverride": "IE", "DontTimeoutOverride": "5555" } # add values to the override config since the values don't exist in the override config config = Config() config.add_general_test_setting_values(new_value_map, False) self.assertEquals(config.get_general_value("DontBrowserOverride"), "CHROME") self.assertEquals(config.get_general_value("DontTimeoutOverride"), "13333333") # don't add the values to the override config since the values do exist in the override config config.add_general_test_setting_values(new_value_map_two, False) self.assertEquals(config.get_general_value("DontBrowserOverride"), "CHROME") self.assertEquals(config.get_general_value("DontTimeoutOverride"), "13333333") # do add the values because of the override flag config.add_general_test_setting_values(new_value_map_two, True) self.assertEquals(config.get_general_value("DontBrowserOverride"), "IE") self.assertEquals(config.get_general_value("DontTimeoutOverride"), "5555")
def test_getConsoleLoggerLoggingDisabledTest(self): new_value_map = {"Log": "NO"} Config().add_general_test_setting_values(new_value_map, True) file_name = "TestLog.txt" logging_config = LoggingConfig().get_logger(file_name) instance = isinstance(logging_config, ConsoleLogger) self.assertTrue(instance, "Expected Logger to be of Type ConsoleLogger.")
def test_doesKeyExistTest(self): config = Config() self.assertTrue(config.does_key_exist("SeleniumMaqs.TestKey")) self.assertTrue(config.does_general_key_exist("TimeoutOverride")) self.assertTrue( config.does_key_exist("HubAddress", ConfigSection.SeleniumMaqs.value)) self.assertFalse( config.does_key_exist("HubAddress", ConfigSection.MagenicMaqs.value))
def test_getValueForSectionTest(self): config = Config() self.assertEquals( config.get_value_for_section("SeleniumMaqs", "TestKey"), "testValueTwo") self.assertEquals( config.get_value_for_section(ConfigSection.SeleniumMaqs.value, "Browser"), "Internet Explorer") self.assertEquals( config.get_value_for_section("SeleniumMaqs", "nonExistentKey", "defaultValue"), "defaultValue")
def test_addGeneralTestSettingValuesOverrideValuesTest(self): new_value_map = { "BrowserOverride": "CHROME", "TimeoutOverride": "13333333" } config = Config() config.add_general_test_setting_values(new_value_map, True) self.assertEquals(config.get_general_value("BrowserOverride"), "CHROME") self.assertEquals(config.get_general_value("TimeoutOverride"), "13333333")
def get_logger(self, file_name): # Disable logging means we just send any logged messages to the console if self.get_logging_enabled_setting( self.config) == LoggingEnabled.NO.name: return ConsoleLogger() log_directory = self.get_log_directory() logging_level = self.get_logging_level_setting(Config()) # value = Config().get_general_value("LogType", "CONSOLE").upper() value = self.config.get_general_value("LogType").upper() if value == "CONSOLE": return ConsoleLogger(logging_level) elif value == "TXT": return FileLogger(log_directory, False, file_name, logging_level) else: raise AttributeError( StringProcessor.safe_formatter( "Log type {} is not a valid option", Config().get_general_value("LogType", "CONSOLE")))
def get_logging_enabled_setting(self, default_value=None): value = str(self.config.get_general_value("Log", default_value)).upper() if value == "YES": return LoggingEnabled.YES.name elif value == "ONFAIL": return LoggingEnabled.ONFAIL.name elif value == "NO": return LoggingEnabled.NO.name else: raise NotImplementedError( StringProcessor.safe_formatter( "Log value {} is not a valid option", Config().get_general_value("Log", "NO")))
def test_getLoggingLevelSuspendedSettingTest(self): new_value_map = {"LogLevel": "SUSPENDED"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.SUSPENDED.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting SUSPENDED.")
def test_getLoggingEnabledOnFailSettingTest(self): new_value_map = {"Log": "ONFAIL"} config = Config() config.add_general_test_setting_values(new_value_map, True) self.assertEquals(LoggingConfig().get_logging_enabled_setting(config), LoggingEnabled.ONFAIL.name, "Expected Logging Enabled Setting ONFAIL.")
def test_getLoggingLevelWarningSettingTest(self): new_value_map = {"LogLevel": "WARNING"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.WARNING.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting WARNING.")
def test_getLoggingLevelErrorSettingTest(self): new_value_map = {"LogLevel": "ERROR"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.ERROR.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting ERROR.")
def test_getLoggingLevelInformationSettingTest(self): new_value_map = {"LogLevel": "INFORMATION"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.INFORMATION.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting INFORMATION.")
def test_getLoggingLevelGenericSettingTest(self): new_value_map = {"LogLevel": "GENERIC"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.GENERIC.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting GENERIC.")
def test_getLoggingLevelVerboseSettingTest(self): new_value_map = {"LogLevel": "VERBOSE"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(MessageType.VERBOSE.name, LoggingConfig().get_logging_level_setting(), "Expected Logging Level Setting VERBOSE.")
def test_getLoggingLevelIllegalArgumentTest(self): with self.assertRaises(AttributeError): new_value_map = {"LogLevel": "INVALIDVALUE"} config = Config().add_general_test_setting_values(new_value_map, True) LoggingConfig(config).get_logging_level_setting()
def __init__(self): self.retry_time_from_config = long( Config().get_general_value("WaitTime")) self.timeout_from_config = long(Config().get_general_value("Timeout"))
def test_getFileLoggerTest(self): new_value_map = {"LogType": "TXT", "Log": "YES"} config = Config().add_general_test_setting_values(new_value_map, True) file_name = "TestLog.txt" logging_config = LoggingConfig(config).get_logger(file_name) self.assertTrue(isinstance(logging_config, FileLogger), "Expected Logger to be of Type FileLogger.")
def test_getLoggingEnabledSettingTest(self): new_value_map = {"log": "YES"} config = Config() config.add_general_test_setting_values(new_value_map, True) self.assertEquals(LoggingConfig(config).get_logging_enabled_setting(Config()), LoggingEnabled.YES.name, "Expected Logging Enabled Setting YES.")
def test_getGeneralValueTest(self): config = Config() self.assertEquals(config.get_general_value("TestKey"), "testValue") self.assertEquals(config.get_general_value("nonExistentKey", "defaultValue"), "defaultValue")
from utilities.Config import Config from utilities.rl_utils import get_state_shape from settings import WORLD_STATE x, y = get_state_shape(WORLD_STATE) ################### # Training Params # ################### config = Config() config.seed = 4 config.num_episodes_to_run = 100 config.results_filepath = "/polyaxon-exp-output/sidney_tio/" #config.file_to_save_results_graph = "results/data_and_graphs/Cart_Pole_Results_Graph.png" config.show_solution_score = False config.visualise_individual_results = False config.visualise_overall_agent_results = True config.standard_deviation_results = 1.0 config.runs_per_agent = 1 config.use_GPU = True config.overwrite_existing_results_file = False config.randomise_random_seed = True config.save_model = True config.model_path = "/polyaxon-exp-output/sidney_tio/policy_2nd.pth" config.train = False config.reward_horizon = 1e6 config.old_policy_path = None ############## # PPO Params # ##############
def test_getLoggingDisabledSettingTest(self): new_value_map = {"Log": "NO"} Config().add_general_test_setting_values(new_value_map, True) self.assertEquals(LoggingConfig().get_logging_enabled_setting(), LoggingEnabled.NO.name, "Expected Logging Enabled Setting NO.")
def loggingEnabledSettingTest(self): config = Config() self.assertEquals(self.get_logging_enabled_setting(), LoggingConfig.get_logging_enabled_setting(config))
def test_getSectionWithConfigSecEnumTest(self): config = Config() test_section = config.get_section(str(ConfigSection.SeleniumMaqs.value)) self.assertEquals(test_section.get("TestKey"), "testValueTwo") self.assertEquals(test_section.get("Browser"), "Internet Explorer")
def test_getLoggingSettingIllegalArgumentTest(self): with self.assertRaises(NotImplementedError): new_value_map = {"Log": "INVALIDVALUE"} Config().add_general_test_setting_values(new_value_map, True) LoggingConfig().get_logging_enabled_setting()