From 4e8e21553192634b00991f8f73c369242a0e24af Mon Sep 17 00:00:00 2001 From: Mark Slowey Date: Thu, 18 Dec 2025 13:23:59 +0000 Subject: [PATCH 1/2] add suppression --- .gitleaksignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitleaksignore b/.gitleaksignore index 706ad9b9..59b814d9 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -18,3 +18,4 @@ d8aaf7e033bf78fff491caa148897be266b60f67:src/src.sln:ipv4:3 e12407e09151898bfd8d049d57eee9db9977d56b:.github/copilot-instructions.md:generic-api-key:213 4ad86108d4e08cd410061e8842dd3a2b3bee4867:scripts/JWT/README.md:generic-api-key:38 504844c9838740c8c5235024919f0775ad817cde:pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json:generic-api-key:10 +82cf3b2e89ea24b97c4ffc09e618700fb1b0aff3:pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json:generic-api-key:10 From 283c5003b2290e122d79e564f143379b8e086906 Mon Sep 17 00:00:00 2001 From: Mark Slowey Date: Thu, 18 Dec 2025 14:23:02 +0000 Subject: [PATCH 2/2] update version in pact --- package-lock.json | 8 +- .../supplier-api-letter-request-prepared.json | 248 ------------------ tests/package.json | 4 +- ...ter-request-prepared.consumer.pact.test.ts | 2 +- ...ter-request-prepared.provider.pact.test.ts | 2 +- 5 files changed, 8 insertions(+), 256 deletions(-) delete mode 100644 pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json diff --git a/package-lock.json b/package-lock.json index 9816f763..f8f11e82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7517,9 +7517,9 @@ } }, "node_modules/@nhsdigital/nhs-notify-event-schemas-letter-rendering": { - "version": "2.0.0", - "resolved": "https://npm.pkg.github.com/download/@nhsdigital/nhs-notify-event-schemas-letter-rendering/2.0.0/329230fced77de6141adb0fb991023d7f8ae10b7", - "integrity": "sha512-rTkq199jGm8+fMoB/3uvYOOiVCgYn9vN4LBBdCVB7cTnskMkI+5NJEjpxkvO/jqUr8a0JkZY8cRTN8xZ1nNaKQ==", + "version": "2.0.1", + "resolved": "https://npm.pkg.github.com/download/@nhsdigital/nhs-notify-event-schemas-letter-rendering/2.0.1/23a5011fb0addd3da400f798bb1e4340440d62a5", + "integrity": "sha512-U2AWQEBcTDSxA3RX29fdmwjaOPQvwrCQP5rVCgLgtlPGes4Wl695VLw7tDxgpyLY1p9ct3HHrx3Wc6k/QGeW7g==", "license": "MIT", "dependencies": { "zod": "^4.0.17" @@ -27367,7 +27367,7 @@ "@aws-sdk/client-api-gateway": "^3.906.0", "@aws-sdk/client-dynamodb": "^3.858.0", "@aws-sdk/lib-dynamodb": "^3.858.0", - "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.0", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", "@pact-foundation/pact": "^16.0.2", "allure-js-commons": "^3.3.3", "charenc": "^0.0.2", diff --git a/pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json b/pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json deleted file mode 100644 index f831dc26..00000000 --- a/pact-contracts/pacts/letter-rendering/supplier-api-letter-request-prepared.json +++ /dev/null @@ -1,248 +0,0 @@ -{ - "consumer": { - "name": "supplier-api" - }, - "messages": [ - { - "contents": { - "data": { - "campaignId": "flu-campaign-2025", - "clientId": "987e6543-21c0-4d5b-8f9a-abcdef123456", - "createdAt": "2025-07-29T08:45:00.000Z", - "domainId": "1y3q9987e6543-21c0-4d5b-8f9a-abcdef123456_34hEIElNxpdXPrNv6OBbU0bqNwG_34hEP2Xc3rGunPUAPe0Mst9IIoA", - "letterVariantId": "1y3q9v2zzzz", - "pageCount": 1, - "requestId": "34hEIFCIw5DUTCRDMGv70CEzGgF", - "requestItemId": "34hEIElNxpdXPrNv6OBbU0bqNwG", - "requestItemPlanId": "34hEP2Xc3rGunPUAPe0Mst9IIoA", - "sha256Hash": "3a7bd3e2360a3d80c4d4e8b1e3e5e6e7e8e9e0e1e2e3e4e5e6e7e8e9e0e1e2e3", - "status": "PREPARED", - "templateId": "template-005", - "url": "s3://comms-123456789012-eu-west-2-pdf-pipeline/rendered/client/35b9VJ4ejJZXk0Z9HtQI9khryiz_35b9VgjHJYKoseXAHWT9i44qSbz.pdf" - }, - "datacontenttype": "application/json", - "dataschema": "https://notify.nhs.uk/cloudevents/schemas/letter-rendering/letter-request.prepared.2.0.0.schema.json", - "dataschemaversion": "2.0.0", - "id": "12f1f09c-a555-4d9b-8405-0b33490bc929", - "plane": "data", - "recordedtime": "2025-08-28T08:45:00.000Z", - "severitynumber": 2, - "severitytext": "INFO", - "source": "/data-plane/letter-rendering/comms-mgr-prod/prod", - "specversion": "1.0", - "subject": "client/00f3b388-bbe9-41c9-9e76-052d37ee8988/letter-request/0o5Fs0EELR0fUjHjbCnEtdUwQe4_0o5Fs0EELR0fUjHjbCnEtdUwQe5", - "time": "2025-07-29T08:50:57.350Z", - "traceparent": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01", - "type": "uk.nhs.notify.letter-rendering.letter-request.prepared.v2" - }, - "description": "LetterRequestPrepared", - "matchingRules": { - "body": { - "$.data.campaignId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.clientId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.createdAt": { - "combine": "AND", - "matchers": [ - { - "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", - "match": "datetime" - } - ] - }, - "$.data.domainId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.letterVariantId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.pageCount": { - "combine": "AND", - "matchers": [ - { - "match": "number" - } - ] - }, - "$.data.requestId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.requestItemId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.requestItemPlanId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.sha256Hash": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.templateId": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.data.url": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "^s3:\\/\\/.+" - } - ] - }, - "$.dataschema": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "^https:\\/\\/notify\\.nhs\\.uk\\/cloudevents\\/schemas\\/letter-rendering\\/letter-request\\.prepared\\.2\\.\\d+\\.\\d+\\.schema\\.json$" - } - ] - }, - "$.dataschemaversion": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "\\d+\\.\\d+\\.\\d+" - } - ] - }, - "$.id": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - } - ] - }, - "$.recordedtime": { - "combine": "AND", - "matchers": [ - { - "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", - "match": "datetime" - } - ] - }, - "$.severitynumber": { - "combine": "AND", - "matchers": [ - { - "match": "number" - } - ] - }, - "$.source": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - }, - "$.specversion": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "\\d+\\.\\d+" - } - ] - }, - "$.subject": { - "combine": "AND", - "matchers": [ - { - "match": "regex", - "regex": "^client\\/[\\d_a-z-]+\\/letter-request\\/[^/]+(?:\\/.*)?$" - } - ] - }, - "$.time": { - "combine": "AND", - "matchers": [ - { - "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", - "match": "datetime" - } - ] - }, - "$.traceparent": { - "combine": "AND", - "matchers": [ - { - "match": "type" - } - ] - } - } - }, - "metadata": { - "contentType": "application/json" - } - } - ], - "metadata": { - "pact-js": { - "version": "16.0.2" - }, - "pactRust": { - "ffi": "0.4.28", - "models": "1.3.5" - }, - "pactSpecification": { - "version": "3.0.0" - } - }, - "provider": { - "name": "letter-request-prepared" - } -} \ No newline at end of file diff --git a/tests/package.json b/tests/package.json index f087a3e1..cd91e6dd 100644 --- a/tests/package.json +++ b/tests/package.json @@ -4,7 +4,7 @@ "@aws-sdk/client-api-gateway": "^3.906.0", "@aws-sdk/client-dynamodb": "^3.858.0", "@aws-sdk/lib-dynamodb": "^3.858.0", - "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.0", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", "@pact-foundation/pact": "^16.0.2", "allure-js-commons": "^3.3.3", "charenc": "^0.0.2", @@ -36,8 +36,8 @@ "name": "nhs-notify-supplier-api-tests", "scripts": { "clean": "rimraf $(pwd)/target", - "lint:fix": "eslint . --fix", "lint": "eslint .", + "lint:fix": "eslint . --fix", "test:component": "playwright test --config=config/main.config.ts --max-failures=10 --project=component-tests", "test:pact": "./pact-tests/run-pact-tests.sh", "test:sandbox": "playwright test --config=config/sandbox.config.ts --max-failures=10 --project=sandbox", diff --git a/tests/pact-tests/consumer/letter-request-prepared.consumer.pact.test.ts b/tests/pact-tests/consumer/letter-request-prepared.consumer.pact.test.ts index deac7602..b73de11f 100644 --- a/tests/pact-tests/consumer/letter-request-prepared.consumer.pact.test.ts +++ b/tests/pact-tests/consumer/letter-request-prepared.consumer.pact.test.ts @@ -37,7 +37,7 @@ describe("Pact Message Consumer - LetterRequestPrepared Event", () => { datacontenttype: "application/json", dataschema: MatchersV3.regex( /^https:\/\/notify\.nhs\.uk\/cloudevents\/schemas\/letter-rendering\/letter-request\.prepared\.2\.\d+\.\d+\.schema\.json$/, - "https://notify.nhs.uk/cloudevents/schemas/letter-rendering/letter-request.prepared.2.0.0.schema.json", + "https://notify.nhs.uk/cloudevents/schemas/letter-rendering/letter-request.prepared.2.0.1.schema.json", ), dataschemaversion: MatchersV3.regex(/\d+\.\d+\.\d+/, "2.0.0"), traceparent: MatchersV3.string( diff --git a/tests/pact-tests/provider/letter-request-prepared.provider.pact.test.ts b/tests/pact-tests/provider/letter-request-prepared.provider.pact.test.ts index 1893621d..9fbf3384 100644 --- a/tests/pact-tests/provider/letter-request-prepared.provider.pact.test.ts +++ b/tests/pact-tests/provider/letter-request-prepared.provider.pact.test.ts @@ -1,6 +1,6 @@ import path from "node:path"; import { MessageProviderPact } from "@pact-foundation/pact"; -import LetterRequestPreparedEvent from "@nhsdigital/nhs-notify-event-schemas-letter-rendering/examples/LetterRequestPrepared/v2.0.0.json"; +import LetterRequestPreparedEvent from "@nhsdigital/nhs-notify-event-schemas-letter-rendering/examples/LetterRequestPrepared/v2.0.1.json"; describe("Letter rendering message provider tests", () => { test("verify pacts", async () => {