Skip to content

Commit 72e52b6

Browse files
VIA-537 SB & AS No need to qualify with "lazy" now it's the only game in town.
1 parent 9e7184f commit 72e52b6

35 files changed

+159
-170
lines changed

auth.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { getToken } from "@src/utils/auth/callbacks/get-token";
55
import { getUpdatedSession } from "@src/utils/auth/callbacks/get-updated-session";
66
import { isValidSignIn } from "@src/utils/auth/callbacks/is-valid-signin";
77
import { MaxAgeInSeconds } from "@src/utils/auth/types";
8-
import lazyConfig from "@src/utils/lazy-config";
8+
import config from "@src/utils/config";
99
import { logger } from "@src/utils/logger";
1010
import { profilePerformanceEnd, profilePerformanceStart } from "@src/utils/performance";
1111
import { RequestContext, asyncLocalStorage } from "@src/utils/requestContext";
@@ -21,15 +21,15 @@ const AuthJWTPerformanceMarker = "auth-jwt-callback";
2121
const AuthSessionPerformanceMarker = "auth-session-callback";
2222

2323
export const { handlers, signIn, signOut, auth } = NextAuth(async () => {
24-
const MAX_SESSION_AGE_SECONDS: number = ((await lazyConfig.MAX_SESSION_AGE_MINUTES) as number) * 60;
24+
const MAX_SESSION_AGE_SECONDS: number = ((await config.MAX_SESSION_AGE_MINUTES) as number) * 60;
2525
const headerValues = await headers();
2626

2727
const requestContext: RequestContext = extractRequestContextFromHeaders(headerValues);
2828

2929
return await asyncLocalStorage.run(requestContext, async () => {
3030
return {
3131
providers: [await NHSLoginAuthProvider()],
32-
secret: (await lazyConfig.AUTH_SECRET) as string,
32+
secret: (await config.AUTH_SECRET) as string,
3333
pages: {
3434
signIn: SSO_FAILURE_ROUTE,
3535
signOut: SESSION_LOGOUT_ROUTE,

contract/fetch-eligibility-content.contract.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { NhsNumber } from "@src/models/vaccine";
22
import { EligibilityApiResponse } from "@src/services/eligibility-api/api-types";
33
import { fetchEligibilityContent } from "@src/services/eligibility-api/gateway/fetch-eligibility-content";
4-
import lazyConfig from "@src/utils/lazy-config";
4+
import config from "@src/utils/config";
55
import { asyncLocalStorage } from "@src/utils/requestContext";
6-
import { AsyncConfigMock, lazyConfigBuilder } from "@test-data/config/builders";
6+
import { AsyncConfigMock, configBuilder } from "@test-data/config/builders";
77
import { readFileSync } from "fs";
88
import { pactWith } from "jest-pact";
99

10-
jest.mock("@src/utils/lazy-config");
10+
jest.mock("@src/utils/config");
1111
jest.mock("next-auth/jwt", () => ({
1212
getToken: jest.fn(),
1313
}));
@@ -40,10 +40,10 @@ const successfulResponse: EligibilityApiResponse = {
4040
};
4141

4242
pactWith({ consumer: "VitA", provider: "EliD", port: 1234, logLevel: "warn" }, (provider) => {
43-
const mockedConfig = lazyConfig as AsyncConfigMock;
43+
const mockedConfig = config as AsyncConfigMock;
4444

4545
beforeEach(() => {
46-
const defaultConfig = lazyConfigBuilder()
46+
const defaultConfig = configBuilder()
4747
.withEligibilityApiEndpoint(new URL("http://localhost:1234/"))
4848
.andEligibilityApiKey("test-api-key")
4949
.andIsApimAuthEnabled(false)

src/_lambda/content-cache-hydrator/content-cache-reader.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import {
55
import { VaccineInfo, VaccineType } from "@src/models/vaccine";
66
import { readContentFromCache } from "@src/services/content-api/gateway/content-reader-service";
77
import { InvalidatedCacheError, S3NoSuchKeyError } from "@src/services/content-api/gateway/exceptions";
8-
import lazyConfig from "@src/utils/lazy-config";
9-
import { AsyncConfigMock, lazyConfigBuilder } from "@test-data/config/builders";
8+
import config from "@src/utils/config";
9+
import { AsyncConfigMock, configBuilder } from "@test-data/config/builders";
1010

1111
jest.mock("@src/services/content-api/gateway/content-reader-service");
1212
jest.mock("sanitize-data", () => ({ sanitize: jest.fn() }));
@@ -16,10 +16,10 @@ const mockContentCachePath = "wiremock/__files/";
1616
describe("readCachedContentForVaccine", () => {
1717
const mockCacheFileContents = "mock-cache-file-contents";
1818
const vaccineType = VaccineType.RSV;
19-
const mockedConfig = lazyConfig as AsyncConfigMock;
19+
const mockedConfig = config as AsyncConfigMock;
2020

2121
beforeEach(() => {
22-
const defaultConfig = lazyConfigBuilder().withContentCachePath(mockContentCachePath).build();
22+
const defaultConfig = configBuilder().withContentCachePath(mockContentCachePath).build();
2323
Object.assign(mockedConfig, defaultConfig);
2424
(readContentFromCache as jest.Mock).mockImplementation((): string => mockCacheFileContents);
2525
});

src/_lambda/content-cache-hydrator/content-cache-reader.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Filename, VaccineInfo, VaccineType } from "@src/models/vaccine";
22
import { readContentFromCache } from "@src/services/content-api/gateway/content-reader-service";
33
import { InvalidatedCacheError, S3NoSuchKeyError } from "@src/services/content-api/gateway/exceptions";
4-
import lazyConfig from "@src/utils/lazy-config";
4+
import config from "@src/utils/config";
55
import { logger } from "@src/utils/logger";
66

77
const log = logger.child({ module: "content-cache-reader" });
@@ -16,11 +16,7 @@ const readCachedContentForVaccine = async (vaccineType: VaccineType): Promise<Re
1616
let cachedContent: string;
1717

1818
try {
19-
cachedContent = await readContentFromCache(
20-
(await lazyConfig.CONTENT_CACHE_PATH) as string,
21-
cacheFilename,
22-
vaccineType,
23-
);
19+
cachedContent = await readContentFromCache((await config.CONTENT_CACHE_PATH) as string, cacheFilename, vaccineType);
2420
} catch (error) {
2521
if (error instanceof S3NoSuchKeyError) {
2622
return { cacheStatus: "empty", cacheContent: "" };

src/_lambda/content-cache-hydrator/content-fetcher.test.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { CONTENT_API_PATH_PREFIX, fetchContentForVaccine } from "@src/_lambda/content-cache-hydrator/content-fetcher";
22
import { VaccineInfo, VaccineType } from "@src/models/vaccine";
3-
import lazyConfig from "@src/utils/lazy-config";
4-
import { AsyncConfigMock, lazyConfigBuilder } from "@test-data/config/builders";
3+
import config from "@src/utils/config";
4+
import { AsyncConfigMock, configBuilder } from "@test-data/config/builders";
55
import axios from "axios";
66

77
jest.mock("axios");
@@ -11,13 +11,10 @@ describe("fetchContentForVaccine", () => {
1111
const testApiKey: string = "test-key";
1212
const testApiEndpoint: URL = new URL("https://test-endpoint/");
1313
const testApiContent = { test: "content" };
14-
const mockedConfig = lazyConfig as AsyncConfigMock;
14+
const mockedConfig = config as AsyncConfigMock;
1515

1616
beforeEach(() => {
17-
const defaultConfig = lazyConfigBuilder()
18-
.withContentApiKey(testApiKey)
19-
.andContentApiEndpoint(testApiEndpoint)
20-
.build();
17+
const defaultConfig = configBuilder().withContentApiKey(testApiKey).andContentApiEndpoint(testApiEndpoint).build();
2118
Object.assign(mockedConfig, defaultConfig);
2219
});
2320

src/_lambda/content-cache-hydrator/content-fetcher.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { VaccineInfo, VaccineType } from "@src/models/vaccine";
2-
import lazyConfig from "@src/utils/lazy-config";
2+
import config from "@src/utils/config";
33
import { logger } from "@src/utils/logger";
44
import axios, { AxiosError, AxiosResponse } from "axios";
55

66
const log = logger.child({ module: "content-fetcher" });
77
const CONTENT_API_PATH_PREFIX = "nhs-website-content/";
88

99
const fetchContentForVaccine = async (vaccineType: VaccineType): Promise<string> => {
10-
const apiEndpoint: URL = (await lazyConfig.CONTENT_API_ENDPOINT) as URL;
10+
const apiEndpoint: URL = (await config.CONTENT_API_ENDPOINT) as URL;
1111
const vaccinePath = VaccineInfo[vaccineType].contentPath;
12-
const apiKey: string = (await lazyConfig.CONTENT_API_KEY) as string;
12+
const apiKey: string = (await config.CONTENT_API_KEY) as string;
1313

1414
const uri: string = `${apiEndpoint}${CONTENT_API_PATH_PREFIX}${vaccinePath}`;
1515
let response: AxiosResponse;

src/_lambda/content-cache-hydrator/content-writer-service.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
writeContentForVaccine,
99
} from "@src/_lambda/content-cache-hydrator/content-writer-service";
1010
import { Filename, VaccineInfo, VaccineType } from "@src/models/vaccine";
11-
import lazyConfig from "@src/utils/lazy-config";
12-
import { AsyncConfigMock, lazyConfigBuilder } from "@test-data/config/builders";
11+
import config from "@src/utils/config";
12+
import { AsyncConfigMock, configBuilder } from "@test-data/config/builders";
1313
import { writeFile } from "node:fs/promises";
1414

1515
jest.mock("node:fs/promises");
@@ -29,11 +29,11 @@ describe("Content Writer Service", () => {
2929
const location: string = "test-location/";
3030
const path: Filename = "test-filename.json" as Filename;
3131
const content: string = "test-data";
32-
const mockedConfig = lazyConfig as AsyncConfigMock;
32+
const mockedConfig = config as AsyncConfigMock;
3333

3434
beforeEach(() => {
3535
mockSend = jest.fn();
36-
const defaultConfig = lazyConfigBuilder().withContentCachePath(location).build();
36+
const defaultConfig = configBuilder().withContentCachePath(location).build();
3737
Object.assign(mockedConfig, defaultConfig);
3838
});
3939

src/_lambda/content-cache-hydrator/content-writer-service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
22
import { Filename, VaccineInfo, VaccineType } from "@src/models/vaccine";
3+
import config from "@src/utils/config";
34
import { AWS_PRIMARY_REGION } from "@src/utils/constants";
4-
import lazyConfig from "@src/utils/lazy-config";
55
import { logger } from "@src/utils/logger";
66
import { S3_PREFIX, isS3Path } from "@src/utils/path";
77
import { writeFile } from "node:fs/promises";
@@ -39,7 +39,7 @@ const _writeContentToCache = async (
3939

4040
const writeContentForVaccine = async (vaccineType: VaccineType, vaccineContent: string) => {
4141
const cacheFilename = VaccineInfo[vaccineType].cacheFilename;
42-
await _writeContentToCache((await lazyConfig.CONTENT_CACHE_PATH) as string, cacheFilename, vaccineContent);
42+
await _writeContentToCache((await config.CONTENT_CACHE_PATH) as string, cacheFilename, vaccineContent);
4343
};
4444

4545
export { _writeFileS3, _writeContentToCache, writeContentForVaccine };

src/_lambda/content-cache-hydrator/handler.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import { invalidateCacheForVaccine } from "@src/_lambda/content-cache-hydrator/i
1010
import { VaccineType } from "@src/models/vaccine";
1111
import { getFilteredContentForVaccine } from "@src/services/content-api/parsers/content-filter-service";
1212
import { getStyledContentForVaccine } from "@src/services/content-api/parsers/content-styling-service";
13-
import lazyConfig from "@src/utils/lazy-config";
13+
import config from "@src/utils/config";
1414
import { RequestContext, asyncLocalStorage } from "@src/utils/requestContext";
15-
import { AsyncConfigMock, lazyConfigBuilder } from "@test-data/config/builders";
15+
import { AsyncConfigMock, configBuilder } from "@test-data/config/builders";
1616
import { Context } from "aws-lambda";
1717

1818
jest.mock("@src/_lambda/content-cache-hydrator/content-writer-service");
@@ -53,10 +53,10 @@ describe("Lambda Handler", () => {
5353
});
5454

5555
describe("when content-change-approval-needed feature disabled", () => {
56-
const mockedConfig = lazyConfig as AsyncConfigMock;
56+
const mockedConfig = config as AsyncConfigMock;
5757

5858
beforeEach(() => {
59-
const defaultConfig = lazyConfigBuilder().withContentCacheIsChangeApprovalEnabled(false).build();
59+
const defaultConfig = configBuilder().withContentCacheIsChangeApprovalEnabled(false).build();
6060
Object.assign(mockedConfig, defaultConfig);
6161
});
6262

@@ -100,10 +100,10 @@ describe("Lambda Handler", () => {
100100
});
101101

102102
describe("when content-change-approval-needed feature enabled", () => {
103-
const mockedConfig = lazyConfig as AsyncConfigMock;
103+
const mockedConfig = config as AsyncConfigMock;
104104

105105
beforeEach(() => {
106-
const defaultConfig = lazyConfigBuilder().withContentCacheIsChangeApprovalEnabled(true).build();
106+
const defaultConfig = configBuilder().withContentCacheIsChangeApprovalEnabled(true).build();
107107
Object.assign(mockedConfig, defaultConfig);
108108
});
109109

src/_lambda/content-cache-hydrator/handler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { VaccineType } from "@src/models/vaccine";
77
import { getFilteredContentForVaccine } from "@src/services/content-api/parsers/content-filter-service";
88
import { getStyledContentForVaccine } from "@src/services/content-api/parsers/content-styling-service";
99
import { VaccinePageContent } from "@src/services/content-api/types";
10-
import lazyConfig from "@src/utils/lazy-config";
10+
import config from "@src/utils/config";
1111
import { logger } from "@src/utils/logger";
1212
import { getVaccineTypeFromLowercaseString } from "@src/utils/path";
1313
import { RequestContext, asyncLocalStorage } from "@src/utils/requestContext";
@@ -150,7 +150,7 @@ const runContentCacheHydrator = async (event: ContentCacheHydratorEvent) => {
150150
for (const vaccine of vaccinesToRunOn) {
151151
const status = await hydrateCacheForVaccine(
152152
vaccine,
153-
(await lazyConfig.CONTENT_CACHE_IS_CHANGE_APPROVAL_ENABLED) as boolean,
153+
(await config.CONTENT_CACHE_IS_CHANGE_APPROVAL_ENABLED) as boolean,
154154
forceUpdate,
155155
);
156156
invalidatedCount += status.invalidatedCount;

0 commit comments

Comments
 (0)