def test_ask_question_default_userid(self): config = BrainServiceConfiguration("__PUBLISHEDBOT__") config._host = "test_publishdbot" self._client_context.bot.brain.configuration._bot_name = "RequestBot" self._client_context.bot.brain.configuration._manager_name = "Bot_API_key" userInfo = UserInfo(None, None) userInfo.set("__USER_USERID__", "default_uesrid") userInfo.set("__USER_LOCALE__", "ja-JP") userInfo.set("__USER_TIME__", "2019-01-01T00:00:00+09:00") userInfo.set("__USER_METADATA__", None) self._client_context.userInfo = userInfo response_data = '{"response": "Hello"}' request_api = MockPublishedBotAPI(response=response_data) service = PublishedBotService(config=config, api=request_api) self.assertIsNotNone(service) service.botId = "PublishedBot" service.botHost = None service.locale = None service.time = None service.userId = None service.topic = None service.deleteVariable = None service.metadata = None service.config = None question = "Hello" response = service.ask_question(self._client_context, question) self.assertEqual('{"response": "Hello"}', response)
def test_nlu_and_invalid_srai(self): client = NluTestClient('nlu_invalid_srai.aiml', response_type='1') self._client_context = client.create_client_context("testid") self._client_context.userInfo = UserInfo(None, None) response = self._client_context.bot.ask_question( self._client_context, "Match NLU") self.assertIsNotNone(response) self.assertEqual(response, "")
def test_node_defaultformat_with_userinfo_None(self): userInfo = UserInfo(None, None) self._client_context.userInfo = userInfo root = TemplateNode() node = TemplateDateNode() root.append(node) dateTime = root.resolve(self._client_context) self.assertRegex(dateTime, TemplateDateNodeTests.DEFAULT_DATETIME_REGEX)
def test_format_success_response(self): arguments = MockArgumentParser() client = SanicYadlanClient("yadlan", arguments) self.assertIsNotNone(client) request = unittest.mock.Mock() request.body = b'{"userId": "1234567890"}' userInfo = UserInfo(client, request) response = client.format_success_response("1234567890", "Hello", "Hi", userInfo) self.assertIsNotNone(response) self.assertEqual("1234567890", response['userId']) self.assertEqual("Hello", response['utterance']) self.assertEqual("Hi", response['response']) self.assertEqual("None", response['topic'])
def test_node_defaultformat_with_userinfo_invalid_locale(self): userInfo = UserInfo(None, None) userInfo.set('__USER_LOCALE__', "x-x") userInfo.set('__USER_TIME__', "2019-01-01T00:00:00+0900") self._client_context.userInfo = userInfo root = TemplateNode() node = TemplateDateNode() root.append(node) dateTime = root.resolve(self._client_context) self.assertEqual(dateTime, "Tue Jan 1 00:00:00 2019") userInfo.set('__USER_LOCALE__', "JP") dateTime = root.resolve(self._client_context) self.assertEqual(dateTime, "Tue Jan 1 00:00:00 2019")
def test_format_error_response(self): arguments = MockArgumentParser() client = FlaskYadlanClient("yadlan", arguments) self.assertIsNotNone(client) request = unittest.mock.Mock() request.data = b'{"userId": "1234567890"}' userInfo = UserInfo(client, request) response = client.format_error_response("1234567890", "Hello", "Something Bad", userInfo) self.assertIsNotNone(response) self.assertEqual("1234567890", response['userId']) self.assertEqual("Hello", response['utterance']) self.assertEqual("", response['response']) self.assertEqual("None", response['topic']) self.assertEqual("Something Bad", response['error'])
def test_format_success_response(self): arguments = MockArgumentParser() client = SanicRestBotClient("sanic", arguments) self.assertIsNotNone(client) request = unittest.mock.Mock() request.raw_args = {} request.raw_args['userid'] = '1234567890' request.raw_args['question'] = 'Hello' userInfo = UserInfo(client, request) response = client.format_success_response("1234567890", "Hello", "Hi", userInfo) self.assertIsNotNone(response) self.assertEqual("1234567890", response['userId']) self.assertEqual("Hello", response['utterance']) self.assertEqual("Hi", response['response']) self.assertEqual("", response['topic'])
def test_node_defaultformat_with_userinfo_locale_US(self): userInfo = UserInfo(None, None) userInfo.set('__USER_LOCALE__', "en-US") userInfo.set('__USER_TIME__', "2019-01-01T00:00:00+0900") self._client_context.userInfo = userInfo root = TemplateNode() node = TemplateDateNode() root.append(node) dateTime = root.resolve(self._client_context) self.assertEqual(dateTime, "Mon Dec 31 10:00:00 2018")
def test_node_defaultformat_with_userinfo_invalid_timeform(self): userInfo = UserInfo(None, None) userInfo.set('__USER_LOCALE__', "ja-jp") userInfo.set('__USER_TIME__', "2019-01-01T00:00:00+09:00") self._client_context.userInfo = userInfo root = TemplateNode() node = TemplateDateNode() root.append(node) dateTime = root.resolve(self._client_context) self.assertRegex(dateTime, TemplateDateNodeTests.DEFAULT_DATETIME_REGEX)