@rockcarver/frodo-lib 2.0.0-2 → 2.0.0-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/cjs/api/AgentApi.js +64 -16
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/ApiTypes.js +0 -55
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/BaseApi.js +21 -11
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +7 -14
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/index.js +6 -0
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AdminOps.js +254 -60
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +352 -108
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +262 -65
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +16 -4
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +163 -40
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +7 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/IdpOps.js +55 -12
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +645 -136
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +96 -24
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +45 -11
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js +0 -23
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +44 -10
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +86 -24
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +72 -18
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +24 -6
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +121 -42
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +73 -17
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ServiceOps.js +152 -35
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +20 -5
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +4 -1
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +24 -6
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +55 -11
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +47 -22
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +12 -5
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +15 -8
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js +33 -8
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js +67 -19
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.mjs +64 -16
- package/esm/api/ApiTypes.mjs +1 -50
- package/esm/api/BaseApi.mjs +21 -11
- package/esm/api/cloud/SecretsApi.mjs +0 -5
- package/esm/api/cloud/SecretsApi.test.mjs +3 -3
- package/esm/index.mjs +1 -1
- package/esm/ops/AdminOps.mjs +254 -60
- package/esm/ops/AgentOps.mjs +352 -104
- package/esm/ops/AuthenticateOps.mjs +262 -65
- package/esm/ops/CirclesOfTrustOps.mjs +16 -4
- package/esm/ops/ConnectionProfileOps.mjs +163 -40
- package/esm/ops/EmailTemplateOps.mjs +5 -0
- package/esm/ops/IdpOps.mjs +55 -12
- package/esm/ops/JourneyOps.mjs +639 -132
- package/esm/ops/NodeOps.mjs +90 -19
- package/esm/ops/OAuth2ClientOps.mjs +45 -11
- package/esm/ops/OpsTypes.mjs +1 -22
- package/esm/ops/OrganizationOps.mjs +44 -10
- package/esm/ops/PolicyOps.mjs +86 -24
- package/esm/ops/PolicySetOps.mjs +72 -18
- package/esm/ops/ResourceTypeOps.mjs +24 -6
- package/esm/ops/Saml2Ops.mjs +120 -39
- package/esm/ops/Saml2Ops.test.mjs +10 -11
- package/esm/ops/ScriptOps.mjs +73 -17
- package/esm/ops/ServiceOps.mjs +152 -35
- package/esm/ops/ThemeOps.mjs +20 -5
- package/esm/ops/cloud/FeatureOps.mjs +4 -1
- package/esm/ops/cloud/ServiceAccountOps.mjs +24 -6
- package/esm/ops/cloud/StartupOps.mjs +55 -11
- package/esm/ops/utils/Console.mjs +33 -9
- package/esm/ops/utils/DataProtection.mjs +9 -2
- package/esm/ops/utils/DataProtection.test.mjs +8 -2
- package/esm/ops/utils/ExportImportUtils.mjs +15 -8
- package/esm/ops/utils/ScriptValidationUtils.mjs +30 -8
- package/esm/ops/utils/ScriptValidationUtils.test.mjs +14 -3
- package/esm/utils/SetupPollyForFrodoLib.mjs +64 -18
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +6 -6
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +12 -49
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +1 -4
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +3 -6
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +4 -0
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +10 -5
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +10 -4
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +2 -12
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +0 -6
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +1 -1
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts +34 -7
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +5 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts +14 -4
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts +5 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Saml2Ops.test.js","names":["_index","require","Saml2Ops","_interopRequireWildcard","globalConfig","_ApiTypes","_ForgeRockApiMockEngine","_Base","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","state","setDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","stageProvider","_x","_stageProvider","provider","create","length","getSaml2Provider","entityId","deleteSaml2Provider","isAxiosError","_error$response","console","log","concat","message","dir","response","data","importSaml2Provider","importData","getSaml2ProviderImportData","_error$response2","describe","provider1","location","Saml2ProiderLocation","HOSTED","entityId64","encodeBase64Url","provider2","REMOTE","provider3","provider4","provider5","provider6","provider7","provider8","provider9","provider10","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","createSaml2ExportTemplate","toBeDefined","toMatchSnapshot","meta","any","getSaml2ProviderStubs","getProviderByLocationAndId","getProviderMetadataUrl","toMatch","RegExp","FRODO_HOST","url","URL","pathname","searchParams","URLSearchParams","search","getProviderMetadata","getSaml2ProviderStub","exportSaml2Provider","exportSaml2Providers","assertions","toBeTruthy","importSaml2Providers","getSaml2ProvidersImportData","failures","toBe","warnings","deleteSaml2Providers"],"sources":["ops/Saml2Ops.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 5 phases:\n *\n * Phase 1: Record Group 1 of non-destructive tests\n * Phase 2: Record Group 2 of non-destructive tests - Import all\n * Phase 3: Record Group 1 of DESTRUCTIVE tests - Deletes by entity id\n * Phase 4: Record Group 2 of DESTRUCTIVE tests - Delete all\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=5 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update Saml2Ops\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only Saml2Ops\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { state } from '../index';\nimport * as Saml2Ops from './Saml2Ops';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { Saml2ProiderLocation } from '../api/ApiTypes';\nimport {\n getSaml2ProviderImportData,\n getSaml2ProvidersImportData,\n} from '../test/mocks/ForgeRockApiMockEngine';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageProvider(provider: { entityId: string }, create = true) {\n // delete if exists, then create\n try {\n await Saml2Ops.getSaml2Provider({ entityId: provider.entityId, state });\n await Saml2Ops.deleteSaml2Provider({ entityId: provider.entityId, state });\n } catch (error) {\n if (error.isAxiosError) {\n console.log(\n `Error deleting provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n } finally {\n if (create) {\n try {\n await Saml2Ops.importSaml2Provider({\n entityId: provider.entityId,\n importData: getSaml2ProviderImportData(provider.entityId),\n state,\n });\n } catch (error) {\n console.log(\n `Error importing provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n }\n }\n}\n\ndescribe('Saml2Ops', () => {\n const provider1 = {\n entityId: 'iSPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('iSPAzure'),\n };\n const provider2 = {\n entityId: 'urn:federation:MicrosoftOnline',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('urn:federation:MicrosoftOnline'),\n };\n const provider3 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPFedlet',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPFedlet'),\n };\n const provider4 = {\n entityId: 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url(\n 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/'\n ),\n };\n const provider5 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPAzure'),\n };\n const provider6 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPBroadcom',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPBroadcom'),\n };\n const provider7 = {\n entityId: 'idp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('idp'),\n };\n const provider8 = {\n entityId: 'SPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('SPAzure'),\n };\n const provider9 = {\n entityId: 'volkerDevSP',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('volkerDevSP'),\n };\n const provider10 = {\n entityId: 'https://saml.mytestrun.com/sp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('https://saml.mytestrun.com/sp'),\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1'\n ) {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n }\n // Pahses 3 + 4\n else if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5);\n await stageProvider(provider6);\n await stageProvider(provider7);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n }\n });\n\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('createSaml2ExportTemplate()', () => {\n test('0: Method is implemented', () => {\n expect(Saml2Ops.createSaml2ExportTemplate).toBeDefined();\n });\n\n test('1: Create saml2 export template', () => {\n const response = Saml2Ops.createSaml2ExportTemplate({ state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getSaml2ProviderStubs()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2ProviderStubs).toBeDefined();\n });\n\n test('1: Get saml2 provider stubs', async () => {\n const response = await Saml2Ops.getSaml2ProviderStubs({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderByLocationAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderByLocationAndId).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderByLocationAndId({\n location: provider1.location,\n entityId64: provider1.entityId64,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderByLocationAndId({\n location: provider2.location,\n entityId64: provider2.entityId64,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderMetadataUrl()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderMetadataUrl).toBeDefined();\n });\n\n test(`1: Get metadata url for hosted provider '${provider3.entityId}'`, async () => {\n const response = Saml2Ops.getProviderMetadataUrl({\n entityId: provider3.entityId,\n state,\n });\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider3.entityId);\n });\n\n test(`2: Get metadata url for remote provider '${provider4.entityId}'`, async () => {\n const response = Saml2Ops.getProviderMetadataUrl({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider4.entityId);\n });\n });\n\n describe('getProviderMetadata()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderMetadata).toBeDefined();\n });\n\n test(`1: Get metadata for hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderMetadata({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get metadata for remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderMetadata({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2ProviderStub()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2ProviderStub).toBeDefined();\n });\n\n test(`1: Get stub of hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2ProviderStub({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get stub of remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2ProviderStub({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2Provider).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2Provider({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.exportSaml2Provider).toBeDefined();\n });\n\n test(`1: Export hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.exportSaml2Provider({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.exportSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.exportSaml2Providers).toBeDefined();\n });\n\n test('1: Export saml2 entity providers', async () => {\n const response = await Saml2Ops.exportSaml2Providers({ state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.importSaml2Provider).toBeDefined();\n });\n\n test(`1: Import hosted provider '${provider5.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider5.entityId,\n importData: getSaml2ProviderImportData(provider5.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`2: Import hosted provider '${provider6.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider6.entityId,\n importData: getSaml2ProviderImportData(provider6.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`3: Import remote provider '${provider7.entityId}' with metadata`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider7.entityId,\n importData: getSaml2ProviderImportData(provider7.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n });\n }\n\n // Phase 2\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('importSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.importSaml2Providers).toBeDefined();\n });\n\n test('1: Import providers', async () => {\n expect.assertions(2);\n const response = await Saml2Ops.importSaml2Providers({\n importData: getSaml2ProvidersImportData(),\n state,\n });\n expect(response.failures).toBe(0);\n expect(response.warnings).toBe(0);\n });\n });\n }\n\n // Phase 3\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.deleteSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete hosted provider '${provider3.entityId}'`, async () => {\n const response = await Saml2Ops.deleteSaml2Provider({\n entityId: provider3.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.deleteSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 4\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.deleteSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all providers`, async () => {\n const response = await Saml2Ops.deleteSaml2Providers({ state });\n expect(response).toMatchSnapshot();\n });\n });\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Saml2Ops.test.js","names":["_index","require","Saml2Ops","_interopRequireWildcard","globalConfig","_ForgeRockApiMockEngine","_Base","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","state","setDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","stageProvider","_x","_stageProvider","provider","create","length","getSaml2Provider","entityId","deleteSaml2Provider","isAxiosError","_error$response","console","log","concat","message","dir","response","data","importSaml2Provider","importData","getSaml2ProviderImportData","_error$response2","describe","provider1","location","entityId64","encodeBase64Url","provider2","provider3","provider4","provider5","provider6","provider7","provider8","provider9","provider10","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","createSaml2ExportTemplate","toBeDefined","toMatchSnapshot","meta","any","getSaml2ProviderStubs","getProviderByLocationAndId","getProviderMetadataUrl","toMatch","RegExp","FRODO_HOST","url","URL","pathname","searchParams","URLSearchParams","search","getProviderMetadata","getSaml2ProviderStub","exportSaml2Provider","exportSaml2Providers","assertions","toBeTruthy","importSaml2Providers","getSaml2ProvidersImportData","failures","toBe","warnings","deleteSaml2Providers"],"sources":["ops/Saml2Ops.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 5 phases:\n *\n * Phase 1: Record Group 1 of non-destructive tests\n * Phase 2: Record Group 2 of non-destructive tests - Import all\n * Phase 3: Record Group 1 of DESTRUCTIVE tests - Deletes by entity id\n * Phase 4: Record Group 2 of DESTRUCTIVE tests - Delete all\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=5 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update Saml2Ops\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only Saml2Ops\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { state } from '../index';\nimport * as Saml2Ops from './Saml2Ops';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { Saml2ProiderLocation } from '../api/ApiTypes';\nimport {\n getSaml2ProviderImportData,\n getSaml2ProvidersImportData,\n} from '../test/mocks/ForgeRockApiMockEngine';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageProvider(provider: { entityId: string }, create = true) {\n // delete if exists, then create\n try {\n await Saml2Ops.getSaml2Provider({ entityId: provider.entityId, state });\n await Saml2Ops.deleteSaml2Provider({ entityId: provider.entityId, state });\n } catch (error) {\n if (error.isAxiosError) {\n console.log(\n `Error deleting provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n } finally {\n if (create) {\n try {\n await Saml2Ops.importSaml2Provider({\n entityId: provider.entityId,\n importData: getSaml2ProviderImportData(provider.entityId),\n state,\n });\n } catch (error) {\n console.log(\n `Error importing provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n }\n }\n}\n\ndescribe('Saml2Ops', () => {\n type SamlProvider = {\n entityId: string;\n location: Saml2ProiderLocation;\n entityId64: string;\n };\n const provider1: SamlProvider = {\n entityId: 'iSPAzure',\n location: 'hosted',\n entityId64: encodeBase64Url('iSPAzure'),\n };\n const provider2: SamlProvider = {\n entityId: 'urn:federation:MicrosoftOnline',\n location: 'remote',\n entityId64: encodeBase64Url('urn:federation:MicrosoftOnline'),\n };\n const provider3: SamlProvider = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPFedlet',\n location: 'hosted',\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPFedlet'),\n };\n const provider4: SamlProvider = {\n entityId: 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/',\n location: 'remote',\n entityId64: encodeBase64Url(\n 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/'\n ),\n };\n const provider5: SamlProvider = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPAzure',\n location: 'hosted',\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPAzure'),\n };\n const provider6: SamlProvider = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPBroadcom',\n location: 'hosted',\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPBroadcom'),\n };\n const provider7: SamlProvider = {\n entityId: 'idp',\n location: 'remote',\n entityId64: encodeBase64Url('idp'),\n };\n const provider8: SamlProvider = {\n entityId: 'SPAzure',\n location: 'hosted',\n entityId64: encodeBase64Url('SPAzure'),\n };\n const provider9: SamlProvider = {\n entityId: 'volkerDevSP',\n location: 'hosted',\n entityId64: encodeBase64Url('volkerDevSP'),\n };\n const provider10: SamlProvider = {\n entityId: 'https://saml.mytestrun.com/sp',\n location: 'remote',\n entityId64: encodeBase64Url('https://saml.mytestrun.com/sp'),\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1'\n ) {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n }\n // Pahses 3 + 4\n else if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5);\n await stageProvider(provider6);\n await stageProvider(provider7);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n }\n });\n\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('createSaml2ExportTemplate()', () => {\n test('0: Method is implemented', () => {\n expect(Saml2Ops.createSaml2ExportTemplate).toBeDefined();\n });\n\n test('1: Create saml2 export template', () => {\n const response = Saml2Ops.createSaml2ExportTemplate({ state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getSaml2ProviderStubs()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2ProviderStubs).toBeDefined();\n });\n\n test('1: Get saml2 provider stubs', async () => {\n const response = await Saml2Ops.getSaml2ProviderStubs({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderByLocationAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderByLocationAndId).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderByLocationAndId({\n location: provider1.location,\n entityId64: provider1.entityId64,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderByLocationAndId({\n location: provider2.location,\n entityId64: provider2.entityId64,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderMetadataUrl()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderMetadataUrl).toBeDefined();\n });\n\n test(`1: Get metadata url for hosted provider '${provider3.entityId}'`, async () => {\n const response = Saml2Ops.getProviderMetadataUrl({\n entityId: provider3.entityId,\n state,\n });\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider3.entityId);\n });\n\n test(`2: Get metadata url for remote provider '${provider4.entityId}'`, async () => {\n const response = Saml2Ops.getProviderMetadataUrl({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider4.entityId);\n });\n });\n\n describe('getProviderMetadata()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getProviderMetadata).toBeDefined();\n });\n\n test(`1: Get metadata for hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderMetadata({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get metadata for remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getProviderMetadata({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2ProviderStub()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2ProviderStub).toBeDefined();\n });\n\n test(`1: Get stub of hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2ProviderStub({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get stub of remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2ProviderStub({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.getSaml2Provider).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2Provider({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.getSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.exportSaml2Provider).toBeDefined();\n });\n\n test(`1: Export hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2Ops.exportSaml2Provider({\n entityId: provider1.entityId,\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.exportSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.exportSaml2Providers).toBeDefined();\n });\n\n test('1: Export saml2 entity providers', async () => {\n const response = await Saml2Ops.exportSaml2Providers({ state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.importSaml2Provider).toBeDefined();\n });\n\n test(`1: Import hosted provider '${provider5.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider5.entityId,\n importData: getSaml2ProviderImportData(provider5.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`2: Import hosted provider '${provider6.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider6.entityId,\n importData: getSaml2ProviderImportData(provider6.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`3: Import remote provider '${provider7.entityId}' with metadata`, async () => {\n expect.assertions(1);\n const response = await Saml2Ops.importSaml2Provider({\n entityId: provider7.entityId,\n importData: getSaml2ProviderImportData(provider7.entityId),\n state,\n });\n expect(response).toBeTruthy();\n });\n });\n }\n\n // Phase 2\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('importSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.importSaml2Providers).toBeDefined();\n });\n\n test('1: Import providers', async () => {\n expect.assertions(2);\n const response = await Saml2Ops.importSaml2Providers({\n importData: getSaml2ProvidersImportData(),\n state,\n });\n expect(response.failures).toBe(0);\n expect(response.warnings).toBe(0);\n });\n });\n }\n\n // Phase 3\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.deleteSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete hosted provider '${provider3.entityId}'`, async () => {\n const response = await Saml2Ops.deleteSaml2Provider({\n entityId: provider3.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2Ops.deleteSaml2Provider({\n entityId: provider4.entityId,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 4\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2Ops.deleteSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all providers`, async () => {\n const response = await Saml2Ops.deleteSaml2Providers({ state });\n expect(response).toMatchSnapshot();\n });\n });\n }\n});\n"],"mappings":"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"}
|
package/cjs/ops/ScriptOps.js
CHANGED
|
@@ -263,7 +263,11 @@ function _putScript2() {
|
|
|
263
263
|
} catch (error) {
|
|
264
264
|
var _error$response;
|
|
265
265
|
if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 409) {
|
|
266
|
-
(0, _Console.printMessage)(
|
|
266
|
+
(0, _Console.printMessage)({
|
|
267
|
+
message: "createOrUpdateScript WARNING: script with name ".concat(scriptData.name, " already exists, using renaming policy... <name> => <name - imported (n)>"),
|
|
268
|
+
type: 'warn',
|
|
269
|
+
state
|
|
270
|
+
});
|
|
267
271
|
var newName = (0, _OpsUtils.applyNameCollisionPolicy)(scriptData.name);
|
|
268
272
|
scriptData.name = newName;
|
|
269
273
|
var _result = yield putScript({
|
|
@@ -271,7 +275,11 @@ function _putScript2() {
|
|
|
271
275
|
scriptData,
|
|
272
276
|
state
|
|
273
277
|
});
|
|
274
|
-
(0, _Console.printMessage)(
|
|
278
|
+
(0, _Console.printMessage)({
|
|
279
|
+
message: "Saved script as ".concat(newName),
|
|
280
|
+
type: 'warn',
|
|
281
|
+
state
|
|
282
|
+
});
|
|
275
283
|
return _result;
|
|
276
284
|
}
|
|
277
285
|
throw error;
|
|
@@ -293,7 +301,10 @@ function _exportScript() {
|
|
|
293
301
|
scriptId,
|
|
294
302
|
state
|
|
295
303
|
} = _ref5;
|
|
296
|
-
(0, _Console.debugMessage)(
|
|
304
|
+
(0, _Console.debugMessage)({
|
|
305
|
+
message: "ScriptOps.exportScriptById: start",
|
|
306
|
+
state
|
|
307
|
+
});
|
|
297
308
|
var scriptData = yield (0, _ScriptApi.getScript)({
|
|
298
309
|
scriptId,
|
|
299
310
|
state
|
|
@@ -303,7 +314,10 @@ function _exportScript() {
|
|
|
303
314
|
state
|
|
304
315
|
});
|
|
305
316
|
exportData.script[scriptData._id] = scriptData;
|
|
306
|
-
(0, _Console.debugMessage)(
|
|
317
|
+
(0, _Console.debugMessage)({
|
|
318
|
+
message: "ScriptOps.exportScriptById: end",
|
|
319
|
+
state
|
|
320
|
+
});
|
|
307
321
|
return exportData;
|
|
308
322
|
});
|
|
309
323
|
return _exportScript.apply(this, arguments);
|
|
@@ -321,7 +335,10 @@ function _exportScriptByName() {
|
|
|
321
335
|
scriptName,
|
|
322
336
|
state
|
|
323
337
|
} = _ref6;
|
|
324
|
-
(0, _Console.debugMessage)(
|
|
338
|
+
(0, _Console.debugMessage)({
|
|
339
|
+
message: "ScriptOps.exportScriptByName: start",
|
|
340
|
+
state
|
|
341
|
+
});
|
|
325
342
|
var scriptData = yield getScriptByName({
|
|
326
343
|
scriptName,
|
|
327
344
|
state
|
|
@@ -331,7 +348,10 @@ function _exportScriptByName() {
|
|
|
331
348
|
state
|
|
332
349
|
});
|
|
333
350
|
exportData.script[scriptData._id] = scriptData;
|
|
334
|
-
(0, _Console.debugMessage)(
|
|
351
|
+
(0, _Console.debugMessage)({
|
|
352
|
+
message: "ScriptOps.exportScriptByName: end",
|
|
353
|
+
state
|
|
354
|
+
});
|
|
335
355
|
return exportData;
|
|
336
356
|
});
|
|
337
357
|
return _exportScriptByName.apply(this, arguments);
|
|
@@ -357,9 +377,16 @@ function _exportScripts() {
|
|
|
357
377
|
var exportData = createScriptExportTemplate({
|
|
358
378
|
state
|
|
359
379
|
});
|
|
360
|
-
(0, _Console.createProgressIndicator)(
|
|
380
|
+
(0, _Console.createProgressIndicator)({
|
|
381
|
+
total: scriptList.length,
|
|
382
|
+
message: "Exporting ".concat(scriptList.length, " scripts..."),
|
|
383
|
+
state
|
|
384
|
+
});
|
|
361
385
|
for (var script of scriptList) {
|
|
362
|
-
(0, _Console.updateProgressIndicator)(
|
|
386
|
+
(0, _Console.updateProgressIndicator)({
|
|
387
|
+
message: "Reading script ".concat(script.name),
|
|
388
|
+
state
|
|
389
|
+
});
|
|
363
390
|
var scriptData = yield getScriptByName({
|
|
364
391
|
scriptName: script.name,
|
|
365
392
|
state
|
|
@@ -367,7 +394,10 @@ function _exportScripts() {
|
|
|
367
394
|
scriptData.script = (0, _ExportImportUtils.convertBase64TextToArray)(scriptData.script);
|
|
368
395
|
exportData.script[scriptData._id] = scriptData;
|
|
369
396
|
}
|
|
370
|
-
(0, _Console.stopProgressIndicator)(
|
|
397
|
+
(0, _Console.stopProgressIndicator)({
|
|
398
|
+
message: "Exported ".concat(scriptList.length, " scripts."),
|
|
399
|
+
state
|
|
400
|
+
});
|
|
371
401
|
return exportData;
|
|
372
402
|
});
|
|
373
403
|
return _exportScripts.apply(this, arguments);
|
|
@@ -385,23 +415,39 @@ function _importScripts() {
|
|
|
385
415
|
state
|
|
386
416
|
} = _ref8;
|
|
387
417
|
var outcome = true;
|
|
388
|
-
(0, _Console.debugMessage)(
|
|
418
|
+
(0, _Console.debugMessage)({
|
|
419
|
+
message: "ScriptOps.importScripts: start",
|
|
420
|
+
state
|
|
421
|
+
});
|
|
389
422
|
for (var existingId of Object.keys(importData.script)) {
|
|
390
423
|
var scriptSkeleton = importData.script[existingId];
|
|
391
424
|
var newId = existingId;
|
|
392
425
|
if (reUuid) {
|
|
393
426
|
newId = (0, _uuid.v4)();
|
|
394
|
-
(0, _Console.debugMessage)(
|
|
427
|
+
(0, _Console.debugMessage)({
|
|
428
|
+
message: "ScriptOps.importScripts: Re-uuid-ing script ".concat(scriptSkeleton.name, " ").concat(existingId, " => ").concat(newId, "..."),
|
|
429
|
+
state
|
|
430
|
+
});
|
|
395
431
|
scriptSkeleton._id = newId;
|
|
396
432
|
}
|
|
397
433
|
if (scriptName) {
|
|
398
|
-
(0, _Console.debugMessage)(
|
|
434
|
+
(0, _Console.debugMessage)({
|
|
435
|
+
message: "ScriptOps.importScripts: Renaming script ".concat(scriptSkeleton.name, " => ").concat(scriptName, "..."),
|
|
436
|
+
state
|
|
437
|
+
});
|
|
399
438
|
scriptSkeleton.name = scriptName;
|
|
400
439
|
}
|
|
401
440
|
if (validate) {
|
|
402
|
-
if (!(0, _ScriptValidationUtils.validateScriptDecoded)(
|
|
441
|
+
if (!(0, _ScriptValidationUtils.validateScriptDecoded)({
|
|
442
|
+
scriptSkeleton,
|
|
443
|
+
state
|
|
444
|
+
})) {
|
|
403
445
|
outcome = false;
|
|
404
|
-
(0, _Console.printMessage)(
|
|
446
|
+
(0, _Console.printMessage)({
|
|
447
|
+
message: "Error importing script '".concat(scriptSkeleton.name, "': Script is not valid"),
|
|
448
|
+
type: 'error',
|
|
449
|
+
state
|
|
450
|
+
});
|
|
405
451
|
continue;
|
|
406
452
|
}
|
|
407
453
|
}
|
|
@@ -413,12 +459,22 @@ function _importScripts() {
|
|
|
413
459
|
});
|
|
414
460
|
} catch (error) {
|
|
415
461
|
outcome = false;
|
|
416
|
-
(0, _Console.printMessage)(
|
|
417
|
-
|
|
462
|
+
(0, _Console.printMessage)({
|
|
463
|
+
message: "Error importing script '".concat(scriptSkeleton.name, "': ").concat(error.message),
|
|
464
|
+
type: 'error',
|
|
465
|
+
state
|
|
466
|
+
});
|
|
467
|
+
(0, _Console.debugMessage)({
|
|
468
|
+
message: error,
|
|
469
|
+
state
|
|
470
|
+
});
|
|
418
471
|
}
|
|
419
472
|
if (scriptName) break;
|
|
420
473
|
}
|
|
421
|
-
(0, _Console.debugMessage)(
|
|
474
|
+
(0, _Console.debugMessage)({
|
|
475
|
+
message: "ScriptOps.importScripts: end",
|
|
476
|
+
state
|
|
477
|
+
});
|
|
422
478
|
return outcome;
|
|
423
479
|
});
|
|
424
480
|
return _importScripts.apply(this, arguments);
|
package/cjs/ops/ScriptOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptOps.js","names":["_uuid","require","_OpsUtils","_Console","_ScriptApi","_ExportImportUtils","_ScriptValidationUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ScriptOps","constructor","state","getScripts","_this","getScriptByName","scriptName","_this2","putScript","scriptId","scriptData","_this3","exportScript","_this4","exportScriptByName","_this5","exportScripts","_this6","importScripts","importData","_arguments","_this7","reUuid","length","validate","getScript","deleteScript","exports","default","createScriptExportTemplate","_ref","meta","getMetadata","script","_x","_getScripts2","_ref2","result","_getScripts","_x2","_getScriptByName2","_ref3","_getScriptByName","Error","concat","_x3","_putScript2","_ref4","Array","isArray","convertTextArrayToBase64","_putScript","_error$response","response","status","printMessage","name","newName","applyNameCollisionPolicy","_x4","_exportScript","_ref5","debugMessage","convertBase64TextToArray","exportData","_id","_x5","_exportScriptByName","_ref6","_x6","_exportScripts","_ref7","scriptList","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","_x7","_importScripts","_ref8","outcome","existingId","Object","keys","scriptSkeleton","newId","uuidv4","validateScriptDecoded","message"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { applyNameCollisionPolicy } from './utils/OpsUtils';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getScript,\n getScriptByName as _getScriptByName,\n getScripts as _getScripts,\n putScript as _putScript,\n deleteScript,\n} from '../api/ScriptApi';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n getMetadata,\n} from './utils/ExportImportUtils';\nimport { ScriptSkeleton } from '../api/ApiTypes';\nimport { ExportMetaData } from '../ops/OpsTypes';\nimport { validateScriptDecoded } from './utils/ScriptValidationUtils';\nimport State from '../shared/State';\n\nexport default class ScriptOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\n async getScripts(): Promise<ScriptSkeleton[]> {\n return getScripts({ state: this.state });\n }\n\n /**\n * Get script by name\n * @param {string} name name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\n async getScriptByName(scriptName: string): Promise<ScriptSkeleton> {\n return getScriptByName({ scriptName, state: this.state });\n }\n\n /**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\n async putScript(\n scriptId: string,\n scriptData: ScriptSkeleton\n ): Promise<boolean> {\n return putScript({ scriptId, scriptData, state: this.state });\n }\n\n /**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScript(scriptId: string): Promise<ScriptExportInterface> {\n return exportScript({ scriptId, state: this.state });\n }\n\n /**\n * Export script by name\n * @param {string} name script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScriptByName(scriptName: string): Promise<ScriptExportInterface> {\n return exportScriptByName({ scriptName, state: this.state });\n }\n\n /**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScripts(): Promise<ScriptExportInterface> {\n return exportScripts({ state: this.state });\n }\n\n /**\n * Import scripts\n * @param {string} scriptName Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\n async importScripts(\n scriptName: string,\n importData: ScriptExportInterface,\n reUuid = false,\n validate = false\n ): Promise<boolean> {\n return importScripts({\n scriptName,\n importData,\n reUuid,\n validate,\n state: this.state,\n });\n }\n\n getScript(scriptId: string) {\n return getScript({ scriptId, state: this.state });\n }\n\n deleteScript(scriptId: string) {\n return deleteScript({ scriptId, state: this.state });\n }\n}\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {ScriptExportInterface} an empty idp export template\n */\nexport function createScriptExportTemplate({\n state,\n}: {\n state: State;\n}): ScriptExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n } as ScriptExportInterface;\n}\n\n/**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts({\n state,\n}: {\n state: State;\n}): Promise<ScriptSkeleton[]> {\n const { result } = await _getScripts({ state });\n return result;\n}\n\n/**\n * Get script by name\n * @param {string} scriptName name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<ScriptSkeleton> {\n const { result } = await _getScriptByName({ scriptName, state });\n switch (result.length) {\n case 1:\n return result[0];\n case 0:\n throw new Error(`Script '${scriptName}' not found`);\n default:\n throw new Error(`${result.length} scripts '${scriptName}' found`);\n }\n}\n\n/**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\nexport async function putScript({\n scriptId,\n scriptData,\n state,\n}: {\n scriptId: string;\n scriptData: ScriptSkeleton;\n state: State;\n}): Promise<boolean> {\n try {\n if (Array.isArray(scriptData.script)) {\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n }\n const result = await _putScript({ scriptId, scriptData, state });\n return result;\n } catch (error) {\n if (error.response?.status === 409) {\n printMessage(\n `createOrUpdateScript WARNING: script with name ${scriptData.name} already exists, using renaming policy... <name> => <name - imported (n)>`,\n 'warn'\n );\n const newName = applyNameCollisionPolicy(scriptData.name);\n scriptData.name = newName;\n const result = await putScript({ scriptId, scriptData, state });\n printMessage(`Saved script as ${newName}`, 'warn');\n return result;\n }\n throw error;\n }\n}\n\n/**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptById: start`);\n const scriptData = await getScript({ scriptId, state });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate({ state });\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptById: end`);\n return exportData;\n}\n\n/**\n * Export script by name\n * @param {string} scriptName script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptByName: start`);\n const scriptData = await getScriptByName({ scriptName, state });\n scriptData.script = convertBase64TextToArray(scriptData.script as string);\n const exportData = createScriptExportTemplate({ state });\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptByName: end`);\n return exportData;\n}\n\n/**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScripts({\n state,\n}: {\n state: State;\n}): Promise<ScriptExportInterface> {\n const scriptList = await getScripts({ state });\n const exportData = createScriptExportTemplate({ state });\n createProgressIndicator(\n scriptList.length,\n `Exporting ${scriptList.length} scripts...`\n );\n for (const script of scriptList) {\n updateProgressIndicator(`Reading script ${script.name}`);\n const scriptData = await getScriptByName({\n scriptName: script.name,\n state,\n });\n scriptData.script = convertBase64TextToArray(scriptData.script as string);\n exportData.script[scriptData._id] = scriptData;\n }\n stopProgressIndicator(`Exported ${scriptList.length} scripts.`);\n return exportData;\n}\n\n/**\n * Import scripts\n * @param {string} scriptName Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\nexport async function importScripts({\n scriptName,\n importData,\n reUuid = false,\n validate = false,\n state,\n}: {\n scriptName: string;\n importData: ScriptExportInterface;\n reUuid?: boolean;\n validate?: boolean;\n state: State;\n}): Promise<boolean> {\n let outcome = true;\n debugMessage(`ScriptOps.importScripts: start`);\n for (const existingId of Object.keys(importData.script)) {\n const scriptSkeleton = importData.script[existingId];\n let newId = existingId;\n if (reUuid) {\n newId = uuidv4();\n debugMessage(\n `ScriptOps.importScripts: Re-uuid-ing script ${scriptSkeleton.name} ${existingId} => ${newId}...`\n );\n scriptSkeleton._id = newId;\n }\n if (scriptName) {\n debugMessage(\n `ScriptOps.importScripts: Renaming script ${scriptSkeleton.name} => ${scriptName}...`\n );\n scriptSkeleton.name = scriptName;\n }\n if (validate) {\n if (!validateScriptDecoded(scriptSkeleton)) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': Script is not valid`,\n 'error'\n );\n continue;\n }\n }\n try {\n await putScript({ scriptId: newId, scriptData: scriptSkeleton, state });\n } catch (error) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': ${error.message}`,\n 'error'\n );\n debugMessage(error);\n }\n if (scriptName) break;\n }\n debugMessage(`ScriptOps.importScripts: end`);\n return outcome;\n}\n\nexport { getScript, deleteScript };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScriptOps.js","names":["_uuid","require","_OpsUtils","_Console","_ScriptApi","_ExportImportUtils","_ScriptValidationUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ScriptOps","constructor","state","getScripts","_this","getScriptByName","scriptName","_this2","putScript","scriptId","scriptData","_this3","exportScript","_this4","exportScriptByName","_this5","exportScripts","_this6","importScripts","importData","_arguments","_this7","reUuid","length","validate","getScript","deleteScript","exports","default","createScriptExportTemplate","_ref","meta","getMetadata","script","_x","_getScripts2","_ref2","result","_getScripts","_x2","_getScriptByName2","_ref3","_getScriptByName","Error","concat","_x3","_putScript2","_ref4","Array","isArray","convertTextArrayToBase64","_putScript","_error$response","response","status","printMessage","message","name","type","newName","applyNameCollisionPolicy","_x4","_exportScript","_ref5","debugMessage","convertBase64TextToArray","exportData","_id","_x5","_exportScriptByName","_ref6","_x6","_exportScripts","_ref7","scriptList","createProgressIndicator","total","updateProgressIndicator","stopProgressIndicator","_x7","_importScripts","_ref8","outcome","existingId","Object","keys","scriptSkeleton","newId","uuidv4","validateScriptDecoded"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { applyNameCollisionPolicy } from './utils/OpsUtils';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getScript,\n getScriptByName as _getScriptByName,\n getScripts as _getScripts,\n putScript as _putScript,\n deleteScript,\n} from '../api/ScriptApi';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n getMetadata,\n} from './utils/ExportImportUtils';\nimport { ScriptSkeleton } from '../api/ApiTypes';\nimport { ExportMetaData } from '../ops/OpsTypes';\nimport { validateScriptDecoded } from './utils/ScriptValidationUtils';\nimport State from '../shared/State';\n\nexport default class ScriptOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\n async getScripts(): Promise<ScriptSkeleton[]> {\n return getScripts({ state: this.state });\n }\n\n /**\n * Get script by name\n * @param {string} name name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\n async getScriptByName(scriptName: string): Promise<ScriptSkeleton> {\n return getScriptByName({ scriptName, state: this.state });\n }\n\n /**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\n async putScript(\n scriptId: string,\n scriptData: ScriptSkeleton\n ): Promise<boolean> {\n return putScript({ scriptId, scriptData, state: this.state });\n }\n\n /**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScript(scriptId: string): Promise<ScriptExportInterface> {\n return exportScript({ scriptId, state: this.state });\n }\n\n /**\n * Export script by name\n * @param {string} name script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScriptByName(scriptName: string): Promise<ScriptExportInterface> {\n return exportScriptByName({ scriptName, state: this.state });\n }\n\n /**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\n async exportScripts(): Promise<ScriptExportInterface> {\n return exportScripts({ state: this.state });\n }\n\n /**\n * Import scripts\n * @param {string} scriptName Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\n async importScripts(\n scriptName: string,\n importData: ScriptExportInterface,\n reUuid = false,\n validate = false\n ): Promise<boolean> {\n return importScripts({\n scriptName,\n importData,\n reUuid,\n validate,\n state: this.state,\n });\n }\n\n getScript(scriptId: string) {\n return getScript({ scriptId, state: this.state });\n }\n\n deleteScript(scriptId: string) {\n return deleteScript({ scriptId, state: this.state });\n }\n}\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {ScriptExportInterface} an empty idp export template\n */\nexport function createScriptExportTemplate({\n state,\n}: {\n state: State;\n}): ScriptExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n } as ScriptExportInterface;\n}\n\n/**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts({\n state,\n}: {\n state: State;\n}): Promise<ScriptSkeleton[]> {\n const { result } = await _getScripts({ state });\n return result;\n}\n\n/**\n * Get script by name\n * @param {string} scriptName name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<ScriptSkeleton> {\n const { result } = await _getScriptByName({ scriptName, state });\n switch (result.length) {\n case 1:\n return result[0];\n case 0:\n throw new Error(`Script '${scriptName}' not found`);\n default:\n throw new Error(`${result.length} scripts '${scriptName}' found`);\n }\n}\n\n/**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\nexport async function putScript({\n scriptId,\n scriptData,\n state,\n}: {\n scriptId: string;\n scriptData: ScriptSkeleton;\n state: State;\n}): Promise<boolean> {\n try {\n if (Array.isArray(scriptData.script)) {\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n }\n const result = await _putScript({ scriptId, scriptData, state });\n return result;\n } catch (error) {\n if (error.response?.status === 409) {\n printMessage({\n message: `createOrUpdateScript WARNING: script with name ${scriptData.name} already exists, using renaming policy... <name> => <name - imported (n)>`,\n type: 'warn',\n state,\n });\n const newName = applyNameCollisionPolicy(scriptData.name);\n scriptData.name = newName;\n const result = await putScript({ scriptId, scriptData, state });\n printMessage({\n message: `Saved script as ${newName}`,\n type: 'warn',\n state,\n });\n return result;\n }\n throw error;\n }\n}\n\n/**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}): Promise<ScriptExportInterface> {\n debugMessage({ message: `ScriptOps.exportScriptById: start`, state });\n const scriptData = await getScript({ scriptId, state });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate({ state });\n exportData.script[scriptData._id] = scriptData;\n debugMessage({ message: `ScriptOps.exportScriptById: end`, state });\n return exportData;\n}\n\n/**\n * Export script by name\n * @param {string} scriptName script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<ScriptExportInterface> {\n debugMessage({ message: `ScriptOps.exportScriptByName: start`, state });\n const scriptData = await getScriptByName({ scriptName, state });\n scriptData.script = convertBase64TextToArray(scriptData.script as string);\n const exportData = createScriptExportTemplate({ state });\n exportData.script[scriptData._id] = scriptData;\n debugMessage({ message: `ScriptOps.exportScriptByName: end`, state });\n return exportData;\n}\n\n/**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScripts({\n state,\n}: {\n state: State;\n}): Promise<ScriptExportInterface> {\n const scriptList = await getScripts({ state });\n const exportData = createScriptExportTemplate({ state });\n createProgressIndicator({\n total: scriptList.length,\n message: `Exporting ${scriptList.length} scripts...`,\n state,\n });\n for (const script of scriptList) {\n updateProgressIndicator({\n message: `Reading script ${script.name}`,\n state,\n });\n const scriptData = await getScriptByName({\n scriptName: script.name,\n state,\n });\n scriptData.script = convertBase64TextToArray(scriptData.script as string);\n exportData.script[scriptData._id] = scriptData;\n }\n stopProgressIndicator({\n message: `Exported ${scriptList.length} scripts.`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import scripts\n * @param {string} scriptName Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\nexport async function importScripts({\n scriptName,\n importData,\n reUuid = false,\n validate = false,\n state,\n}: {\n scriptName: string;\n importData: ScriptExportInterface;\n reUuid?: boolean;\n validate?: boolean;\n state: State;\n}): Promise<boolean> {\n let outcome = true;\n debugMessage({ message: `ScriptOps.importScripts: start`, state });\n for (const existingId of Object.keys(importData.script)) {\n const scriptSkeleton = importData.script[existingId];\n let newId = existingId;\n if (reUuid) {\n newId = uuidv4();\n debugMessage({\n message: `ScriptOps.importScripts: Re-uuid-ing script ${scriptSkeleton.name} ${existingId} => ${newId}...`,\n state,\n });\n scriptSkeleton._id = newId;\n }\n if (scriptName) {\n debugMessage({\n message: `ScriptOps.importScripts: Renaming script ${scriptSkeleton.name} => ${scriptName}...`,\n state,\n });\n scriptSkeleton.name = scriptName;\n }\n if (validate) {\n if (!validateScriptDecoded({ scriptSkeleton, state })) {\n outcome = false;\n printMessage({\n message: `Error importing script '${scriptSkeleton.name}': Script is not valid`,\n type: 'error',\n state,\n });\n continue;\n }\n }\n try {\n await putScript({ scriptId: newId, scriptData: scriptSkeleton, state });\n } catch (error) {\n outcome = false;\n printMessage({\n message: `Error importing script '${scriptSkeleton.name}': ${error.message}`,\n type: 'error',\n state,\n });\n debugMessage({ message: error, state });\n }\n if (scriptName) break;\n }\n debugMessage({ message: `ScriptOps.importScripts: end`, state });\n return outcome;\n}\n\nexport { getScript, deleteScript };\n"],"mappings":"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"}
|