From 4f58abd478660dae4d6eced8de38667ff2c78315 Mon Sep 17 00:00:00 2001 From: Frank Li <53418357+franklbh@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:26:40 -0400 Subject: [PATCH] Fix missing iTwinId caching to reduce the frequency of rate limiting (#7169) Co-authored-by: Frank Li Co-authored-by: Arun George <11051042+aruniverse@users.noreply.github.com> --- full-stack-tests/backend/src/HubUtility.ts | 4 +++- full-stack-tests/core/src/frontend/TestUtility.ts | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/full-stack-tests/backend/src/HubUtility.ts b/full-stack-tests/backend/src/HubUtility.ts index 97a51a5b9465..da91c9ecabde 100644 --- a/full-stack-tests/backend/src/HubUtility.ts +++ b/full-stack-tests/backend/src/HubUtility.ts @@ -59,7 +59,9 @@ export class HubUtility { public static async getTestITwinId(accessToken: AccessToken): Promise { if (undefined !== HubUtility.iTwinId) return HubUtility.iTwinId; - return HubUtility.getITwinIdByName(accessToken, HubUtility.testITwinName); + + HubUtility.iTwinId = await HubUtility.getITwinIdByName(accessToken, HubUtility.testITwinName); + return HubUtility.iTwinId; } private static imodelCache = new Map(); diff --git a/full-stack-tests/core/src/frontend/TestUtility.ts b/full-stack-tests/core/src/frontend/TestUtility.ts index 0f9893dcabe8..139f3d636f2a 100644 --- a/full-stack-tests/core/src/frontend/TestUtility.ts +++ b/full-stack-tests/core/src/frontend/TestUtility.ts @@ -43,7 +43,8 @@ export class TestUtility { public static async getTestITwinId(): Promise { if (undefined !== TestUtility.iTwinId) return TestUtility.iTwinId; - return TestUtility.queryITwinIdByName(TestUtility.testITwinName); + TestUtility.iTwinId = await TestUtility.queryITwinIdByName(TestUtility.testITwinName); + return TestUtility.iTwinId; } public static iTwinPlatformEnv: ITwinPlatformAbstraction; @@ -67,7 +68,7 @@ export class TestUtility { let authorizationClient: AuthorizationClient | undefined; if (NativeApp.isValid) { authorizationClient = new ElectronRendererAuthorization( - {clientId: process.env.IMJS_OIDC_ELECTRON_TEST_CLIENT_ID!}, + { clientId: process.env.IMJS_OIDC_ELECTRON_TEST_CLIENT_ID! }, ); IModelApp.authorizationClient = authorizationClient; const accessToken = await setBackendAccessToken(user);