You may find my base repository here.
bervProject / lambda-sharp
Lambda use C# (.NET) Docker Image
Lambda Sharp Demo
Demo for Lambda Containerized .NET
LICENSE
MIT
Please see my previous post for the step-by-step creation of the lambda itself.
Designing the testing
I may extract some "constant" to variables, such as image_uri, lambda timeout, function_name, etc. After some extraction, we will write "basic" (unit) testing without end-to-end testing.
variables {
lambda_image = "test"
}
run "valid_image" {
command = plan
assert {
condition = aws_lambda_function.lambda_container_demo.image_uri == "test"
error_message = "AWS Lambda Function Image URI did not match"
}
}
run "valid_function_name" {
command = plan
assert {
condition = aws_lambda_function.lambda_container_demo.function_name == "lambda_container_demo"
error_message = "AWS Lambda Function Name did not match"
}
}
run "valid_lambda_timeout" {
command = plan
assert {
condition = aws_lambda_function.lambda_container_demo.timeout == 60
error_message = "AWS Lambda timeout did not match"
}
}
run "valid_dynamo_db_capacity" {
command = plan
assert {
condition = aws_dynamodb_table.lambda_container_demo_dev.read_capacity == 20
error_message = "Dynamo DB read capacity did not match"
}
assert {
condition = aws_dynamodb_table.lambda_container_demo_dev.write_capacity == 20
error_message = "Dynamo DB write capacity did not match"
}
}
However, it's not challenging, right? I'll share more challenging tests (maybe end-to-end ones) after this post. Stay tuned!
You may check this pull request for the changes.
Top comments (0)