public void Setup() { _firstPage = new ListFunctionsResponse { NextMarker = "token-1", Functions = new List <FunctionConfiguration> { new FunctionConfiguration { FunctionName = "Function-1" } } }; _secondPage = new ListFunctionsResponse { NextMarker = "token-2", Functions = new List <FunctionConfiguration> { new FunctionConfiguration { FunctionName = "Function-2" } } }; _thirdPage = new ListFunctionsResponse { Functions = new List <FunctionConfiguration> { new FunctionConfiguration { FunctionName = "Function-3" } } }; var lambdaMock = new Mock <IAmazonLambda>(); lambdaMock.Setup(s => s.ListFunctionsAsync( It.Is <ListFunctionsRequest>(r => r.Marker == null), It.IsAny <CancellationToken>() )).ReturnsAsync(_firstPage); lambdaMock.Setup(s => s.ListFunctionsAsync( It.Is <ListFunctionsRequest>(r => r.Marker == "token-1"), It.IsAny <CancellationToken>() )).ReturnsAsync(_secondPage); lambdaMock.Setup(s => s.ListFunctionsAsync( It.Is <ListFunctionsRequest>(r => r.Marker == "token-2"), It.IsAny <CancellationToken>() )).ReturnsAsync(_thirdPage); _lambdaSource = new LambdaSource(lambdaMock.Object); }
/// <summary> /// Entry point into the Lambda via the custom runtime. /// </summary> /// <param name="args"></param> public static void Main(string[] args) { LambdaSource triggerSource = LambdaDetector.DetectSource(); switch (triggerSource) { case LambdaSource.ApiGateway: TriggerFromApiGateway(); break; case LambdaSource.Sqs: TriggerFromSqs(); break; default: break; } }