using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Amazon.Lambda.Core; namespace Amazon.Lambda.TestUtilities { /// /// A test implementation of the ILambdaContext interface used for writing local tests of Lambda Functions. /// public class TestLambdaContext : ILambdaContext { /// /// The AWS request ID associated with the request. /// public string AwsRequestId { get; set; } /// /// Information about the client application and device when invoked /// through the AWS Mobile SDK. /// public IClientContext ClientContext { get; set; } /// /// Name of the Lambda function that is running. /// public string FunctionName { get; set; } /// /// The Lambda function version that is executing. /// If an alias is used to invoke the function, then this will be /// the version the alias points to. /// public string FunctionVersion { get; set; } /// /// Information about the Amazon Cognito identity provider when /// invoked through the AWS Mobile SDK. /// public ICognitoIdentity Identity { get; set; } /// /// The ARN used to invoke this function. /// public string InvokedFunctionArn { get; set; } /// /// Lambda logger associated with the Context object. For the TestLambdaContext this is default to the TestLambdaLogger. /// public ILambdaLogger Logger { get; set; } = new TestLambdaLogger(); /// /// The CloudWatch log group name associated with the invoked function. /// public string LogGroupName { get; set; } /// /// The CloudWatch log stream name for this function execution. /// public string LogStreamName { get; set; } /// /// Memory limit, in MB, you configured for the Lambda function. /// public int MemoryLimitInMB { get; set; } /// /// Remaining execution time till the function will be terminated. /// public TimeSpan RemainingTime { get; set; } } }