#!/usr/bin/env python3 # © Copyright 2021-2022, Scott Gasch """google_assistant unittest.""" import unittest from unittest.mock import MagicMock, patch import google_assistant import unittest_utils # Needed for --unittests_ignore_perf flag class TestGoogleAssistant(unittest.TestCase): def test_failure_case(self): with patch('requests.post') as mock: response = MagicMock() response.status_code = 404 mock.return_value = response ret = google_assistant.ask_google('What happens with a 404 response?') self.assertFalse(ret.success) self.assertTrue('failed; code 404' in ret.response) self.assertEqual('', ret.audio_transcription) self.assertEqual('', ret.audio_url) def test_success_case(self): with patch('requests.post') as mock: response = MagicMock() response.status_code = 200 json = {'response': 'LGTM', 'audio': '', 'success': True} response.json = MagicMock(return_value=json) mock.return_value = response ret = google_assistant.ask_google('Is this thing working?', recognize_speech=False) self.assertTrue(ret.success) if __name__ == '__main__': unittest.main()