Summary
Once AWS Lambda templates exist (depends on issues #49, #50, #51, #52), add integration tests that run against DynamoDB Local in CI. DynamoDB Local is a lightweight Docker image provided by Amazon that supports the full DynamoDB API. This validates the DynamoDB repository code works against a real DynamoDB-compatible API.
Category: testing, aws
Depends on: #49, #50, #51, #52 (AWS Lambda template implementations)
Acceptance Criteria
Implementation Notes
DynamoDB Local in GHA
services:
dynamodb:
image: amazon/dynamodb-local:latest
ports:
- 8000:8000
Connection details:
- Endpoint:
http://localhost:8000
- Region: Any valid region string (e.g.,
us-east-1)
- Credentials: Any non-empty string (DynamoDB Local doesn't validate)
Table Schema
The integration tests should create a table matching the template's expected schema:
Table Name: from DYNAMODB_TABLE_NAME env var
Partition Key: id (String)
SDK Endpoint Override per Language
- Python (boto3):
endpoint_url="http://localhost:8000" in client constructor
- TypeScript (AWS SDK v3):
endpoint: "http://localhost:8000" in DynamoDBClient config
- Go (aws-sdk-go-v2):
aws.EndpointResolverWithOptionsFunc or BaseEndpoint
- .NET (AWSSDK):
ServiceURL = "http://localhost:8000" in AmazonDynamoDBConfig
Summary
Once AWS Lambda templates exist (depends on issues #49, #50, #51, #52), add integration tests that run against DynamoDB Local in CI. DynamoDB Local is a lightweight Docker image provided by Amazon that supports the full DynamoDB API. This validates the DynamoDB repository code works against a real DynamoDB-compatible API.
Category:
testing,awsDepends on: #49, #50, #51, #52 (AWS Lambda template implementations)
Acceptance Criteria
test-integration-awsjobamazon/dynamodb-local) runs as a Docker service containerAWS_ENDPOINT_URL(or SDK-specific endpoint override) points the SDK at the local instancetest-integrationtargetImplementation Notes
DynamoDB Local in GHA
Connection details:
http://localhost:8000us-east-1)Table Schema
The integration tests should create a table matching the template's expected schema:
SDK Endpoint Override per Language
endpoint_url="http://localhost:8000"in client constructorendpoint: "http://localhost:8000"in DynamoDBClient configaws.EndpointResolverWithOptionsFuncorBaseEndpointServiceURL = "http://localhost:8000"inAmazonDynamoDBConfig