Пример #1
0
    def test_ask_question_valid_xml(self):

        request_api = MockRequestsAPI()
        pandora_api = PandoraAPI(request_api=request_api)
        request_api._response = """
        <response>
            <that>Hello</that>
        </response>
        """
        response = pandora_api.ask_question("http://testurl", "Hello",
                                            "testid")
        self.assertEquals(response, "Hello")
Пример #2
0
    def test_ask_question_valid_json(self):

        request_api = MockRequestsAPI()
        pannous_api = PannousAPI(request_api=request_api)
        request_api._response = json.loads("""
        {
            "output": [
                { "actions": { "say": {"text": "Hello"} } }
            ]
        }
        """)
        response = pannous_api.ask_question("http://testurl", "Hello",
                                            "testid")
        self.assertEquals(response, "Hello")
Пример #3
0
    def test_ask_question_no_that(self):

        request_api = MockRequestsAPI()
        pandora_api = PandoraAPI(request_api=request_api)
        request_api._response = """
        <response>
        </response>
        """

        with self.assertRaises(Exception) as raised:
            response = pandora_api.ask_question("http://testurl", "Hello",
                                                "testid")
        self.assertEqual(
            raised.exception.args[0],
            "Invalid response from pandora service, no <that> element in xml")
Пример #4
0
    def test_ask_question_missing_output(self):

        with self.assertRaises(Exception) as raised:
            request_api = MockRequestsAPI()
            pannous_api = PannousAPI(request_api=request_api)
            request_api._response = json.loads("""
            {
                "result": [
                    { "items": { "say": {"response": "Hello"} } }
                ]
            }
            """)
            response = pannous_api.ask_question("http://testurl", "Hello",
                                                "testid")
        self.assertEqual(raised.exception.args[0],
                         "'output' section missing from pannous json_data")
Пример #5
0
    def test_ask_question_no_response(self):

        with self.assertRaises(Exception) as raised:
            request_api = MockRequestsAPI(response=None)
            pandora_api = PandoraAPI(request_api=request_api)
            response = pandora_api.ask_question("http://testurl", "Hello",
                                                "testid")
        self.assertEqual(raised.exception.args[0],
                         "No response from pandora service")
Пример #6
0
    def test_ask_question_empty_output(self):

        with self.assertRaises(Exception) as raised:
            request_api = MockRequestsAPI()
            pannous_api = PannousAPI(request_api=request_api)
            request_api._response = json.loads("""
            {
                "output": []
            }
            """)
            response = pannous_api.ask_question("http://testurl", "Hello",
                                                "testid")
        self.assertEqual(
            raised.exception.args[0],
            "'output' section has no elements in pannous json_data")

        with self.assertRaises(Exception) as raised:
            request_api = MockRequestsAPI()
            pannous_api = PannousAPI(request_api=request_api)
            request_api._response = json.loads("""
            {
                "output": null
            }
            """)
            response = pannous_api.ask_question("http://testurl", "Hello",
                                                "testid")
        self.assertEqual(
            raised.exception.args[0],
            "'output' section has no elements in pannous json_data")