This repository is designed to provide code samples and guidance for writing automated tests for serverless applications and event driven architectures.
If you would are just getting started with serverless testing, we recommend you start by reading our thoughts about this topic at Serverlessland.
If you'd like to jump right into code you can begin with a starter project in your favorite language:
The repository is divided into several language directories. If you would like to browse by language you can navigate to the main page of each directory.
You can also find sample code in this repository for testing a variety of different types of workloads.
System Under Test | Language |
---|---|
API Gateway with Lambda and DynamoDB | Python |
API Gateway HTTP with CDK [External] | Python |
API Gateway HTTP with SAM [External] | Python |
API Gateway REST with SAM [External] | Python |
Api Gateway, Lambda, DynamoDB | TypeScript |
API Gateway, Lambda Authorizer, Lambda, DynamoDB [External] | Node.js |
API Gateway, Lambda, DynamoDB | Java |
API Gateway, Lambda, DynamoDB | .NET |
Event-driven architectures (EDA) are an architecture style that uses events and asynchronous communication to loosely couple an application’s components. To learn more about several strategies for testing EDA's visit this guide at Serverlessland.com.
System Under Test | Language | Description |
---|---|---|
S3, Lambda | Python | This is a great starter project for learning how to test async EDA. |
Schemas and Contracts | TypeScript | Event driven architectures decouple producers and consumers at the infrastructure layer, but these resources may still be coupled at the application layer by the event contract. Learn how to test for breaking changes in the contract. |
System Under Test | Language | Description |
---|---|---|
Step Functions [External] | Java | This project shows a technique for testing an AWS Step Functions workflow in a local desktop environment. |
System Under Test | Language | Description |
---|---|---|
Kinesis Data Stream, Lambda | TypeScript | This project shows a technique for testing a streaming data processing system. |
Partner | System Under Test | Language | Description |
---|---|---|---|
Datadog | API Gateway, Lambda, SQS, SNS | TypeScript | This example is about creating Synthetic Tests and Monitors with Datadog. |