@event-scout/client
Create and query event trails using EventScout.
This repository is part of EventScout.
Installation
pnpm add -D @event-scout/client
or if using yarn
yarn add --dev @event-scout/client
or if using npm
npm install --save-dev @event-scout/client
Use EventScout in your tests
Create a client
In order to use the EventScout client, you will need:
Instantiate the client:
import { EventScoutClient } from '@event-scout/client';
const eventScoutClient = new EventScoutClient({
credentials,
region,
endpoint: eventScoutEndpoint,
});
Start an events trail
A trail is a list of events with a certain patterns, that you can dynamically create.
At the beginning of the test, start a trail with a custom pattern:
beforeAll(
async () => {
await eventScoutClient.start({
eventPattern: {
source: ['my-pattern'],
'detail-type': ['MY_DETAIL_TYPE'],
},
});
},
30 * 1000,
);
You can put any valid EventBridge pattern here, including content filtering. Check the AWS docs for more details.
⚠ In order for the resources to be properly activated, the EventScout client will wait for 20 seconds before returning. We advise to set a 30 seconds timeout on the beforeAll
method.
Query the trail messages
In your tests, simply call the .query()
method to retrieve events in the trail.
const messages = await eventScoutClient.query();
This will return all the events in the trail! You are then free to make assertions on them.
Cleanup
At the end of the test, call the .stop()
method in afterAll
:
afterAll(async () => {
await eventScoutClient.stop();
});