def test_response_from_request(self): alice_request = types.AliceRequest(**ALICE_REQUEST) alice_response = alice_request.response( EXPECTED_RESPONSE['response']['text'] ) self._assert_payload(alice_response, EXPECTED_RESPONSE)
def test_response_from_request2(self): alice_request = types.AliceRequest(None, **ALICE_REQUEST) alice_response = alice_request.response( RESPONSE_TEXT, tts=TTS, buttons=[types.Button(BUTTON_TEXT, url=URL)]) self._assert_payload(alice_response, EXPECTED_RESPONSE_WITH_BUTTONS)
def test_alice_request(self): alice_request_json = { "meta": { "locale": "ru-RU", "timezone": "Europe/Moscow", "client_id": "ru.yandex.searchplugin/5.80 (Samsung Galaxy; Android 4.4)" }, "request": { "command": "где ближайшее отделение", "original_utterance": "Алиса спроси у Сбербанка где ближайшее отделение", "type": "SimpleUtterance", "markup": { "dangerous_context": True }, "payload": {} }, "session": { "new": True, "message_id": 4, "session_id": "2eac4854-fce721f3-b845abba-20d60", "skill_id": "3ad36498-f5rd-4079-a14b-788652932056", "user_id": "AC9WC3DF6FCE052E45A4566A48E6B7193774B84814CE49A922E163B8B29881DC" }, "version": "1.0" } alice_request = types.AliceRequest(**alice_request_json) self.assertEqual(alice_request.to_json(), alice_request_json) self._test_alice_request(alice_request, alice_request_json)
def test_response_big_image_from_request(self): alice_request = types.AliceRequest(**ALICE_REQUEST) alice_response = alice_request.response_big_image( RESPONSE_TEXT, IMAGE_ID, CARD_TITLE, CARD_DESCR, types.MediaButton(BUTTON_TEXT, URL, MB_PAYLOAD), buttons=[RESPONSE_BUTTON] ) self._assert_payload(alice_response, EXPECTED_ALICE_RESPONSE_BIG_IMAGE_WITH_BUTTON)
def test_response_items_list_from_request(self): alice_request = types.AliceRequest(None, **ALICE_REQUEST) alice_response = alice_request.response_items_list( RESPONSE_TEXT, CARD_HEADER_TEXT, [types.Image(**IMAGE)], types.CardFooter(**FOOTER), buttons=[RESPONSE_BUTTON]) self._assert_payload(alice_response, EXPECTED_ALICE_RESPONSE_ITEMS_LIST_WITH_BUTTON)
def test_request_with_interfaces(self): alice_request = types.AliceRequest(**PING_REQUEST_1) self._test_alice_request(alice_request, PING_REQUEST_1)
def _test_alice_request_from_dct(self, dct): alice_request = types.AliceRequest(None, **dct) self._test_alice_request(alice_request, dct)
def test_alice_request(self): alice_request = types.AliceRequest(**ALICE_REQUEST) self.assertEqual(alice_request.to_json(), ALICE_REQUEST) self._test_alice_request(alice_request, ALICE_REQUEST)
def test_response_from_request(self): alice_request_json = { "meta": { "locale": "ru-RU", "timezone": "Europe/Moscow", "client_id": "ru.yandex.searchplugin/5.80 (Samsung Galaxy; Android 4.4)" }, "request": { "command": "где ближайшее отделение", "original_utterance": "Алиса спроси у Сбербанка где ближайшее отделение", "type": "SimpleUtterance", "markup": { "dangerous_context": True }, "payload": None }, "session": { "new": True, "message_id": 4, "session_id": "2eac4854-fce721f3-b845abba-20d60", "skill_id": "3ad36498-f5rd-4079-a14b-788652932056", "user_id": "AC9WC3DF6FCE052E45A4566A48E6B7193774B84814CE49A922E163B8B29881DC" }, "version": "1.0" } alice_request = types.AliceRequest(**alice_request_json) resp_text = 'Здравствуйте! Это мы, хороводоведы.' alice_response = alice_request.response(resp_text) expected_response = { "response": { "text": resp_text, 'tts': None, 'buttons': None, "end_session": False }, "session": { "session_id": "2eac4854-fce721f3-b845abba-20d60", "message_id": 4, "user_id": "AC9WC3DF6FCE052E45A4566A48E6B7193774B84814CE49A922E163B8B29881DC" }, "version": "1.0" } self.assertEqual(alice_response.to_json(), expected_response) new_tts = "Здравствуйте! Это мы, хоров+одо в+еды." btn_title = "Надпись на кнопке" btn_url = "https://example.com/" new_btn = types.Button(btn_title, url=btn_url) expected_response["response"].update({ "tts": new_tts, "buttons": [ { "title": btn_title, "payload": None, "url": btn_url, "hide": True } ], }) alice_response.response.tts = new_tts alice_response.response.buttons = [new_btn] self.assertEqual(alice_response.to_json(), expected_response) alice_response = alice_request.response(resp_text, tts=new_tts, buttons=[new_btn]) self.assertEqual(alice_response.to_json(), expected_response)