A CDK construct that registers Lambda test events in the AWS Console, making them available to every developer on your team without manual setup.
Test events are stored in the EventBridge Schema Registry under lambda-testevent-schemas — exactly where the Lambda Console looks for them.
npm install cdk-lambda-test-eventsRequires aws-cdk-lib >= 2.166.0 and constructs >= 10.0.0 as peer dependencies.
The Lambda Console looks for test events in an EventBridge Schema Registry named lambda-testevent-schemas. AWS creates this registry automatically the first time any developer saves a test event via the Console, but the registry must exist before deploying this construct.
In a fresh account or region that has never had a Console-created test event, create it once using TestEventRegistry:
import { TestEventRegistry } from 'cdk-lambda-test-events';
// shared-stack.ts — deploy once per account/region
new TestEventRegistry(this, 'TestEventRegistry');Note: deploy
TestEventRegistryin one stack only. Multiple stacks in the same account/region competing for the same physical registry name will cause a CloudFormation conflict.
If the Console has already created the registry (or you prefer the CLI), you can skip TestEventRegistry entirely:
aws schemas create-registry --registry-name lambda-testevent-schemasimport { TestEvents } from 'cdk-lambda-test-events';
new TestEvents(this, 'MyFunctionTestEvents', {
function: myLambdaFunction,
testEvents: [
{
name: 'HelloWorldEvent',
payload: {
message: 'Hello, World!',
value: 42,
},
},
{
name: 'ErrorEvent',
payload: {
message: 'Something went wrong',
httpStatusCode: 500,
},
},
],
});After deploying, the events appear in the Lambda Console under Test → Test events for every developer with access to that account.
Creates the lambda-testevent-schemas EventBridge Schema Registry. Deploy once per account/region before using TestEvents. Has no configuration properties.
| Property | Type | Description |
|---|---|---|
function |
IFunction |
The Lambda function to attach test events to |
testEvents |
TestEvent[] |
List of test events to register |
| Property | Type | Description |
|---|---|---|
name |
string |
Display name shown in the Lambda Console |
payload |
{ [key: string]: any } |
The event payload |
Exported string constant ("lambda-testevent-schemas") — the registry name used by the Lambda Console.
This project is managed with projen. Do not edit generated files (like package.json or tsconfig.json) by hand. Edit .projenrc.ts instead and run:
npx projenTo run tests:
npx projen testApache-2.0