def test_topic_pattern(self): client = TestClient() client_context = ClientContext(client, "testid") client_context.bot = Bot(BotConfiguration(), client) client_context.bot.configuration.conversations._max_histories = 3 client_context.brain = client_context.bot.brain conversation = Conversation(client_context) self.assertEquals("*", conversation.get_topic_pattern(client_context)) conversation.set_property("topic", "TOPIC1") self.assertEquals("TOPIC1", conversation.get_topic_pattern(client_context))
def set_conversation_valiables(self, client_context, variables): if client_context.userid in self._conversations: conversation = self._conversations[client_context.userid] if self._conversation_storage is not None: self._conversation_storage.load_conversation( client_context, conversation) else: conversation = Conversation(client_context) conversation.num_categories = client_context.brain.aiml_parser.num_categories if self._conversation_storage is not None: self._conversation_storage.load_conversation( client_context, conversation) conversation.load_initial_variables( client_context.brain.default_variables) self._conversations[client_context.userid] = conversation for variable in variables: try: var_type = variable['type'] var_key = variable['key'] var_value = variable['value'] except Exception: raise if var_type == 'name': YLogger.debug(client_context, "set userid[%s] variable name[%s] = [%s]", client_context.userid, var_key, var_value) conversation.set_property(var_key, var_value) elif var_type == 'data': YLogger.debug(client_context, "set userid[%s] variable data[%s] = [%s]", client_context.userid, var_key, var_value) conversation.set_data_property(var_key, var_value) else: raise Exception('variable type not supported.') if self._conversation_storage is not None: self._conversation_storage.modify_conversation_data( client_context, conversation) if client_context.server_mode is True: self.remove_conversation(client_context)
def test_properties(self): client = TestClient() client_context = ClientContext(client, "testid") client_context.bot = Bot(BotConfiguration(), client) client_context.bot.configuration.conversations._max_histories = 3 client_context.brain = client_context.bot.brain conversation = Conversation(client_context) conversation.set_property("name1", "value1") self.assertEquals("value1", conversation.property("name1")) conversation.set_property("name2", "value2") self.assertEquals("value2", conversation.property("name2")) conversation.set_property("name2", "value3") self.assertEquals("value3", conversation.property("name2")) self.assertEquals(None, conversation.property("name3"))