Skip to main content

A CDK construct for registering Lambda test events in the AWS Console

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_lambda_test_events-0.0.1.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_lambda_test_events-0.0.1-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file cdk_lambda_test_events-0.0.1.tar.gz.

File metadata

  • Download URL: cdk_lambda_test_events-0.0.1.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.14.5

File hashes

Hashes for cdk_lambda_test_events-0.0.1.tar.gz
Algorithm Hash digest
SHA256 951a40a540fe6061798ef1ab1e63c51c6e70139e60ef3043fa16465699905acc
MD5 3c18bce0bb3a52cbca5acdeb9db4cac6
BLAKE2b-256 1d254eda0a7eee927edf953f4fbf07982f43ca08470a8506d2ee753943ae6294

See more details on using hashes here.

File details

Details for the file cdk_lambda_test_events-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_lambda_test_events-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98a97b7207f4efb71b1dae73113770661a0f1a3233b7b70d2319804072b2ea44
MD5 9dfde26df38cbe224114469edc0e4a97
BLAKE2b-256 b0f6eef49b7dcab7f0a827da5a825c6c7328f05388e42e4cc3f5338f54347b96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page