Example #1
0
        public async Task TestCreateEmployeeInvalidJson()
        {
            var request = new APIGatewayProxyRequest();
            var context = new TestLambdaContext();

            Environment.SetEnvironmentVariable("BucketName", "test-employees");
            request.Body = "Invalid data";

            Dictionary <string, string> responseData = new Dictionary <string, string>
            {
                { "parseError", "valid json is required." }
            };

            var expectedResponse = new APIGatewayProxyResponse
            {
                Body       = JsonConvert.SerializeObject(responseData),
                StatusCode = 400,
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "application/json" }
                }
            };

            var function = new CreateEmployee.CreateEmployee();
            var response = await function.FunctionHandler(request, context);

            Console.WriteLine("Lambda Response: \n" + response.Body);
            Console.WriteLine("Expected Response: \n" + expectedResponse.Body);

            Assert.Equal(expectedResponse.Body, response.Body);
            Assert.Equal(expectedResponse.Headers, response.Headers);
            Assert.Equal(expectedResponse.StatusCode, response.StatusCode);
        }
Example #2
0
        public async Task TestCreateEmployeeFunctionHandler()
        {
            var request = new APIGatewayProxyRequest();
            var context = new TestLambdaContext();

            Environment.SetEnvironmentVariable("BucketName", "test-employees");
            Dictionary <string, string> inputEmployeeData = new Dictionary <string, string>
            {
                { "emp_id", "132" },
                { "emp_name", "Rick Sanchez" },
                { "emp_type", "Fulltime" },
                { "emp_dob", "12-10-1984" },
                { "emp_doj", "10-01-2001" },
                { "emp_department", "Finance" }
            };

            request.Body = JsonConvert.SerializeObject(inputEmployeeData);

            Dictionary <string, dynamic> responseData = new Dictionary <string, dynamic>
            {
                { "emp_id", 132 },
                { "emp_name", "Rick Sanchez" },
                { "emp_type", "Fulltime" },
                { "emp_dob", "1984-10-12 00:00:00" },
                { "emp_doj", "2001-01-10 00:00:00" },
                { "emp_department", "Finance" }
            };

            var expectedResponse = new APIGatewayProxyResponse
            {
                Body       = JsonConvert.SerializeObject(responseData),
                StatusCode = 200,
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "application/json" }
                }
            };

            var function = new CreateEmployee.CreateEmployee();
            var response = await function.FunctionHandler(request, context);

            Console.WriteLine("Lambda Response: \n" + response.Body);
            Console.WriteLine("Expected Response: \n" + expectedResponse.Body);

            Assert.Equal(expectedResponse.Body, response.Body);
            Assert.Equal(expectedResponse.Headers, response.Headers);
            Assert.Equal(expectedResponse.StatusCode, response.StatusCode);
        }