def test_lambda_handler_invocation(self): mock_request_handler = mock.MagicMock(spec=AbstractRequestHandler) mock_request_handler.can_handle.return_value = True mock_response = Response() mock_response.output_speech = "test output speech" mock_request_handler.handle.return_value = mock_response self.sb.add_request_handler(request_handler=mock_request_handler) mock_request_envelope_payload = { "context": { "System": { "application": { "applicationId": "test" } } } } self.sb.skill_id = "test" lambda_handler = self.sb.lambda_handler() response_envelope = lambda_handler(event=mock_request_envelope_payload, context=None) assert response_envelope["version"] == RESPONSE_FORMAT_VERSION, ( "Response Envelope from lambda handler invocation has version " "different than expected") assert response_envelope["userAgent"] == user_agent_info( sdk_version=__version__, custom_user_agent=None ), ("Response Envelope from lambda handler invocation has user agent " "info different than expected") assert response_envelope["response"][ "outputSpeech"] == "test output speech", ( "Response Envelope from lambda handler invocation has incorrect " "response than built by skill")
def test_should_append_additional_user_agent_using_userAgentManager(self): additional_user_agent = "test_string" sdk_user_agent = user_agent_info(sdk_version=__version__) mock_request_handler = mock.MagicMock(spec=AbstractRequestHandler) mock_request_handler.can_handle.return_value = True mock_response = Response() mock_request_handler.handle.return_value = mock_response self.sb.add_request_handler(request_handler=mock_request_handler) mock_request_envelope_payload = { "context": { "System": { "application": { "applicationId": "test" } } } } self.sb.skill_id = "test" lambda_handler = self.sb.lambda_handler() UserAgentManager.register_component( component_name=additional_user_agent) response_envelope = lambda_handler(event=mock_request_envelope_payload, context=None) self.assertEqual( "{} {}".format(additional_user_agent, sdk_user_agent), response_envelope["userAgent"], "Response envelope doesn't have correct user agent when adding " "using UserAgentManager")
def test_user_agent_info_with_no_custom_user_agent(): py_major_version = str(sys.version_info.major) py_minor_version = str(sys.version_info.minor) py_micro_version = str(sys.version_info.micro) expected_user_agent = "ask-python/{} Python/{}.{}.{}".format( __version__, py_major_version, py_minor_version, py_micro_version) assert user_agent_info(custom_user_agent=None) == expected_user_agent, ( "Incorrect User Agent info for Null custom user agent")