Skip to content

Repository files navigation

cdk-lambda-test-events

npm version constructs.dev

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-events

Requires 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 TestEventRegistry in 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-schemas

Usage

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 TestTest 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 projen

To run tests:

npx projen test

License

Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages