def __init__(self, section_name="brain"): self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._security = BrainSecuritiesConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() self._debugfiles = BrainDebugFilesConfiguration() BaseContainerConfigurationData.__init__(self, section_name)
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_save_then_load(self): tmpdir = FileStorageConfiguration.get_temp_dir() fullpath = tmpdir + os.sep + "braintree/braintree.bin" if os.path.exists(fullpath): os.remove(fullpath) factory = self.create_storage_factory(fullpath) config = BrainBinariesConfiguration() manager = BinariesManager(config) self.assertIsNotNone(manager) test_client = TestClient() client_context = test_client.create_client_context("test1") self.assertTrue( manager.save_binary(factory, client_context.bot.brain.aiml_parser)) self.assertTrue(os.path.exists(fullpath)) aiml_parser2 = manager.load_binary(factory) self.assertIsNotNone(aiml_parser2) if os.path.exists(fullpath): os.remove(fullpath)
def __init__(self, section_name="brain"): self._bot_name = None self._manager_name = None self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._services = BrainServicesConfiguration() self._security = BrainSecuritiesConfiguration() self._oob = BrainOOBSConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() self._debugfiles = BrainDebugFilesConfiguration() self._nlu = BrainNluConfiguration() BaseContainerConfigurationData.__init__(self, section_name)
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.assertIsNone(binaries_config.binary_filename) self.assertFalse(binaries_config.load_aiml_on_binary_fail)
def test_load_with_exception_and_not_raise(self): config = BrainBinariesConfiguration() config._load_aiml_on_binary_fail = True manager = BinariesManager(config) self.assertIsNotNone(manager) tmpdir = FileStorageConfiguration.get_temp_dir() fullpath = tmpdir + os.sep + "braintree/braintree.bin" if os.path.exists(fullpath): os.remove(fullpath) factory = self.create_storage_factory(fullpath) self.assertIsNone(manager.load_binary(factory))
def to_yaml(self, data, defaults=True): self.config_to_yaml(data, BrainOverridesConfiguration(), defaults) self.config_to_yaml(data, BrainDefaultsConfiguration(), defaults) self.config_to_yaml(data, BrainBinariesConfiguration(), defaults) self.config_to_yaml(data, BrainBraintreeConfiguration(), defaults) self.config_to_yaml(data, BrainSecuritiesConfiguration(), defaults) self.config_to_yaml(data, BrainDynamicsConfiguration(), defaults) self.config_to_yaml(data, BrainTokenizerConfiguration(), defaults) self.config_to_yaml(data, BrainDebugFilesConfiguration(), defaults)
def test_with_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" brain: binaries: save_binary: true load_binary: true binary_filename: /tmp/y-bot.brain load_aiml_on_binary_fail: true """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") binaries_config = BrainBinariesConfiguration() binaries_config.load_config_section(yaml, brain_config, ".") self.assertTrue(binaries_config.save_binary) self.assertTrue(binaries_config.load_binary) self.assertEquals("/tmp/y-bot.brain", binaries_config.binary_filename) self.assertTrue(binaries_config.load_aiml_on_binary_fail)
def __init__(self, section_name="brain"): self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._nodes = BrainNodesConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._files = BrainFilesConfiguration() self._services = BrainServicesConfiguration() self._security = BrainSecuritiesConfiguration() self._oob = BrainOOBSConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() BaseContainerConfigurationData.__init__(self, section_name)
def test_with_data(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text( """ brain: binaries: save_binary: true load_binary: true binary_filename: /tmp/y-bot.brain load_aiml_on_binary_fail: true """, ConsoleConfiguration(), ".") brain_config = yaml.get_section("brain") binaries_config = BrainBinariesConfiguration() binaries_config.load_config_section(yaml, brain_config, ".") self.assertTrue(binaries_config.save_binary) self.assertTrue(binaries_config.load_binary) self.assertEquals("/tmp/y-bot.brain", binaries_config.binary_filename) self.assertTrue(binaries_config.load_aiml_on_binary_fail)
def test_save_binary_no_storage(self): bin_config = BrainBinariesConfiguration() bin_manager = BinariesManager(bin_config) tmpdir = os.path.dirname(__file__) + os.sep + "tmp" binfile = tmpdir + os.sep + 'braintree.bin' client = TestClient(binfile) bot = client.bot_factory._bots['bot'] brain = bot.brain bin_manager.set_aiml_parser(brain.aiml_parser) bin_manager.save_binary(client.storage_factory)
def test_save_then_load_no_config(self): config = FileStorageConfiguration() factory = StorageFactory() storage_engine = FileStorageEngine(config) storage_engine.initialise() config = BrainBinariesConfiguration() manager = BinariesManager(config) self.assertIsNotNone(manager) test_client = TestClient() client_context = test_client.create_client_context("test1") self.assertFalse( manager.save_binary(factory, client_context.bot.brain.aiml_parser)) self.assertIsNone(manager.load_binary(factory))
class BrainConfiguration(BaseContainerConfigurationData): def __init__(self, section_name="brain"): self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._services = BrainServicesConfiguration() self._openchatbots = BrainOpenChatBotsConfiguration() self._security = BrainSecuritiesConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() self._debugfiles = BrainDebugFilesConfiguration() BaseContainerConfigurationData.__init__(self, section_name) @property def overrides(self): return self._overrides @property def defaults(self): return self._defaults @property def binaries(self): return self._binaries @property def braintree(self): return self._braintree @property def services(self): return self._services @property def openchatbots(self): return self._openchatbots @property def security(self): return self._security @property def dynamics(self): return self._dynamics @property def tokenizer(self): return self._tokenizer @property def debugfiles(self): return self._debugfiles def check_for_license_keys(self, license_keys): self._overrides.check_for_license_keys(license_keys) self._defaults.check_for_license_keys(license_keys) self._binaries.check_for_license_keys(license_keys) self._braintree.check_for_license_keys(license_keys) self._services.check_for_license_keys(license_keys) self._openchatbots.check_for_license_keys(license_keys) self._security.check_for_license_keys(license_keys) self._dynamics.check_for_license_keys(license_keys) self._tokenizer.check_for_license_keys(license_keys) self._debugfiles.check_for_license_keys(license_keys) BaseContainerConfigurationData.check_for_license_keys( self, license_keys) def load_configuration(self, configuration_file, brain_config, bot_root, subs: Substitutions = None): if brain_config is not None: self._overrides.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._defaults.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._binaries.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._braintree.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._services.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._openchatbots.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._security.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._dynamics.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._tokenizer.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._debugfiles.load_config_section(configuration_file, brain_config, bot_root, subs=subs) def to_yaml(self, data, defaults=True): self.config_to_yaml(data, BrainOverridesConfiguration(), defaults) self.config_to_yaml(data, BrainDefaultsConfiguration(), defaults) self.config_to_yaml(data, BrainBinariesConfiguration(), defaults) self.config_to_yaml(data, BrainBraintreeConfiguration(), defaults) self.config_to_yaml(data, BrainServicesConfiguration(), defaults) self.config_to_yaml(data, BrainOpenChatBotsConfiguration(), defaults) self.config_to_yaml(data, BrainSecuritiesConfiguration(), defaults) self.config_to_yaml(data, BrainDynamicsConfiguration(), defaults) self.config_to_yaml(data, BrainTokenizerConfiguration(), defaults) self.config_to_yaml(data, BrainDebugFilesConfiguration(), defaults)
class BrainConfiguration(BaseContainerConfigurationData): def __init__(self, section_name="brain"): self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._nodes = BrainNodesConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._files = BrainFilesConfiguration() self._services = BrainServicesConfiguration() self._security = BrainSecuritiesConfiguration() self._oob = BrainOOBSConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() BaseContainerConfigurationData.__init__(self, section_name) @property def overrides(self): return self._overrides @property def defaults(self): return self._defaults @property def nodes(self): return self._nodes @property def binaries(self): return self._binaries @property def braintree(self): return self._braintree @property def files(self): return self._files @property def services(self): return self._services @property def security(self): return self._security @property def oob(self): return self._oob @property def dynamics(self): return self._dynamics @property def tokenizer(self): return self._tokenizer def load_configuration(self, configuration_file, bot_root): brain_config = configuration_file.get_section(self.section_name) if brain_config is not None: self._overrides.load_config_section(configuration_file, brain_config, bot_root) self._defaults.load_config_section(configuration_file, brain_config, bot_root) self._nodes.load_config_section(configuration_file, brain_config, bot_root) self._binaries.load_config_section(configuration_file, brain_config, bot_root) self._braintree.load_config_section(configuration_file, brain_config, bot_root) self._files.load_config_section(configuration_file, brain_config, bot_root) self._services.load_config_section(configuration_file, brain_config, bot_root) self._security.load_config_section(configuration_file, brain_config, bot_root) self._oob.load_config_section(configuration_file, brain_config, bot_root) self._dynamics.load_config_section(configuration_file, brain_config, bot_root) self._tokenizer.load_config_section(configuration_file, brain_config, bot_root) def to_yaml(self, data, defaults=True): self.config_to_yaml(data, BrainOverridesConfiguration(), defaults) self.config_to_yaml(data, BrainDefaultsConfiguration(), defaults) self.config_to_yaml(data, BrainNodesConfiguration(), defaults) self.config_to_yaml(data, BrainBinariesConfiguration(), defaults) self.config_to_yaml(data, BrainBraintreeConfiguration(), defaults) self.config_to_yaml(data, BrainFilesConfiguration(), defaults) self.config_to_yaml(data, BrainServicesConfiguration(), defaults) self.config_to_yaml(data, BrainSecuritiesConfiguration(), defaults) self.config_to_yaml(data, BrainOOBSConfiguration(), defaults) self.config_to_yaml(data, BrainDynamicsConfiguration(), defaults) self.config_to_yaml(data, BrainTokenizerConfiguration(), defaults)
def test_to_yaml_defaults(self): binaries_config = BrainBinariesConfiguration() data = {} binaries_config.to_yaml(data, True) BrainBinariesConfigurationTests.assert_defaults(self, data)
def test_save_binary_no_parser(self): bin_config = BrainBinariesConfiguration() bin_manager = BinariesManager(bin_config) storage_factory = StorageFactory() bin_manager.save_binary(storage_factory)
def test_load_binary_no_storage(self): bin_config = BrainBinariesConfiguration() bin_manager = BinariesManager(bin_config) storage_factory = StorageFactory() bin_manager.load_binary(storage_factory)
class BrainConfiguration(BaseContainerConfigurationData): def __init__(self, section_name="brain"): self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._nodes = BrainNodesConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._files = BrainFilesConfiguration() self._services = BrainServicesConfiguration() self._security = BrainSecuritiesConfiguration() self._oob = BrainOOBSConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() BaseContainerConfigurationData.__init__(self, section_name) @property def overrides(self): return self._overrides @property def defaults(self): return self._defaults @property def nodes(self): return self._nodes @property def binaries(self): return self._binaries @property def braintree(self): return self._braintree @property def files(self): return self._files @property def services(self): return self._services @property def security(self): return self._security @property def oob(self): return self._oob @property def dynamics(self): return self._dynamics @property def tokenizer(self): return self._tokenizer def load_configuration(self, configuration_file, bot_root): brain_config = configuration_file.get_section(self.section_name) if brain_config is not None: self._overrides.load_config_section(configuration_file, brain_config, bot_root) self._defaults.load_config_section(configuration_file, brain_config, bot_root) self._nodes.load_config_section(configuration_file, brain_config, bot_root) self._binaries.load_config_section(configuration_file, brain_config, bot_root) self._braintree.load_config_section(configuration_file, brain_config, bot_root) self._files.load_config_section(configuration_file, brain_config, bot_root) self._services.load_config_section(configuration_file, brain_config, bot_root) self._security.load_config_section(configuration_file, brain_config, bot_root) self._oob.load_config_section(configuration_file, brain_config, bot_root) self._dynamics.load_config_section(configuration_file, brain_config, bot_root) self._tokenizer.load_config_section(configuration_file, brain_config, bot_root) def to_yaml(self, data, defaults=True): self.config_to_yaml(data, BrainOverridesConfiguration(), defaults) self.config_to_yaml(data, BrainDefaultsConfiguration(), defaults) self.config_to_yaml(data, BrainNodesConfiguration(), defaults) self.config_to_yaml(data, BrainBinariesConfiguration(), defaults) self.config_to_yaml(data, BrainBraintreeConfiguration(), defaults) self.config_to_yaml(data, BrainFilesConfiguration(), defaults) self.config_to_yaml(data, BrainServicesConfiguration(), defaults) self.config_to_yaml(data, BrainSecuritiesConfiguration(), defaults) self.config_to_yaml(data, BrainOOBSConfiguration(), defaults) self.config_to_yaml(data, BrainDynamicsConfiguration(), defaults) self.config_to_yaml(data, BrainTokenizerConfiguration(), defaults)
def test_init_with_config(self): config = BrainBinariesConfiguration() manager = BinariesManager(config) self.assertIsNotNone(manager) self.assertEquals(config, manager._configuration)
class BrainConfiguration(BaseContainerConfigurationData): def __init__(self, section_name="brain"): self._bot_name = None self._manager_name = None self._overrides = BrainOverridesConfiguration() self._defaults = BrainDefaultsConfiguration() self._binaries = BrainBinariesConfiguration() self._braintree = BrainBraintreeConfiguration() self._services = BrainServicesConfiguration() self._security = BrainSecuritiesConfiguration() self._oob = BrainOOBSConfiguration() self._dynamics = BrainDynamicsConfiguration() self._tokenizer = BrainTokenizerConfiguration() self._debugfiles = BrainDebugFilesConfiguration() self._nlu = BrainNluConfiguration() BaseContainerConfigurationData.__init__(self, section_name) @property def bot_name(self): return self._bot_name @property def manager_name(self): return self._manager_name @property def overrides(self): return self._overrides @property def defaults(self): return self._defaults @property def binaries(self): return self._binaries @property def braintree(self): return self._braintree @property def services(self): return self._services @property def security(self): return self._security @property def oob(self): return self._oob @property def dynamics(self): return self._dynamics @property def tokenizer(self): return self._tokenizer @property def debugfiles(self): return self._debugfiles @property def nlu(self): return self._nlu def check_for_license_keys(self, license_keys): self._overrides.check_for_license_keys(license_keys) self._defaults.check_for_license_keys(license_keys) self._binaries.check_for_license_keys(license_keys) self._braintree.check_for_license_keys(license_keys) self._services.check_for_license_keys(license_keys) self._security.check_for_license_keys(license_keys) self._oob.check_for_license_keys(license_keys) self._dynamics.check_for_license_keys(license_keys) self._tokenizer.check_for_license_keys(license_keys) self._debugfiles.check_for_license_keys(license_keys) self._nlu.check_for_license_keys(license_keys) BaseContainerConfigurationData.check_for_license_keys( self, license_keys) def load_configuration(self, configuration_file, bot_root, subs: Substitutions = None): brain_config = configuration_file.get_section(self.section_name) if brain_config is not None: self._bot_name = configuration_file.get_option( brain_config, "bot_name") self._manager_name = configuration_file.get_option( brain_config, "manager_name") self._overrides.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._defaults.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._binaries.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._braintree.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._services.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._security.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._oob.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._dynamics.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._tokenizer.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._debugfiles.load_config_section(configuration_file, brain_config, bot_root, subs=subs) self._nlu.load_config_section(configuration_file, brain_config, bot_root, subs=subs) def to_yaml(self, data, defaults=True): self.config_to_yaml(data, BrainOverridesConfiguration(), defaults) self.config_to_yaml(data, BrainDefaultsConfiguration(), defaults) self.config_to_yaml(data, BrainBinariesConfiguration(), defaults) self.config_to_yaml(data, BrainBraintreeConfiguration(), defaults) self.config_to_yaml(data, BrainServicesConfiguration(), defaults) self.config_to_yaml(data, BrainSecuritiesConfiguration(), defaults) self.config_to_yaml(data, BrainOOBSConfiguration(), defaults) self.config_to_yaml(data, BrainDynamicsConfiguration(), defaults) self.config_to_yaml(data, BrainTokenizerConfiguration(), defaults) self.config_to_yaml(data, BrainDebugFilesConfiguration(), defaults) self.config_to_yaml(data, BrainNluConfiguration(), defaults)