public HandlerWrapperTests()
        {
            var environmentVariables = new TestEnvironmentVariables();

            _lambdaEnvironment = new LambdaEnvironment(environmentVariables);

            var headers = new Dictionary <string, IEnumerable <string> >();

            headers.Add(RuntimeApiHeaders.HeaderAwsRequestId, new List <string>()
            {
                "request_id"
            });
            headers.Add(RuntimeApiHeaders.HeaderInvokedFunctionArn, new List <string>()
            {
                "invoked_function_arn"
            });
            _runtimeApiHeaders = new RuntimeApiHeaders(headers);
            _checkpoint        = new Checkpoint();
        }
        public void RemainingTimeIsPositive()
        {
            var deadline   = DateTimeOffset.UtcNow.AddHours(1);
            var deadlineMs = deadline.ToUnixTimeMilliseconds().ToString(CultureInfo.InvariantCulture);

            var headers = new Dictionary <string, IEnumerable <string> >
            {
                ["Lambda-Runtime-Aws-Request-Id"]       = new[] { Guid.NewGuid().ToString() },
                ["Lambda-Runtime-Deadline-Ms"]          = new[] { deadlineMs },
                ["Lambda-Runtime-Invoked-Function-Arn"] = new[] { "my-function-arn" }
            };

            var runtimeApiHeaders = new RuntimeApiHeaders(headers);
            var lambdaEnvironment = new LambdaEnvironment(_environmentVariables);

            var context = new LambdaContext(runtimeApiHeaders, lambdaEnvironment);

            Assert.True(context.RemainingTime >= TimeSpan.Zero, $"Remaining time is not a positive value: {context.RemainingTime}");
        }