示例#1
0
        public void InvokeAsync_AmazonLambdaReturnsUnhandledFunctionError_ShouldThrowLambdaRuntimeExceptionWithDeserializedInfo()
        {
            // Given
            var expectedErrorModel = new LambdaRuntimeErrorModel
            {
                ErrorType      = "ErrorType"
                , ErrorMessage = "ErrorMessage"
                , StackTrace   = new[]
                {
                    "One"
                    , "Two"
                    , "Three"
                }
            };

            var serializerMock   = new Mock <IJsonSerializer>();
            var amazonLambdaMock = new Mock <IAmazonLambda>();

            amazonLambdaMock.ReturnsFunctionErrorResponse(TestFunctionName);
            serializerMock.ReturnsObject(expectedErrorModel);

            var lambdaClient = new AwsLambdaClient(amazonLambdaMock.Object, serializerMock.Object);

            // When
            var func = lambdaClient.Awaiting(x => x.InvokeAsync <TestRequestModel, TestResponseModel>(TestFunctionName, _testRequestModel));

            // Then
            func.Should()
            .ThrowExactly <LambdaRuntimeException>()
            .And.RuntimeError
            .Should()
            .BeEquivalentTo(expectedErrorModel);
        }
示例#2
0
 public LambdaRuntimeException(LambdaRuntimeErrorModel runtimeError) : base(ExceptionMessage)
 {
     RuntimeError = runtimeError;
 }