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); }
public LambdaRuntimeException(LambdaRuntimeErrorModel runtimeError) : base(ExceptionMessage) { RuntimeError = runtimeError; }