cdk-lambda-test-events
v0.0.1
Published
A CDK construct for registering Lambda test events in the AWS Console
Maintainers
Readme
cdk-lambda-test-events
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.
Installation
npm install cdk-lambda-test-eventsRequires aws-cdk-lib >= 2.166.0 and constructs >= 10.0.0 as peer dependencies.
Prerequisites
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-schemasUsage
import { 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.
API
TestEventRegistry
Creates the lambda-testevent-schemas EventBridge Schema Registry. Deploy once per account/region before using TestEvents. Has no configuration properties.
TestEvents
| Property | Type | Description |
|---|---|---|
| function | IFunction | The Lambda function to attach test events to |
| testEvents | TestEvent[] | List of test events to register |
TestEvent
| Property | Type | Description |
|---|---|---|
| name | string | Display name shown in the Lambda Console |
| payload | { [key: string]: any } | The event payload |
LAMBDA_TEST_EVENT_REGISTRY
Exported string constant ("lambda-testevent-schemas") — the registry name used by the Lambda Console.
Contributing
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 testLicense
Apache-2.0
