Skip to content

Commit 5d99c34

Browse files
logging for investigation
1 parent c9b1df0 commit 5d99c34

File tree

4 files changed

+25
-10
lines changed

4 files changed

+25
-10
lines changed

lambdas/mi-updates-transformer/src/__tests__/mi-updates-transformer.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ describe("mi-updates-transformer Lambda", () => {
7070
const miEvents = generateMIEvents(1);
7171
const expectedEntries = [
7272
expect.objectContaining({
73-
Message: JSON.stringify(mapMIToCloudEvent(miEvents[0])),
73+
Message: JSON.stringify(mapMIToCloudEvent(miEvents[0], mockedDeps)),
7474
}),
7575
];
7676

@@ -95,7 +95,7 @@ describe("mi-updates-transformer Lambda", () => {
9595
const miEvents = generateMIEvents(10);
9696
const expectedEntries = miEvents.map((miEvent) =>
9797
expect.objectContaining({
98-
Message: JSON.stringify(mapMIToCloudEvent(miEvent)),
98+
Message: JSON.stringify(mapMIToCloudEvent(miEvent, mockedDeps)),
9999
}),
100100
);
101101

@@ -121,17 +121,17 @@ describe("mi-updates-transformer Lambda", () => {
121121
const expectedEntries = [
122122
miEvents.slice(0, 10).map((miEvent) =>
123123
expect.objectContaining({
124-
Message: JSON.stringify(mapMIToCloudEvent(miEvent)),
124+
Message: JSON.stringify(mapMIToCloudEvent(miEvent, mockedDeps)),
125125
}),
126126
),
127127
miEvents.slice(10, 20).map((miEvent) =>
128128
expect.objectContaining({
129-
Message: JSON.stringify(mapMIToCloudEvent(miEvent)),
129+
Message: JSON.stringify(mapMIToCloudEvent(miEvent, mockedDeps)),
130130
}),
131131
),
132132
miEvents.slice(20).map((miEvent) =>
133133
expect.objectContaining({
134-
Message: JSON.stringify(mapMIToCloudEvent(miEvent)),
134+
Message: JSON.stringify(mapMIToCloudEvent(miEvent, mockedDeps)),
135135
}),
136136
),
137137
];

lambdas/mi-updates-transformer/src/mappers/__tests__/mi-mapper.test.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
1+
import { SNSClient } from "@aws-sdk/client-sns";
2+
import * as pino from "pino";
13
import { $MISubmittedEvent } from "@nhsdigital/nhs-notify-event-schemas-supplier-api/src";
24
import { MI } from "@internal/datastore";
35
import { mapMIToCloudEvent } from "../mi-mapper";
6+
import { EnvVars } from "../../env";
7+
import { Deps } from "../../deps";
48

59
describe("mi-mapper", () => {
10+
const mockedDeps: jest.Mocked<Deps> = {
11+
snsClient: { send: jest.fn() } as unknown as SNSClient,
12+
logger: { info: jest.fn(), error: jest.fn() } as unknown as pino.Logger,
13+
env: {
14+
EVENTPUB_SNS_TOPIC_ARN: "arn:aws:sns:region:account:topic",
15+
} as unknown as EnvVars,
16+
} as Deps;
17+
618
it("maps an MI to an MI event", async () => {
719
const mi: MI = {
820
id: "id1",
@@ -18,7 +30,7 @@ describe("mi-mapper", () => {
1830
stockRemaining: 500,
1931
};
2032
jest.useFakeTimers().setSystemTime(new Date("2025-11-24T15:55:18Z"));
21-
const event = mapMIToCloudEvent(mi);
33+
const event = mapMIToCloudEvent(mi, mockedDeps);
2234

2335
// Check it conforms to the MI event schema - parse will throw an error if not
2436
$MISubmittedEvent.parse(event);

lambdas/mi-updates-transformer/src/mappers/mi-mapper.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { MI } from "@internal/datastore";
22
import { MISubmittedEvent } from "@nhsdigital/nhs-notify-event-schemas-supplier-api/src";
33
import { randomBytes, randomUUID } from "node:crypto";
4+
import { Deps } from "../deps";
45

5-
export function mapMIToCloudEvent(mi: MI): MISubmittedEvent {
6+
export function mapMIToCloudEvent(mi: MI, deps: Deps): MISubmittedEvent {
67
const now = new Date().toISOString();
78
const eventId = randomUUID();
89
const dataschemaversion = "1.1.5";
910

11+
deps.logger.info({ description: "Mapping MI to CloudEvent", mi, eventId });
12+
1013
return {
1114
specversion: "1.0",
1215
id: eventId,

lambdas/mi-updates-transformer/src/mi-updates-transformer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ export function createHandler(deps: Deps): Handler<KinesisStreamEvent> {
3838
return async (streamEvent: KinesisStreamEvent) => {
3939
deps.logger.info({ description: "Received event", streamEvent });
4040

41-
const cloudEvents: MISubmittedEvent[] = streamEvent.Records.map((record) =>
42-
extractPayload(record, deps),
43-
).map((element) => mapMIToCloudEvent(element));
41+
const cloudEvents: MISubmittedEvent[] = streamEvent.Records
42+
.map((record) => extractPayload(record, deps))
43+
.map((payload) => mapMIToCloudEvent(payload, deps));
4444

4545
for (const batch of generateBatches(cloudEvents)) {
4646
await deps.snsClient.send(

0 commit comments

Comments
 (0)