Skip to content

This repository is designed to provide guidance for implementing comprehensive test suites for serverless applications.

License

Notifications You must be signed in to change notification settings

aleios-cloud/serverless-test-samples

 
 

Repository files navigation

test: unit test: integration .NET: 6 Java: 11 python: 3.9 typescript: 4.5.5

Serverless Test Samples

Serverless Test Samples

AWS guidance and examples for testing serverless and event driven applications.

Getting Started

We recommend reviewing the companion website for this repository: Serverlessland - Testing Serverless Applications.

If you'd like to jump right into code, you can begin with a starter project in your favorite language:

Language Directories

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 language directory:

Workload Types

This repository contains sample code for testing a variety of different types of workloads, including API's, Event-Driven Architectures, Service Orchestration, Data Processing, and AWS Partner Patterns.

API's

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
AppSync, DynamoDB Java

Event-Driven Architectures

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.

Service Orchestration

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.

Data Processing

System Under Test Language Description
Kinesis Data Stream, Lambda TypeScript This project shows a technique for testing a streaming data processing system.

AWS Partner Patterns

Partner System Under Test Language Description
Datadog API Gateway, Lambda, SQS, SNS TypeScript This example is about creating Synthetic Tests and Monitors with Datadog.

How do I contribute?

See our Contributing guide for more detail providing additions, enhancements, and edits.

About

This repository is designed to provide guidance for implementing comprehensive test suites for serverless applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 42.0%
  • Java 22.0%
  • Python 17.3%
  • TypeScript 14.8%
  • JavaScript 1.6%
  • Velocity Template Language 1.2%
  • Other 1.1%