def test_init_no_values(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" twilio: """, ConsoleConfiguration(), ".") twilio_config = TwilioConfiguration() twilio_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", twilio_config.host) self.assertEqual(80, twilio_config.port) self.assertEqual(False, twilio_config.debug)
def test_init(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text( """ slack: polling_interval: 1 """, ConsoleConfiguration(), ".") slack_config = SlackConfiguration() slack_config.load_configuration(yaml, ".") self.assertEqual(1, slack_config.polling_interval)
def test_load_from_text_multis_one_value(self): config = JSONConfigurationFile() self.assertIsNotNone(config) configuration = config.load_from_text(""" { "bot": { "brain": "bot1" } } """, ConsoleConfiguration(), ".") self.assertIsNotNone(configuration) self.assertEqual(1, len(configuration.client_configuration.configurations[0].configurations))
def test_without_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" console: """, ConsoleConfiguration(), ".") bot_config = yaml.get_section("console") client_config = ClientConfigurationData("test") client_config.load_configuration(yaml, bot_config, ".") self.assertIsNone(client_config.license_keys)
def test_load_from_text_multis_one_value(self): xml = XMLConfigurationFile() self.assertIsNotNone(xml) configuration = xml.load_from_text(""" <root> <bot> <brain>bot1</brain> </bot> </root> """, ConsoleConfiguration(), ".") self.assertIsNotNone(configuration) self.assertEqual(1, len(configuration.client_configuration.configurations[0].configurations))
def test_init_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" config: """, ConsoleConfiguration(), ".") line_config = LineConfiguration() line_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", line_config.host) self.assertEqual(80, line_config.port) self.assertEqual(False, line_config.debug)
def test_without_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text( """ brain: tokenizer: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") tokenizer_config = BrainTokenizerConfiguration() tokenizer_config.load_config_section(yaml, brain_config, ".")
def test_init_no_values(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" facebook: """, ConsoleConfiguration(), ".") facebook_config = FacebookConfiguration() facebook_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", facebook_config.host) self.assertEqual(80, facebook_config.port) self.assertEqual(False, facebook_config.debug)
def test_without_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text( """ brain: dynamic: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") dynamic_config = BrainDynamicsConfiguration() dynamic_config.load_config_section(yaml, brain_config, ".")
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") braintree_config = BrainBraintreeConfiguration() braintree_config.load_config_section(yaml, brain_config, ".") self.assertFalse(braintree_config.create)
def test_get_methods(self): config_data = JSONConfigurationFile() self.assertIsNotNone(config_data) configuration = config_data.load_from_text( """ { "brain": { "overrides": { "allow_system_aiml": true, "allow_learn_aiml": true, "allow_learnf_aiml": true, "int_value": 999 } } } """, ConsoleConfiguration(), ".") self.assertIsNotNone(configuration) section = config_data.get_section("brainx") self.assertIsNone(section) section = config_data.get_section("brain") self.assertIsNotNone(section) child_section = config_data.get_section("overrides", section) self.assertIsNotNone(child_section) keys = list(config_data.get_child_section_keys("overrides", section)) self.assertIsNotNone(keys) self.assertEqual(4, len(keys)) self.assertTrue("allow_system_aiml" in keys) self.assertTrue("allow_learn_aiml" in keys) self.assertTrue("allow_learnf_aiml" in keys) self.assertIsNone( config_data.get_child_section_keys("missing", section)) self.assertEqual( True, config_data.get_option(child_section, "allow_system_aiml")) self.assertEqual( True, config_data.get_option(child_section, "missing", missing_value=True)) self.assertEqual( True, config_data.get_bool_option(child_section, "allow_system_aiml")) self.assertEqual( False, config_data.get_bool_option(child_section, "other_value")) self.assertEqual( 999, config_data.get_int_option(child_section, "int_value")) self.assertEqual( 0, config_data.get_int_option(child_section, "other_value"))
def test_initialise_without_config_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" other: """, ConsoleConfiguration(), ".") file_config = yaml.get_section("files") config = FileStorageConfiguration() config.load_config_section(yaml, file_config, ".") tmpdir = FileStorageConfiguration.get_temp_dir() self.assert_object_config(config.categories_storage, dirs=[tmpdir + os.sep + "categories"], extension="aiml", subdirs=True, fileformat="xml", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.learnf_storage, dirs=[tmpdir + os.sep + "categories/learnf"], extension="aiml", subdirs=False, fileformat="xml", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.conversation_storage, dirs=[tmpdir + os.sep + "conversations"], extension="txt", subdirs=False, fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.sets_storage, dirs=[tmpdir + os.sep + "sets"], extension="txt", subdirs=False, fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.maps_storage, dirs=[tmpdir + os.sep + "maps"], extension="txt", subdirs=False, fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.rdf_storage, dirs=[tmpdir + os.sep + "rdfs"], extension="txt", subdirs=True, fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.denormal_storage, file=tmpdir + os.sep + "lookups/denormal.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.normal_storage, file=tmpdir + os.sep + "lookups/normal.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.gender_storage, file=tmpdir + os.sep + "lookups/gender.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.person_storage, file=tmpdir + os.sep + "lookups/person.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.person2_storage, file=tmpdir + os.sep + "lookups/person2.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.regex_storage, file=tmpdir + os.sep + "regex/regex-templates.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.properties_storage, file=tmpdir + os.sep + "properties/properties.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.defaults_storage, file=tmpdir + os.sep + "properties/defaults.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.twitter_storage, dirs=[tmpdir + os.sep + "twitter"], extension="txt", subdirs=False, fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.spelling_storage, file=tmpdir + os.sep + "spelling/corpus.txt", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.license_storage, file=tmpdir + os.sep + "licenses/license.keys", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.pattern_nodes_storage, file=tmpdir + os.sep + "nodes/pattern_nodes.conf", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.template_nodes_storage, file=tmpdir + os.sep + "nodes/template_nodes.conf", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.binaries_storage, file=tmpdir + os.sep + "binaries/binaries.bin", fileformat="binary", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.braintree_storage, file=tmpdir + os.sep + "braintree/braintree.xml", fileformat="xml", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.preprocessors_storage, file=tmpdir + os.sep + "processing/preprocessors.conf", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.postprocessors_storage, file=tmpdir + os.sep + "processing/postprocessors.conf", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.postquestionprocessors_storage, file=tmpdir + os.sep + "processing/postquestionprocessors.conf", fileformat="text", encoding="utf-8", delete_on_start=False) self.assert_object_config(config.usergroups_storage, file=tmpdir + os.sep + "security/usergroups.yaml", fileformat="yaml", encoding="utf-8", delete_on_start=False)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" bot: """, ConsoleConfiguration(), ".") bot_config = yaml.get_section("bot") sentiment_config = BotSentimentAnalyserConfiguration() sentiment_config.load_config_section(yaml, bot_config, ".") self.assertIsNone(sentiment_config.classname) self.assertIsNone(sentiment_config.scores)
def test_init(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" telegram: unknown_command: Sorry, that is not a command I have been taught yet! unknown_command_srai: YTELEGRAM_UNKNOWN_COMMAND """, ConsoleConfiguration(), ".") telegram_config = TelegramConfiguration() telegram_config.load_configuration(yaml, ".") self.assertEqual(telegram_config.unknown_command, "Sorry, that is not a command I have been taught yet!") self.assertEqual(telegram_config.unknown_command_srai, "YTELEGRAM_UNKNOWN_COMMAND")
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" bot: """, ConsoleConfiguration(), ".") bot_config = yaml.get_section("bot") redis_config = BotConversationsRedisStorageConfiguration("redis") redis_config.load_config_section(yaml, bot_config, ".") self.assertEquals("localhost", redis_config.host) self.assertEquals(6379, redis_config.port)
def test_load_from_text_multis_one_value(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) configuration = yaml.load_from_text( """ bot: brain: bot1 """, ConsoleConfiguration(), ".") self.assertIsNotNone(configuration) self.assertEqual( 1, len(configuration.client_configuration.configurations[0]. configurations))
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" bot: """, ConsoleConfiguration(), ".") console_config = yaml.get_section("console") triggers_config = TriggerConfiguration() triggers_config.load_config_section(yaml, console_config, ".") self.assertEquals("programy.triggers.local.LocalTriggerManager", triggers_config.manager)
def test_job_defaults_no_defaults(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" console: scheduler: """, ConsoleConfiguration(), ".") console_config = yaml.get_section("console") self.assertIsNotNone(console_config) scheduler_config = yaml.get_section("scheduler", console_config) self.assertIsNone(scheduler_config)
def test_initialise_with_no_config_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" other: """, ConsoleConfiguration(), ".") logger_config = yaml.get_section("logger") config = LoggerStorageConfiguration() config.load_config_section(yaml, logger_config, ".") self.assertEqual("conversation", config.conversation_logger)
def test_init_no_values(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" rest: """, ConsoleConfiguration(), ".") rest_config = RestConfiguration("rest") rest_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", rest_config.host) self.assertEqual(80, rest_config.port) self.assertEqual(False, rest_config.debug) self.assertEqual(False, rest_config.use_api_keys)
def test_to_yaml_with_defaults(self): config = ConsoleConfiguration() data = {} config.to_yaml(data, True) self.assertEqual('console', data['default_userid']) self.assertEqual('>>>', data['prompt']) self.assertEqual(data['bot'], 'bot') self.assertEqual(data['bot_selector'], "programy.clients.client.DefaultBotSelector") self.assertEqual(data['renderer'], "programy.clients.render.text.TextRenderer")
def test_without_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" bot: """, ConsoleConfiguration(), ".") bot_config = yaml.get_section("bot") convo_config = BotConversationsFileStorageConfiguration( config_name="file_storage") convo_config.load_config_section(yaml, bot_config, ".") self.assertIsNone(convo_config.dir)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") nodes_config = BrainNodesConfiguration() nodes_config.load_config_section(yaml, brain_config, ".") self.assertIsNone(nodes_config.pattern_nodes) self.assertIsNone(nodes_config.template_nodes)
def test_with_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: tokenizer: classname: programy.utils.language.chinese.ChineseLanguage """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") tokenizer_config = BrainTokenizerConfiguration() tokenizer_config.load_config_section(yaml, brain_config, ".") self.assertEqual("programy.utils.language.chinese.ChineseLanguage", tokenizer_config.classname)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") debugfiles_config = BrainDebugFilesConfiguration() debugfiles_config.load_config_section(yaml, brain_config, ".") self.assertFalse(debugfiles_config.save_errors) self.assertFalse(debugfiles_config.save_duplicates)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") binaries_config = BrainBinariesConfiguration() binaries_config.load_config_section(yaml, brain_config, ".") self.assertFalse(binaries_config.save_binary) self.assertFalse(binaries_config.load_binary) self.assertFalse(binaries_config.load_aiml_on_binary_fail)
def test_init_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" client: """, ConsoleConfiguration(), ".") kik_config = KikConfiguration() kik_config.load_configuration(yaml, ".") self.assertEqual("program-y", kik_config.bot_name) self.assertEqual("https://localhost:5000", kik_config.webhook) self.assertEqual("0.0.0.0", kik_config.host) self.assertEqual(80, kik_config.port) self.assertEqual(False, kik_config.debug)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" bot: """, ConsoleConfiguration(), ".") bot_config = yaml.get_section("bot") translator_config = BotTranslatorConfiguration(name="translator") translator_config.load_config_section(yaml, bot_config, ".") self.assertIsNone(translator_config.classname) self.assertIsNone(translator_config.from_lang) self.assertIsNone(translator_config.to_lang)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") overrides_config = BrainOverridesConfiguration() overrides_config.load_config_section(yaml, brain_config, ".") self.assertFalse(overrides_config.allow_system_aiml) self.assertFalse(overrides_config.allow_learn_aiml) self.assertFalse(overrides_config.allow_learnf_aiml)
def test_with_no_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") dynamic_config = BrainDynamicsConfiguration() dynamic_config.load_config_section(yaml, brain_config, ".") self.assertEquals({}, dynamic_config.dynamic_vars) self.assertEquals({}, dynamic_config.dynamic_sets) self.assertEquals({}, dynamic_config.dynamic_maps)