Ejemplo n.º 1
0
 def test_no_token_logging(self, logger_mock):
     self.request.json['context']['tokens'] = {"demotoken": "abcdefg"}
     with patch('skill_sdk.routes.request', new=self.request), \
             patch.object(skill_sdk.skill.Skill, '_intents', new={'TELEKOM_Demo_Intent': self.intent}):
         from skill_sdk.routes import invoke
         invoke()
     log = StringIO()
     [log.write(str(i)) for i in logger_mock.debug.call_args_list]
     self.assertNotIn('abcdefh', log.getvalue())
     self.assertIn('*****', log.getvalue())
     self.assertEqual(self.request.json['context']['tokens'], {"demotoken": "abcdefg"})
Ejemplo n.º 2
0
 def test_invoke_other_error(self):
     intent = self.intent
     intent.implementation = error_intent
     with patch('skill_sdk.routes.request', new=self.request), \
             patch.object(skill_sdk.skill.Skill, '_intents', new={'TELEKOM_Demo_Intent': intent}):
         from skill_sdk.routes import invoke
         result = invoke()
     self.assertEqual(result.status_code, 500)
Ejemplo n.º 3
0
    def test_invoke_close_tracing_scope(self, close_scope):
        """ Ensure tracing scope is closed when invoke is complete """

        with patch('skill_sdk.routes.request', new=self.request), \
                patch.object(skill_sdk.skill.Skill, '_intents', new={'TELEKOM_Demo_Intent': self.intent}):
            from skill_sdk.routes import invoke
            result = invoke()

        close_scope.assert_called_once()
Ejemplo n.º 4
0
 def test_invoke_json_decode_error(self):
     intent = self.intent
     intent.implementation = error_intent
     with patch('skill_sdk.routes.request', new=self.request), \
             patch('skill_sdk.log.prepare_for_logging', side_effect=JSONDecodeError('', '', 0)), \
             patch.object(skill_sdk.skill.Skill, '_intents', new={'TELEKOM_Demo_Intent': intent}):
         from skill_sdk.routes import invoke
         result = invoke()
     self.assertEqual(result.status_code, 400)
Ejemplo n.º 5
0
 def test_invoke_intent_not_found(self):
     self.request.json = {
         "context": {
             "attributes": {...},
             "intent": "TELEKOM_Demo_Intent",
             "locale": "de",
             "tokens": {},
             "clientAttributes": {}
         },
         "session": {
             "new": True,
             "id": "12345",
             "attributes": {
                 "key-1": "value-1",
                 "key-2": "value-2"
             }
         },
         "version": 1
     }
     with patch('skill_sdk.routes.request', new=self.request):
         from skill_sdk.routes import invoke
         result = invoke()
     self.assertEqual(result.status_code, 404)
Ejemplo n.º 6
0
 def test_invoke_exception(self):
     with patch('skill_sdk.routes.Context', side_effect=SyntaxError), \
          patch('skill_sdk.routes.request', new=self.request):
         from skill_sdk.routes import invoke
         result = invoke()
     self.assertEqual(result.status_code, 500)
Ejemplo n.º 7
0
 def test_invoke_translation_error(self):
     with patch('skill_sdk.routes.request', new=self.request), patch('skill_sdk.l10n.logger') as fake_log:
         from skill_sdk.routes import invoke
         result = invoke()
         self.assertEqual(result.status_code, 404)
         fake_log.error.assert_called_with('A translation for locale %s is not available.', 'de')
Ejemplo n.º 8
0
 def test_invoke(self):
     with patch('skill_sdk.routes.request', new=self.request), \
             patch.object(skill_sdk.skill.Skill, '_intents', new={'TELEKOM_Demo_Intent': self.intent}):
         from skill_sdk.routes import invoke
         result = invoke()
     self.assertEqual(result.status_code, 200)