From c99aca7395b8b47cd1092b2e11f68e82c111aaca Mon Sep 17 00:00:00 2001 From: Jesse MacFadyen Date: Tue, 10 Sep 2024 06:23:36 -0700 Subject: [PATCH] Use __OW_CLOUD to detect internal/runtime (#184) --- lib/utils.js | 4 ++-- test/utils.test.js | 31 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index dde60b7..bf4ad04 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -49,8 +49,8 @@ function withHiddenFields (sourceObj, fieldsToHide) { * @returns {boolean} returns true if in Adobe Runtime */ function isInternalToAdobeRuntime () { - const { __OW_NAMESPACE, __OW_API_HOST, __OW_ACTIVATION_ID } = process.env - return !!(__OW_NAMESPACE && __OW_API_HOST && __OW_ACTIVATION_ID) + const { __OW_CLOUD } = process.env + return !!(__OW_CLOUD) } /** diff --git a/test/utils.test.js b/test/utils.test.js index 1cd1b66..54b977a 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -55,26 +55,17 @@ describe('isInternalToAdobeRuntime', () => { }) test('in runtime context', () => { - process.env.__OW_NAMESPACE = 'some-namespace' - process.env.__OW_API_HOST = 'some-server-dot-com' - process.env.__OW_ACTIVATION_ID = 'some-activation-id' - + process.env.__OW_CLOUD = 'aws' expect(isInternalToAdobeRuntime()).toBeTruthy() }) test('not in runtime context', () => { - // make doubly sure the env vars are not there - delete process.env.__OW_NAMESPACE - delete process.env.__OW_API_HOST - delete process.env.__OW_ACTIVATION_ID - + process.env.__OW_CLOUD = undefined expect(isInternalToAdobeRuntime()).toBeFalsy() }) test('in runtime context - endpoints should be internal', () => { - process.env.__OW_NAMESPACE = 'some-namespace' - process.env.__OW_API_HOST = 'some-server-dot-com' - process.env.__OW_ACTIVATION_ID = 'some-activation-id' + process.env.__OW_CLOUD = 'aws' expect(isInternalToAdobeRuntime()).toBeTruthy() jest.isolateModules(() => { @@ -85,10 +76,7 @@ describe('isInternalToAdobeRuntime', () => { }) test('not in runtime context - endpoints should be public', () => { - // make doubly sure the env vars are not there - delete process.env.__OW_NAMESPACE - delete process.env.__OW_API_HOST - delete process.env.__OW_ACTIVATION_ID + process.env.__OW_CLOUD = undefined expect(isInternalToAdobeRuntime()).toBeFalsy() jest.isolateModules(() => { @@ -97,6 +85,17 @@ describe('isInternalToAdobeRuntime', () => { expect(constants.ENDPOINTS.stage).toEqual(constants.ENDPOINT_STAGE) }) }) + + test('in runtime context - endpoints should be internal (ensure order of tests does not matter)', () => { + process.env.__OW_CLOUD = 'aws' + + expect(isInternalToAdobeRuntime()).toBeTruthy() + jest.isolateModules(() => { + const constants = require('../lib/constants') + expect(constants.ENDPOINTS.prod).toEqual(constants.ENDPOINT_PROD_INTERNAL) + expect(constants.ENDPOINTS.stage).toEqual(constants.ENDPOINT_STAGE_INTERNAL) + }) + }) }) describe('formatAjvErrors', () => {