public void SetsExecutionEnvironmentButNotTwice()
        {
            var expectedValueRegex = new Regex($"{LambdaExecutionEnvironment}_amazonlambdaruntimesupport_[0-9]+\\.[0-9]+\\.[0-9]+");

            _environmentVariables.SetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment, LambdaExecutionEnvironment);

            var lambdaEnvironment = new LambdaEnvironment(_environmentVariables);

            Assert.True(expectedValueRegex.IsMatch(lambdaEnvironment.ExecutionEnvironment));
            Assert.True(expectedValueRegex.IsMatch(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment)));

            // Make sure that creating another LambdaEnvironment instance won't change the value.
            lambdaEnvironment = new LambdaEnvironment(_environmentVariables);
            Assert.True(expectedValueRegex.IsMatch(lambdaEnvironment.ExecutionEnvironment));
            Assert.True(expectedValueRegex.IsMatch(_environmentVariables.GetEnvironmentVariable(LambdaEnvironment.EnvVarExecutionEnvironment)));
        }
        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}");
        }
    public static int test(string s)
    {
        var obj = new LambdaEnvironment();

        return(obj.method(s));
    }
	public static int test(string s) {
		var obj = new LambdaEnvironment();
		return obj.method(s);
	}