@rockcarver/frodo-lib 2.0.0-33 → 2.0.0-34

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.
Files changed (104) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/AgentApi.test.js +8 -1
  3. package/cjs/api/AgentApi.test.js.map +1 -1
  4. package/cjs/api/AuthenticateApi.test.js +9 -2
  5. package/cjs/api/AuthenticateApi.test.js.map +1 -1
  6. package/cjs/api/NodeApi.test.js +9 -2
  7. package/cjs/api/NodeApi.test.js.map +1 -1
  8. package/cjs/api/PoliciesApi.test.js +12 -5
  9. package/cjs/api/PoliciesApi.test.js.map +1 -1
  10. package/cjs/api/PolicySetApi.test.js +12 -5
  11. package/cjs/api/PolicySetApi.test.js.map +1 -1
  12. package/cjs/api/ResourceTypesApi.test.js +8 -1
  13. package/cjs/api/ResourceTypesApi.test.js.map +1 -1
  14. package/cjs/api/TreeApi.js.map +1 -1
  15. package/cjs/api/TreeApi.test.js +11 -3
  16. package/cjs/api/TreeApi.test.js.map +1 -1
  17. package/cjs/api/cloud/SecretsApi.test.js +10 -3
  18. package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
  19. package/cjs/api/cloud/VariablesApi.test.js +9 -2
  20. package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
  21. package/cjs/ops/AgentOps.test.js +8 -1
  22. package/cjs/ops/AgentOps.test.js.map +1 -1
  23. package/cjs/ops/AuthenticateOps.test.js +9 -4
  24. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  25. package/cjs/ops/EmailTemplateOps.test.js +8 -1
  26. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  27. package/cjs/ops/IdmConfigOps.test.js +8 -1
  28. package/cjs/ops/IdmConfigOps.test.js.map +1 -1
  29. package/cjs/ops/IdpOps.test.js +8 -1
  30. package/cjs/ops/IdpOps.test.js.map +1 -1
  31. package/cjs/ops/JourneyOps.test.js +8 -1
  32. package/cjs/ops/JourneyOps.test.js.map +1 -1
  33. package/cjs/ops/OAuth2ClientOps.test.js +8 -1
  34. package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
  35. package/cjs/ops/PolicyOps.test.js +14 -7
  36. package/cjs/ops/PolicyOps.test.js.map +1 -1
  37. package/cjs/ops/PolicySetOps.test.js +12 -5
  38. package/cjs/ops/PolicySetOps.test.js.map +1 -1
  39. package/cjs/ops/ResourceTypeOps.test.js +8 -1
  40. package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
  41. package/cjs/ops/Saml2Ops.test.js +8 -1
  42. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  43. package/cjs/ops/ScriptOps.test.js +8 -1
  44. package/cjs/ops/ScriptOps.test.js.map +1 -1
  45. package/cjs/ops/ThemeOps.test.js +8 -1
  46. package/cjs/ops/ThemeOps.test.js.map +1 -1
  47. package/cjs/ops/cloud/ServiceAccountOps.test.js +9 -2
  48. package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
  49. package/cjs/utils/AutoSetupPolly.js +47 -2
  50. package/cjs/utils/AutoSetupPolly.js.map +1 -1
  51. package/esm/api/AgentApi.test.js +9 -2
  52. package/esm/api/AgentApi.test.js.map +1 -1
  53. package/esm/api/AuthenticateApi.test.js +10 -3
  54. package/esm/api/AuthenticateApi.test.js.map +1 -1
  55. package/esm/api/NodeApi.test.js +10 -3
  56. package/esm/api/NodeApi.test.js.map +1 -1
  57. package/esm/api/PoliciesApi.test.js +13 -6
  58. package/esm/api/PoliciesApi.test.js.map +1 -1
  59. package/esm/api/PolicySetApi.test.js +13 -6
  60. package/esm/api/PolicySetApi.test.js.map +1 -1
  61. package/esm/api/ResourceTypesApi.test.js +9 -2
  62. package/esm/api/ResourceTypesApi.test.js.map +1 -1
  63. package/esm/api/TreeApi.js.map +1 -1
  64. package/esm/api/TreeApi.test.js +12 -4
  65. package/esm/api/TreeApi.test.js.map +1 -1
  66. package/esm/api/cloud/SecretsApi.test.js +11 -4
  67. package/esm/api/cloud/SecretsApi.test.js.map +1 -1
  68. package/esm/api/cloud/VariablesApi.test.js +10 -3
  69. package/esm/api/cloud/VariablesApi.test.js.map +1 -1
  70. package/esm/ops/AgentOps.test.js +9 -2
  71. package/esm/ops/AgentOps.test.js.map +1 -1
  72. package/esm/ops/AuthenticateOps.test.js +10 -5
  73. package/esm/ops/AuthenticateOps.test.js.map +1 -1
  74. package/esm/ops/EmailTemplateOps.test.js +9 -2
  75. package/esm/ops/EmailTemplateOps.test.js.map +1 -1
  76. package/esm/ops/IdmConfigOps.test.js +9 -2
  77. package/esm/ops/IdmConfigOps.test.js.map +1 -1
  78. package/esm/ops/IdpOps.test.js +9 -2
  79. package/esm/ops/IdpOps.test.js.map +1 -1
  80. package/esm/ops/JourneyOps.test.js +9 -2
  81. package/esm/ops/JourneyOps.test.js.map +1 -1
  82. package/esm/ops/OAuth2ClientOps.test.js +9 -2
  83. package/esm/ops/OAuth2ClientOps.test.js.map +1 -1
  84. package/esm/ops/PolicyOps.test.js +15 -8
  85. package/esm/ops/PolicyOps.test.js.map +1 -1
  86. package/esm/ops/PolicySetOps.test.js +13 -6
  87. package/esm/ops/PolicySetOps.test.js.map +1 -1
  88. package/esm/ops/ResourceTypeOps.test.js +9 -2
  89. package/esm/ops/ResourceTypeOps.test.js.map +1 -1
  90. package/esm/ops/Saml2Ops.test.js +9 -2
  91. package/esm/ops/Saml2Ops.test.js.map +1 -1
  92. package/esm/ops/ScriptOps.test.js +9 -2
  93. package/esm/ops/ScriptOps.test.js.map +1 -1
  94. package/esm/ops/ThemeOps.test.js +9 -2
  95. package/esm/ops/ThemeOps.test.js.map +1 -1
  96. package/esm/ops/cloud/ServiceAccountOps.test.js +10 -3
  97. package/esm/ops/cloud/ServiceAccountOps.test.js.map +1 -1
  98. package/esm/utils/AutoSetupPolly.js +46 -2
  99. package/esm/utils/AutoSetupPolly.js.map +1 -1
  100. package/package.json +1 -1
  101. package/types/api/TreeApi.d.ts +1 -1
  102. package/types/api/TreeApi.d.ts.map +1 -1
  103. package/types/utils/AutoSetupPolly.d.ts +48 -2
  104. package/types/utils/AutoSetupPolly.d.ts.map +1 -1
package/build.zip CHANGED
Binary file
@@ -38,7 +38,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
38
38
  * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
39
39
  * in case things don't function as expected
40
40
  */
41
- (0, _AutoSetupPolly.autoSetupPolly)();
41
+ var ctx = (0, _AutoSetupPolly.autoSetupPolly)();
42
42
  describe('AgentApi', () => {
43
43
  var gateway1 = {
44
44
  id: 'FrodoTestGatewayAgent1',
@@ -391,6 +391,13 @@ describe('AgentApi', () => {
391
391
  }
392
392
  }
393
393
  }));
394
+ beforeEach( /*#__PURE__*/_asyncToGenerator(function* () {
395
+ if (process.env.FRODO_POLLY_MODE === 'record') {
396
+ ctx.polly.server.any().on('beforePersist', (_req, recording) => {
397
+ (0, _AutoSetupPolly.filterRecording)(recording);
398
+ });
399
+ }
400
+ }));
394
401
  describe('getAgentTypes()', () => {
395
402
  test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
396
403
  expect(AgentApi.getAgentTypes).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"AgentApi.test.js","names":["autoSetupPolly","describe","gateway1","id","type","gateway2","gateway3","java1","java2","java3","web1","web2","web3","beforeAll","_asyncToGenerator","process","env","FRODO_POLLY_MODE","AgentApi","getAgentByTypeAndId","agentType","agentId","state","deleteAgentByTypeAndId","error","putAgentByTypeAndId","agentData","getAgent","afterAll","test","expect","getAgentTypes","toBeDefined","response","toMatchSnapshot","getAgentsByType","getAgents","findAgentById","concat","findAgentByTypeAndId"],"sources":["../../src/api/AgentApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record AgentApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentApi\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 AgentApi\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 * as AgentApi from './AgentApi';\nimport { state } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\ndescribe('AgentApi', () => {\n const gateway1 = {\n id: 'FrodoTestGatewayAgent1',\n type: 'IdentityGatewayAgent',\n };\n const gateway2 = {\n id: 'FrodoTestGatewayAgent2',\n type: 'IdentityGatewayAgent',\n };\n const gateway3 = {\n id: 'FrodoTestGatewayAgent3',\n type: 'IdentityGatewayAgent',\n };\n const java1 = {\n id: 'FrodoTestJavaAgent1',\n type: 'J2EEAgent',\n };\n const java2 = {\n id: 'FrodoTestJavaAgent2',\n type: 'J2EEAgent',\n };\n const java3 = {\n id: 'FrodoTestJavaAgent3',\n type: 'J2EEAgent',\n };\n const web1 = {\n id: 'FrodoTestWebAgent1',\n type: 'WebAgent',\n };\n const web2 = {\n id: 'FrodoTestWebAgent2',\n type: 'WebAgent',\n };\n const web3 = {\n id: 'FrodoTestWebAgent3',\n type: 'WebAgent',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup gateway1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n agentData: getAgent(gateway1.type, gateway1.id),\n state,\n });\n }\n // setup gateway2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup gateway3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n agentData: getAgent(gateway3.type, gateway3.id),\n state,\n });\n }\n\n // setup java1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n agentData: getAgent(java1.type, java1.id),\n state,\n });\n }\n // setup java2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup java3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n agentData: getAgent(java3.type, java3.id),\n state,\n });\n }\n\n // setup web1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n agentData: getAgent(web1.type, web1.id),\n state,\n });\n }\n // setup web2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup web3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n agentData: getAgent(web3.type, web3.id),\n state,\n });\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getAgentTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentTypes).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = await AgentApi.getAgentTypes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentsByType()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentsByType).toBeDefined();\n });\n\n test('1: Get all gateway agents', async () => {\n const agentType = 'IdentityGatewayAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all java agents', async () => {\n const agentType = 'J2EEAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all web agents', async () => {\n const agentType = 'WebAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await AgentApi.getAgents({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentById()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.findAgentById).toBeDefined();\n });\n\n test(`1: Find agent '${gateway1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find agent '${java1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find agent '${web1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.findAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.putAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n agentData: getAgent(gateway2.type, gateway2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n agentData: getAgent(java2.type, java2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n agentData: getAgent(web2.type, web2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete ${java3.type} '${java3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete ${web3.type} '${web3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentApi.test.js","names":["ctx","autoSetupPolly","describe","gateway1","id","type","gateway2","gateway3","java1","java2","java3","web1","web2","web3","beforeAll","_asyncToGenerator","process","env","FRODO_POLLY_MODE","AgentApi","getAgentByTypeAndId","agentType","agentId","state","deleteAgentByTypeAndId","error","putAgentByTypeAndId","agentData","getAgent","afterAll","beforeEach","polly","server","any","on","_req","recording","filterRecording","test","expect","getAgentTypes","toBeDefined","response","toMatchSnapshot","getAgentsByType","getAgents","findAgentById","concat","findAgentByTypeAndId"],"sources":["../../src/api/AgentApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record AgentApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentApi\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 AgentApi\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 * as AgentApi from './AgentApi';\nimport { state } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly, filterRecording } from '../utils/AutoSetupPolly';\n\nconst ctx = autoSetupPolly();\n\ndescribe('AgentApi', () => {\n const gateway1 = {\n id: 'FrodoTestGatewayAgent1',\n type: 'IdentityGatewayAgent' as AgentApi.AgentType,\n };\n const gateway2 = {\n id: 'FrodoTestGatewayAgent2',\n type: 'IdentityGatewayAgent' as AgentApi.AgentType,\n };\n const gateway3 = {\n id: 'FrodoTestGatewayAgent3',\n type: 'IdentityGatewayAgent' as AgentApi.AgentType,\n };\n const java1 = {\n id: 'FrodoTestJavaAgent1',\n type: 'J2EEAgent' as AgentApi.AgentType,\n };\n const java2 = {\n id: 'FrodoTestJavaAgent2',\n type: 'J2EEAgent' as AgentApi.AgentType,\n };\n const java3 = {\n id: 'FrodoTestJavaAgent3',\n type: 'J2EEAgent' as AgentApi.AgentType,\n };\n const web1 = {\n id: 'FrodoTestWebAgent1',\n type: 'WebAgent' as AgentApi.AgentType,\n };\n const web2 = {\n id: 'FrodoTestWebAgent2',\n type: 'WebAgent' as AgentApi.AgentType,\n };\n const web3 = {\n id: 'FrodoTestWebAgent3',\n type: 'WebAgent' as AgentApi.AgentType,\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup gateway1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n agentData: getAgent(gateway1.type, gateway1.id),\n state,\n });\n }\n // setup gateway2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup gateway3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n agentData: getAgent(gateway3.type, gateway3.id),\n state,\n });\n }\n\n // setup java1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n agentData: getAgent(java1.type, java1.id),\n state,\n });\n }\n // setup java2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup java3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n agentData: getAgent(java3.type, java3.id),\n state,\n });\n }\n\n // setup web1 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n agentData: getAgent(web1.type, web1.id),\n state,\n });\n }\n // setup web2 - delete if exists\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n // setup web3 - delete if exists, then create\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await AgentApi.putAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n agentData: getAgent(web3.type, web3.id),\n state,\n });\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await AgentApi.getAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n } catch (error) {\n // ignore\n }\n }\n });\n beforeEach(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n ctx.polly.server.any().on('beforePersist', (_req, recording) => {\n filterRecording(recording);\n });\n }\n });\n\n describe('getAgentTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentTypes).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = await AgentApi.getAgentTypes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentsByType()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentsByType).toBeDefined();\n });\n\n test('1: Get all gateway agents', async () => {\n const agentType = 'IdentityGatewayAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all java agents', async () => {\n const agentType = 'J2EEAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all web agents', async () => {\n const agentType = 'WebAgent';\n const response = await AgentApi.getAgentsByType({ agentType, state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await AgentApi.getAgents({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentById()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.findAgentById).toBeDefined();\n });\n\n test(`1: Find agent '${gateway1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find agent '${java1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find agent '${web1.id}'`, async () => {\n const response = await AgentApi.findAgentById({\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.findAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentApi.findAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: gateway1.type,\n agentId: gateway1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: java1.type,\n agentId: java1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentApi.getAgentByTypeAndId({\n agentType: web1.type,\n agentId: web1.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.putAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: gateway2.type,\n agentId: gateway2.id,\n agentData: getAgent(gateway2.type, gateway2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: java2.type,\n agentId: java2.id,\n agentData: getAgent(java2.type, java2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await AgentApi.putAgentByTypeAndId({\n agentType: web2.type,\n agentId: web2.id,\n agentData: getAgent(web2.type, web2.id),\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentApi.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: gateway3.type,\n agentId: gateway3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete ${java3.type} '${java3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: java3.type,\n agentId: java3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete ${web3.type} '${web3.id}'`, async () => {\n const response = await AgentApi.deleteAgentByTypeAndId({\n agentType: web3.type,\n agentId: web3.id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":";;;;;;;;;sYAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,IAAMA,GAAG,GAAG,IAAAC,8BAAc,EAAC,CAAC;AAE5BC,QAAQ,CAAC,UAAU,EAAE,MAAM;EACzB,IAAMC,QAAQ,GAAG;IACfC,EAAE,EAAE,wBAAwB;IAC5BC,IAAI,EAAE;EACR,CAAC;EACD,IAAMC,QAAQ,GAAG;IACfF,EAAE,EAAE,wBAAwB;IAC5BC,IAAI,EAAE;EACR,CAAC;EACD,IAAME,QAAQ,GAAG;IACfH,EAAE,EAAE,wBAAwB;IAC5BC,IAAI,EAAE;EACR,CAAC;EACD,IAAMG,KAAK,GAAG;IACZJ,EAAE,EAAE,qBAAqB;IACzBC,IAAI,EAAE;EACR,CAAC;EACD,IAAMI,KAAK,GAAG;IACZL,EAAE,EAAE,qBAAqB;IACzBC,IAAI,EAAE;EACR,CAAC;EACD,IAAMK,KAAK,GAAG;IACZN,EAAE,EAAE,qBAAqB;IACzBC,IAAI,EAAE;EACR,CAAC;EACD,IAAMM,IAAI,GAAG;IACXP,EAAE,EAAE,oBAAoB;IACxBC,IAAI,EAAE;EACR,CAAC;EACD,IAAMO,IAAI,GAAG;IACXR,EAAE,EAAE,oBAAoB;IACxBC,IAAI,EAAE;EACR,CAAC;EACD,IAAMQ,IAAI,GAAG;IACXT,EAAE,EAAE,oBAAoB;IACxBC,IAAI,EAAE;EACR,CAAC;EACD;EACAS,SAAS,eAAAC,iBAAA,CAAC,aAAY;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C;MACA,IAAI;QACF,MAAMC,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAElB,QAAQ,CAACE,IAAI;UACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAElB,QAAQ,CAACE,IAAI;UACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAElB,QAAQ,CAACE,IAAI;UACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;UACpBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACzB,QAAQ,CAACE,IAAI,EAAEF,QAAQ,CAACC,EAAE,CAAC;UAC/CmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;MACA;MACA,IAAI;QACF,MAAMJ,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEf,QAAQ,CAACD,IAAI;UACxBiB,OAAO,EAAEhB,QAAQ,CAACF,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEf,QAAQ,CAACD,IAAI;UACxBiB,OAAO,EAAEhB,QAAQ,CAACF,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF;MACA,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEd,QAAQ,CAACF,IAAI;UACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEd,QAAQ,CAACF,IAAI;UACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAEd,QAAQ,CAACF,IAAI;UACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;UACpBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACrB,QAAQ,CAACF,IAAI,EAAEE,QAAQ,CAACH,EAAE,CAAC;UAC/CmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;;MAEA;MACA,IAAI;QACF,MAAMJ,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEb,KAAK,CAACH,IAAI;UACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEb,KAAK,CAACH,IAAI;UACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAEb,KAAK,CAACH,IAAI;UACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;UACjBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACpB,KAAK,CAACH,IAAI,EAAEG,KAAK,CAACJ,EAAE,CAAC;UACzCmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;MACA;MACA,IAAI;QACF,MAAMJ,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEZ,KAAK,CAACJ,IAAI;UACrBiB,OAAO,EAAEb,KAAK,CAACL,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEZ,KAAK,CAACJ,IAAI;UACrBiB,OAAO,EAAEb,KAAK,CAACL,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF;MACA,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEX,KAAK,CAACL,IAAI;UACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEX,KAAK,CAACL,IAAI;UACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAEX,KAAK,CAACL,IAAI;UACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;UACjBuB,SAAS,EAAE,IAAAC,gCAAQ,EAAClB,KAAK,CAACL,IAAI,EAAEK,KAAK,CAACN,EAAE,CAAC;UACzCmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;;MAEA;MACA,IAAI;QACF,MAAMJ,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEV,IAAI,CAACN,IAAI;UACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEV,IAAI,CAACN,IAAI;UACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAEV,IAAI,CAACN,IAAI;UACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;UAChBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACjB,IAAI,CAACN,IAAI,EAAEM,IAAI,CAACP,EAAE,CAAC;UACvCmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;MACA;MACA,IAAI;QACF,MAAMJ,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAET,IAAI,CAACP,IAAI;UACpBiB,OAAO,EAAEV,IAAI,CAACR,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAET,IAAI,CAACP,IAAI;UACpBiB,OAAO,EAAEV,IAAI,CAACR,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF;MACA,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAER,IAAI,CAACR,IAAI;UACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAER,IAAI,CAACR,IAAI;UACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMN,QAAQ,CAACO,mBAAmB,CAAC;UACjCL,SAAS,EAAER,IAAI,CAACR,IAAI;UACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;UAChBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACf,IAAI,CAACR,IAAI,EAAEQ,IAAI,CAACT,EAAE,CAAC;UACvCmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EAAC;EACF;EACAM,QAAQ,eAAAd,iBAAA,CAAC,aAAY;IACnB,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,IAAI;QACF,MAAMC,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAElB,QAAQ,CAACE,IAAI;UACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAElB,QAAQ,CAACE,IAAI;UACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEf,QAAQ,CAACD,IAAI;UACxBiB,OAAO,EAAEhB,QAAQ,CAACF,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEf,QAAQ,CAACD,IAAI;UACxBiB,OAAO,EAAEhB,QAAQ,CAACF,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEd,QAAQ,CAACF,IAAI;UACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEd,QAAQ,CAACF,IAAI;UACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;UACpBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAGF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEb,KAAK,CAACH,IAAI;UACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEb,KAAK,CAACH,IAAI;UACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEZ,KAAK,CAACJ,IAAI;UACrBiB,OAAO,EAAEb,KAAK,CAACL,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEZ,KAAK,CAACJ,IAAI;UACrBiB,OAAO,EAAEb,KAAK,CAACL,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEX,KAAK,CAACL,IAAI;UACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEX,KAAK,CAACL,IAAI;UACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;UACjBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAGF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAEV,IAAI,CAACN,IAAI;UACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAEV,IAAI,CAACN,IAAI;UACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAET,IAAI,CAACP,IAAI;UACpBiB,OAAO,EAAEV,IAAI,CAACR,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAET,IAAI,CAACP,IAAI;UACpBiB,OAAO,EAAEV,IAAI,CAACR,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMN,QAAQ,CAACC,mBAAmB,CAAC;UACjCC,SAAS,EAAER,IAAI,CAACR,IAAI;UACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;QACF,MAAMJ,QAAQ,CAACK,sBAAsB,CAAC;UACpCH,SAAS,EAAER,IAAI,CAACR,IAAI;UACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;UAChBmB,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;MAAA;IAEJ;EACF,CAAC,EAAC;EACFK,UAAU,eAAAf,iBAAA,CAAC,aAAY;IACrB,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7ClB,GAAG,CAAC+B,KAAK,CAACC,MAAM,CAACC,GAAG,CAAC,CAAC,CAACC,EAAE,CAAC,eAAe,EAAE,CAACC,IAAI,EAAEC,SAAS,KAAK;QAC9D,IAAAC,+BAAe,EAACD,SAAS,CAAC;MAC5B,CAAC,CAAC;IACJ;EACF,CAAC,EAAC;EAEFlC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAChCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAACqB,aAAa,CAAC,CAACC,WAAW,CAAC,CAAC;IAC9C,CAAC,EAAC;IAEFH,IAAI,CAAC,wBAAwB,eAAAvB,iBAAA,CAAE,aAAY;MACzC,IAAM2B,QAAQ,SAASvB,QAAQ,CAACqB,aAAa,CAAC;QAAEjB,KAAK,EAALA;MAAM,CAAC,CAAC;MACxDgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAACyB,eAAe,CAAC,CAACH,WAAW,CAAC,CAAC;IAChD,CAAC,EAAC;IAEFH,IAAI,CAAC,2BAA2B,eAAAvB,iBAAA,CAAE,aAAY;MAC5C,IAAMM,SAAS,GAAG,sBAAsB;MACxC,IAAMqB,QAAQ,SAASvB,QAAQ,CAACyB,eAAe,CAAC;QAAEvB,SAAS;QAAEE,KAAK,EAALA;MAAM,CAAC,CAAC;MACrEgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,CAAC,wBAAwB,eAAAvB,iBAAA,CAAE,aAAY;MACzC,IAAMM,SAAS,GAAG,WAAW;MAC7B,IAAMqB,QAAQ,SAASvB,QAAQ,CAACyB,eAAe,CAAC;QAAEvB,SAAS;QAAEE,KAAK,EAALA;MAAM,CAAC,CAAC;MACrEgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,CAAC,uBAAuB,eAAAvB,iBAAA,CAAE,aAAY;MACxC,IAAMM,SAAS,GAAG,UAAU;MAC5B,IAAMqB,QAAQ,SAASvB,QAAQ,CAACyB,eAAe,CAAC;QAAEvB,SAAS;QAAEE,KAAK,EAALA;MAAM,CAAC,CAAC;MACrEgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC5BoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAAC0B,SAAS,CAAC,CAACJ,WAAW,CAAC,CAAC;IAC1C,CAAC,EAAC;IAEFH,IAAI,CAAC,mBAAmB,eAAAvB,iBAAA,CAAE,aAAY;MACpC,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC0B,SAAS,CAAC;QAAEtB,KAAK,EAALA;MAAM,CAAC,CAAC;MACpDgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAChCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAAC2B,aAAa,CAAC,CAACL,WAAW,CAAC,CAAC;IAC9C,CAAC,EAAC;IAEFH,IAAI,mBAAAS,MAAA,CAAmB5C,QAAQ,CAACC,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACjD,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC2B,aAAa,CAAC;QAC5CxB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;QACpBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,mBAAAS,MAAA,CAAmBvC,KAAK,CAACJ,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC9C,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC2B,aAAa,CAAC;QAC5CxB,OAAO,EAAEd,KAAK,CAACJ,EAAE;QACjBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,mBAAAS,MAAA,CAAmBpC,IAAI,CAACP,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC7C,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC2B,aAAa,CAAC;QAC5CxB,OAAO,EAAEX,IAAI,CAACP,EAAE;QAChBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,wBAAwB,EAAE,MAAM;IACvCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAAC6B,oBAAoB,CAAC,CAACP,WAAW,CAAC,CAAC;IACrD,CAAC,EAAC;IAEFH,IAAI,YAAAS,MAAA,CAAY5C,QAAQ,CAACE,IAAI,QAAA0C,MAAA,CAAK5C,QAAQ,CAACC,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC5D,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC6B,oBAAoB,CAAC;QACnD3B,SAAS,EAAElB,QAAQ,CAACE,IAAI;QACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;QACpBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,YAAAS,MAAA,CAAYvC,KAAK,CAACH,IAAI,QAAA0C,MAAA,CAAKvC,KAAK,CAACJ,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACtD,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC6B,oBAAoB,CAAC;QACnD3B,SAAS,EAAEb,KAAK,CAACH,IAAI;QACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;QACjBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,YAAAS,MAAA,CAAYpC,IAAI,CAACN,IAAI,QAAA0C,MAAA,CAAKpC,IAAI,CAACP,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACpD,IAAM2B,QAAQ,SAASvB,QAAQ,CAAC6B,oBAAoB,CAAC;QACnD3B,SAAS,EAAEV,IAAI,CAACN,IAAI;QACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;QAChBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACtCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAACC,mBAAmB,CAAC,CAACqB,WAAW,CAAC,CAAC;IACpD,CAAC,EAAC;IAEFH,IAAI,WAAAS,MAAA,CAAW5C,QAAQ,CAACE,IAAI,QAAA0C,MAAA,CAAK5C,QAAQ,CAACC,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC3D,IAAM2B,QAAQ,SAASvB,QAAQ,CAACC,mBAAmB,CAAC;QAClDC,SAAS,EAAElB,QAAQ,CAACE,IAAI;QACxBiB,OAAO,EAAEnB,QAAQ,CAACC,EAAE;QACpBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,WAAAS,MAAA,CAAWvC,KAAK,CAACH,IAAI,QAAA0C,MAAA,CAAKvC,KAAK,CAACJ,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACrD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACC,mBAAmB,CAAC;QAClDC,SAAS,EAAEb,KAAK,CAACH,IAAI;QACrBiB,OAAO,EAAEd,KAAK,CAACJ,EAAE;QACjBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,WAAAS,MAAA,CAAWpC,IAAI,CAACN,IAAI,QAAA0C,MAAA,CAAKpC,IAAI,CAACP,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACnD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACC,mBAAmB,CAAC;QAClDC,SAAS,EAAEV,IAAI,CAACN,IAAI;QACpBiB,OAAO,EAAEX,IAAI,CAACP,EAAE;QAChBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACtCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAACO,mBAAmB,CAAC,CAACe,WAAW,CAAC,CAAC;IACpD,CAAC,EAAC;IAEFH,IAAI,WAAAS,MAAA,CAAWzC,QAAQ,CAACD,IAAI,QAAA0C,MAAA,CAAKzC,QAAQ,CAACF,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC3D,IAAM2B,QAAQ,SAASvB,QAAQ,CAACO,mBAAmB,CAAC;QAClDL,SAAS,EAAEf,QAAQ,CAACD,IAAI;QACxBiB,OAAO,EAAEhB,QAAQ,CAACF,EAAE;QACpBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACtB,QAAQ,CAACD,IAAI,EAAEC,QAAQ,CAACF,EAAE,CAAC;QAC/CmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,WAAAS,MAAA,CAAWtC,KAAK,CAACJ,IAAI,QAAA0C,MAAA,CAAKtC,KAAK,CAACL,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACrD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACO,mBAAmB,CAAC;QAClDL,SAAS,EAAEZ,KAAK,CAACJ,IAAI;QACrBiB,OAAO,EAAEb,KAAK,CAACL,EAAE;QACjBuB,SAAS,EAAE,IAAAC,gCAAQ,EAACnB,KAAK,CAACJ,IAAI,EAAEI,KAAK,CAACL,EAAE,CAAC;QACzCmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,WAAAS,MAAA,CAAWnC,IAAI,CAACP,IAAI,QAAA0C,MAAA,CAAKnC,IAAI,CAACR,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACnD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACO,mBAAmB,CAAC;QAClDL,SAAS,EAAET,IAAI,CAACP,IAAI;QACpBiB,OAAO,EAAEV,IAAI,CAACR,EAAE;QAChBuB,SAAS,EAAE,IAAAC,gCAAQ,EAAChB,IAAI,CAACP,IAAI,EAAEO,IAAI,CAACR,EAAE,CAAC;QACvCmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzC,QAAQ,CAAC,0BAA0B,EAAE,MAAM;IACzCoC,IAAI,CAAC,0BAA0B,eAAAvB,iBAAA,CAAE,aAAY;MAC3CwB,MAAM,CAACpB,QAAQ,CAACK,sBAAsB,CAAC,CAACiB,WAAW,CAAC,CAAC;IACvD,CAAC,EAAC;IAEFH,IAAI,cAAAS,MAAA,CAAcxC,QAAQ,CAACF,IAAI,QAAA0C,MAAA,CAAKxC,QAAQ,CAACH,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MAC9D,IAAM2B,QAAQ,SAASvB,QAAQ,CAACK,sBAAsB,CAAC;QACrDH,SAAS,EAAEd,QAAQ,CAACF,IAAI;QACxBiB,OAAO,EAAEf,QAAQ,CAACH,EAAE;QACpBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,cAAAS,MAAA,CAAcrC,KAAK,CAACL,IAAI,QAAA0C,MAAA,CAAKrC,KAAK,CAACN,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACxD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACK,sBAAsB,CAAC;QACrDH,SAAS,EAAEX,KAAK,CAACL,IAAI;QACrBiB,OAAO,EAAEZ,KAAK,CAACN,EAAE;QACjBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;IAEFL,IAAI,cAAAS,MAAA,CAAclC,IAAI,CAACR,IAAI,QAAA0C,MAAA,CAAKlC,IAAI,CAACT,EAAE,qBAAAW,iBAAA,CAAK,aAAY;MACtD,IAAM2B,QAAQ,SAASvB,QAAQ,CAACK,sBAAsB,CAAC;QACrDH,SAAS,EAAER,IAAI,CAACR,IAAI;QACpBiB,OAAO,EAAET,IAAI,CAACT,EAAE;QAChBmB,KAAK,EAALA;MACF,CAAC,CAAC;MACFgB,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -16,7 +16,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
16
16
  * getTokens() function by the test to connect to the env to record from:
17
17
  *
18
18
  * FRODO_DEBUG=1 \
19
- * FRODO_HOST=https://openam-volker-dev.forgeblocks.com/am \
19
+ * FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am \
20
20
  * FRODO_REALM=alpha \
21
21
  * FRODO_USERNAME=vscheuber@gmail.com \
22
22
  * FRODO_PASSWORD='S3cr3!S@uc3' \
@@ -45,8 +45,15 @@ var matchConfig = (0, _AutoSetupPolly.defaultMatchRequestsBy)();
45
45
  matchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request
46
46
  matchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests
47
47
 
48
- (0, _AutoSetupPolly.autoSetupPolly)(matchConfig);
48
+ var ctx = (0, _AutoSetupPolly.autoSetupPolly)(matchConfig);
49
49
  describe('AuthenticateApi', () => {
50
+ beforeEach( /*#__PURE__*/_asyncToGenerator(function* () {
51
+ if (process.env.FRODO_POLLY_MODE === 'record') {
52
+ ctx.polly.server.any().on('beforePersist', (_req, recording) => {
53
+ (0, _AutoSetupPolly.filterRecording)(recording);
54
+ });
55
+ }
56
+ }));
50
57
  describe('step()', () => {
51
58
  test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
52
59
  expect(AuthenticateApi.step).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticateApi.test.js","names":["matchConfig","defaultMatchRequestsBy","body","order","autoSetupPolly","describe","test","_asyncToGenerator","expect","AuthenticateApi","step","toBeDefined","state","setHost","process","env","FRODO_HOST","setRealm","FRODO_REALM","setUsername","FRODO_USERNAME","setPassword","FRODO_PASSWORD","setAuthenticationService","FRODO_AUTHENTICATION_SERVICE","config","headers","getUsername","getPassword","response1","realm","getRealm","toMatchSnapshot","fillCallbacks","response","map","IDToken1","IDToken2","response2"],"sources":["../../src/api/AuthenticateApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record_noauth\n * script and override all the connection state variables supplied to the\n * getTokens() function by the test to connect to the env to record from:\n *\n * FRODO_DEBUG=1 \\\n * FRODO_HOST=https://openam-volker-dev.forgeblocks.com/am \\\n * FRODO_REALM=alpha \\\n * FRODO_USERNAME=vscheuber@gmail.com \\\n * FRODO_PASSWORD='S3cr3!S@uc3' \\\n * FRODO_AUTHENTICATION_SERVICE=PasswordGrant \\\n * npm run test:record_noauth AuthenticateApi\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AuthenticateApi\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 AuthenticateApi\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 * as AuthenticateApi from './AuthenticateApi';\nimport { state } from '../index';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for an authentication flow.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request\nmatchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests\n\nautoSetupPolly(matchConfig);\n\ndescribe('AuthenticateApi', () => {\n describe('step()', () => {\n test('0: Method is implemented', async () => {\n expect(AuthenticateApi.step).toBeDefined();\n });\n\n test(\"1: Single step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n const response1 = await AuthenticateApi.step({\n body: {},\n config,\n realm: state.getRealm(),\n state,\n });\n expect(response1).toMatchSnapshot();\n });\n\n test(\"2: Two step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const response1 = await AuthenticateApi.step({\n body: {},\n config: {},\n realm: state.getRealm(),\n state,\n });\n expect(response1).toMatchSnapshot();\n const body = AuthenticateApi.fillCallbacks({\n response: response1,\n map: {\n IDToken1: state.getUsername() as string,\n IDToken2: state.getPassword() as string,\n },\n });\n const response2 = await AuthenticateApi.step({\n body,\n config: {},\n realm: state.getRealm(),\n state,\n });\n expect(response2).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthenticateApi.test.js","names":["matchConfig","defaultMatchRequestsBy","body","order","ctx","autoSetupPolly","describe","beforeEach","_asyncToGenerator","process","env","FRODO_POLLY_MODE","polly","server","any","on","_req","recording","filterRecording","test","expect","AuthenticateApi","step","toBeDefined","state","setHost","FRODO_HOST","setRealm","FRODO_REALM","setUsername","FRODO_USERNAME","setPassword","FRODO_PASSWORD","setAuthenticationService","FRODO_AUTHENTICATION_SERVICE","config","headers","getUsername","getPassword","response1","realm","getRealm","toMatchSnapshot","fillCallbacks","response","map","IDToken1","IDToken2","response2"],"sources":["../../src/api/AuthenticateApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record_noauth\n * script and override all the connection state variables supplied to the\n * getTokens() function by the test to connect to the env to record from:\n *\n * FRODO_DEBUG=1 \\\n * FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am \\\n * FRODO_REALM=alpha \\\n * FRODO_USERNAME=vscheuber@gmail.com \\\n * FRODO_PASSWORD='S3cr3!S@uc3' \\\n * FRODO_AUTHENTICATION_SERVICE=PasswordGrant \\\n * npm run test:record_noauth AuthenticateApi\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AuthenticateApi\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 AuthenticateApi\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 * as AuthenticateApi from './AuthenticateApi';\nimport { state } from '../index';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n filterRecording,\n} from '../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for an authentication flow.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request\nmatchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests\n\nconst ctx = autoSetupPolly(matchConfig);\n\ndescribe('AuthenticateApi', () => {\n beforeEach(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n ctx.polly.server.any().on('beforePersist', (_req, recording) => {\n filterRecording(recording);\n });\n }\n });\n\n describe('step()', () => {\n test('0: Method is implemented', async () => {\n expect(AuthenticateApi.step).toBeDefined();\n });\n\n test(\"1: Single step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n const response1 = await AuthenticateApi.step({\n body: {},\n config,\n realm: state.getRealm(),\n state,\n });\n expect(response1).toMatchSnapshot();\n });\n\n test(\"2: Two step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const response1 = await AuthenticateApi.step({\n body: {},\n config: {},\n realm: state.getRealm(),\n state,\n });\n expect(response1).toMatchSnapshot();\n const body = AuthenticateApi.fillCallbacks({\n response: response1,\n map: {\n IDToken1: state.getUsername() as string,\n IDToken2: state.getPassword() as string,\n },\n });\n const response2 = await AuthenticateApi.step({\n body,\n config: {},\n realm: state.getRealm(),\n state,\n });\n expect(response2).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
@@ -15,7 +15,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
15
15
  * script and override all the connection state variables required
16
16
  * to connect to the env to record from:
17
17
  *
18
- * FRODO_DEBUG=1 FRODO_HOST=volker-dev npm run test:record NodeApi
18
+ * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record NodeApi
19
19
  *
20
20
  * The above command assumes that you have a connection profile for
21
21
  * 'volker-dev' on your development machine.
@@ -37,7 +37,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
37
37
  * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
38
38
  * in case things don't function as expected
39
39
  */
40
- (0, _AutoSetupPolly.autoSetupPolly)();
40
+ var ctx = (0, _AutoSetupPolly.autoSetupPolly)();
41
41
  describe('NodeApi', () => {
42
42
  var node1 = {
43
43
  type: 'ValidatedUsernameNode',
@@ -268,6 +268,13 @@ describe('NodeApi', () => {
268
268
  }
269
269
  }
270
270
  }));
271
+ beforeEach( /*#__PURE__*/_asyncToGenerator(function* () {
272
+ if (process.env.FRODO_POLLY_MODE === 'record') {
273
+ ctx.polly.server.any().on('beforePersist', (_req, recording) => {
274
+ (0, _AutoSetupPolly.filterRecording)(recording);
275
+ });
276
+ }
277
+ }));
271
278
  describe('getNodeTypes()', () => {
272
279
  test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
273
280
  expect(NodeApi.getNodeTypes).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"NodeApi.test.js","names":["autoSetupPolly","describe","node1","type","node","_id","usernameAttribute","validateInput","_type","name","collection","_outcomes","id","displayName","node2","passwordAttribute","node3","identityResource","patchAsObject","ignoredFields","identityAttribute","node4","beforeAll","_asyncToGenerator","process","env","FRODO_POLLY_MODE","NodeApi","getNode","nodeId","nodeType","state","deleteNode","error","putNode","nodeData","afterAll","test","expect","getNodeTypes","toBeDefined","response","toMatchSnapshot","getNodes","getNodesByType","concat","assertions","data"],"sources":["../../src/api/NodeApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=volker-dev npm run test:record NodeApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update NodeApi\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 NodeApi\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 * as NodeApi from './NodeApi';\nimport { state } from '../index';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\ndescribe('NodeApi', () => {\n const node1 = {\n type: 'ValidatedUsernameNode',\n node: {\n _id: '67693475-3a58-4e38-bcc6-037b3fe46a58',\n usernameAttribute: 'userName',\n validateInput: false,\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node2 = {\n id: '18ffdd4b-41b7-41b3-8248-f4fdfd68423f',\n type: 'ValidatedPasswordNode',\n node: {\n validateInput: false,\n passwordAttribute: 'password',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node3 = {\n id: 'b726262c-641e-4fa5-b276-98e129b44cd9',\n type: 'PatchObjectNode',\n node: {\n identityResource: 'managed/user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'userName',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n const node4 = {\n type: 'CreateObjectNode',\n node: {\n _id: '23bab9d4-1663-450f-8a4b-680f44f54fd6',\n identityResource: 'managed/user',\n _type: {\n _id: 'CreateObjectNode',\n name: 'Create Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'CREATED',\n displayName: 'Created',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup node1 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n nodeData: node1.node,\n state,\n });\n }\n // setup node2 - delete if exists\n try {\n await NodeApi.getNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node2.id,\n nodeType: node2.type,\n nodeData: node2.node,\n state,\n });\n }\n // setup node3 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node3.id,\n nodeType: node3.type,\n nodeData: node3.node,\n state,\n });\n }\n // setup node4 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n nodeData: node4.node,\n state,\n });\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getNodeTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodeTypes).toBeDefined();\n });\n\n test('1: Get all node types', async () => {\n const response = await NodeApi.getNodeTypes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodes).toBeDefined();\n });\n\n test('1: Get all nodes', async () => {\n const response = await NodeApi.getNodes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodesByType()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodesByType).toBeDefined();\n });\n\n test('1: Get all page nodes', async () => {\n const response = await NodeApi.getNodesByType({\n nodeType: 'PageNode',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNode).toBeDefined();\n });\n\n test(`1: Get existing node [${node1.node._id} - ${node1.type}]`, async () => {\n const response = await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeApi.getNode({\n nodeId: '00000000-0000-0000-0000-000000000000',\n nodeType: 'PageNode',\n state,\n });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n\n describe('putNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.putNode).toBeDefined();\n });\n\n test(`1: Create new node [${node2.id} - ${node2.type}]`, async () => {\n const response = await NodeApi.putNode({\n nodeId: node2.id,\n nodeType: node2.type,\n nodeData: node2.node,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Update existing node [${node3.id} - ${node3.type}]`, async () => {\n const node = await NodeApi.putNode({\n nodeId: node3.id,\n nodeType: node3.type,\n nodeData: node3.node,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n });\n\n describe('deleteNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.deleteNode).toBeDefined();\n });\n\n test(`1: Delete existing node [${node4.node._id} - ${node4.type}]`, async () => {\n const node = await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n\n test('2: Delete non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeApi.deleteNode({\n nodeId: '00000000-0000-0000-0000-000000000000',\n nodeType: 'PageNode',\n state,\n });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"NodeApi.test.js","names":["ctx","autoSetupPolly","describe","node1","type","node","_id","usernameAttribute","validateInput","_type","name","collection","_outcomes","id","displayName","node2","passwordAttribute","node3","identityResource","patchAsObject","ignoredFields","identityAttribute","node4","beforeAll","_asyncToGenerator","process","env","FRODO_POLLY_MODE","NodeApi","getNode","nodeId","nodeType","state","deleteNode","error","putNode","nodeData","afterAll","beforeEach","polly","server","any","on","_req","recording","filterRecording","test","expect","getNodeTypes","toBeDefined","response","toMatchSnapshot","getNodes","getNodesByType","concat","assertions","data"],"sources":["../../src/api/NodeApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record NodeApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update NodeApi\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 NodeApi\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 * as NodeApi from './NodeApi';\nimport { state } from '../index';\nimport { autoSetupPolly, filterRecording } from '../utils/AutoSetupPolly';\n\nconst ctx = autoSetupPolly();\n\ndescribe('NodeApi', () => {\n const node1 = {\n type: 'ValidatedUsernameNode',\n node: {\n _id: '67693475-3a58-4e38-bcc6-037b3fe46a58',\n usernameAttribute: 'userName',\n validateInput: false,\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node2 = {\n id: '18ffdd4b-41b7-41b3-8248-f4fdfd68423f',\n type: 'ValidatedPasswordNode',\n node: {\n validateInput: false,\n passwordAttribute: 'password',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node3 = {\n id: 'b726262c-641e-4fa5-b276-98e129b44cd9',\n type: 'PatchObjectNode',\n node: {\n identityResource: 'managed/user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'userName',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n const node4 = {\n type: 'CreateObjectNode',\n node: {\n _id: '23bab9d4-1663-450f-8a4b-680f44f54fd6',\n identityResource: 'managed/user',\n _type: {\n _id: 'CreateObjectNode',\n name: 'Create Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'CREATED',\n displayName: 'Created',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup node1 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n nodeData: node1.node,\n state,\n });\n }\n // setup node2 - delete if exists\n try {\n await NodeApi.getNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node2.id,\n nodeType: node2.type,\n nodeData: node2.node,\n state,\n });\n }\n // setup node3 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node3.id,\n nodeType: node3.type,\n nodeData: node3.node,\n state,\n });\n }\n // setup node4 - delete if exists, then create\n try {\n await NodeApi.getNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n await NodeApi.putNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n nodeData: node4.node,\n state,\n });\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node2.id,\n nodeType: node2.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node3.id,\n nodeType: node3.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n try {\n await NodeApi.getNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n } catch (error) {\n // ignore\n }\n }\n });\n beforeEach(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n ctx.polly.server.any().on('beforePersist', (_req, recording) => {\n filterRecording(recording);\n });\n }\n });\n\n describe('getNodeTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodeTypes).toBeDefined();\n });\n\n test('1: Get all node types', async () => {\n const response = await NodeApi.getNodeTypes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodes).toBeDefined();\n });\n\n test('1: Get all nodes', async () => {\n const response = await NodeApi.getNodes({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodesByType()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNodesByType).toBeDefined();\n });\n\n test('1: Get all page nodes', async () => {\n const response = await NodeApi.getNodesByType({\n nodeType: 'PageNode',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.getNode).toBeDefined();\n });\n\n test(`1: Get existing node [${node1.node._id} - ${node1.type}]`, async () => {\n const response = await NodeApi.getNode({\n nodeId: node1.node._id,\n nodeType: node1.type,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeApi.getNode({\n nodeId: '00000000-0000-0000-0000-000000000000',\n nodeType: 'PageNode',\n state,\n });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n\n describe('putNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.putNode).toBeDefined();\n });\n\n test(`1: Create new node [${node2.id} - ${node2.type}]`, async () => {\n const response = await NodeApi.putNode({\n nodeId: node2.id,\n nodeType: node2.type,\n nodeData: node2.node,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Update existing node [${node3.id} - ${node3.type}]`, async () => {\n const node = await NodeApi.putNode({\n nodeId: node3.id,\n nodeType: node3.type,\n nodeData: node3.node,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n });\n\n describe('deleteNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeApi.deleteNode).toBeDefined();\n });\n\n test(`1: Delete existing node [${node4.node._id} - ${node4.type}]`, async () => {\n const node = await NodeApi.deleteNode({\n nodeId: node4.node._id,\n nodeType: node4.type,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n\n test('2: Delete non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeApi.deleteNode({\n nodeId: '00000000-0000-0000-0000-000000000000',\n nodeType: 'PageNode',\n state,\n });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n});\n"],"mappings":"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"}
@@ -39,7 +39,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
39
39
  * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
40
40
  * in case things don't function as expected
41
41
  */
42
- (0, _AutoSetupPolly.autoSetupPolly)();
42
+ var ctx = (0, _AutoSetupPolly.autoSetupPolly)();
43
43
  function stagePolicySet(_x) {
44
44
  return _stagePolicySet.apply(this, arguments);
45
45
  }
@@ -109,14 +109,14 @@ describe('PoliciesApi', () => {
109
109
  var set1 = {
110
110
  name: 'FrodoTestPolicySet1',
111
111
  displayName: 'Frodo Test Policy Set',
112
- description: null,
112
+ description: 'Frodo Test Policy Set',
113
113
  attributeNames: [],
114
114
  conditions: ['Script', 'AMIdentityMembership', 'IPv6', 'IPv4', 'SimpleTime', 'LEAuthLevel', 'LDAPFilter', 'AuthScheme', 'Session', 'AND', 'AuthenticateToRealm', 'ResourceEnvIP', 'Policy', 'OAuth2Scope', 'SessionProperty', 'OR', 'Transaction', 'NOT', 'AuthLevel', 'AuthenticateToService'],
115
115
  resourceTypeUuids: ['76656a38-5f8e-401b-83aa-4ccb74ce88d2'],
116
- resourceComparator: null,
116
+ resourceComparator: undefined,
117
117
  editable: true,
118
- saveIndex: null,
119
- searchIndex: null,
118
+ saveIndex: undefined,
119
+ searchIndex: undefined,
120
120
  applicationType: 'iPlanetAMWebAgentService',
121
121
  entitlementCombiner: 'DenyOverride',
122
122
  subjects: ['AuthenticatedUsers', 'NOT', 'Identity', 'OR', 'AND', 'NONE', 'Policy', 'JwtClaim']
@@ -160,6 +160,13 @@ describe('PoliciesApi', () => {
160
160
  yield stagePolicySet(set1, false);
161
161
  }
162
162
  }));
163
+ beforeEach( /*#__PURE__*/_asyncToGenerator(function* () {
164
+ if (process.env.FRODO_POLLY_MODE === 'record') {
165
+ ctx.polly.server.any().on('beforePersist', (_req, recording) => {
166
+ (0, _AutoSetupPolly.filterRecording)(recording);
167
+ });
168
+ }
169
+ }));
163
170
  describe('getPolicies()', () => {
164
171
  test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
165
172
  expect(PoliciesApi.getPolicies).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"PoliciesApi.test.js","names":["autoSetupPolly","stagePolicySet","_x","_stagePolicySet","apply","arguments","_asyncToGenerator","policySet","create","length","undefined","PolicySetApi","getPolicySet","policySetName","name","state","deletePolicySet","error","createPolicySet","policySetData","stagePolicy","_x2","_stagePolicy","policy","PoliciesApi","getPolicy","policyId","_id","deletePolicy","putPolicy","policyData","applyPolicyTemplate","template","configured","cloneDeep","describe","set1","displayName","description","attributeNames","conditions","resourceTypeUuids","resourceComparator","editable","saveIndex","searchIndex","applicationType","entitlementCombiner","subjects","policyTemplate","active","resources","applicationName","actionValues","GET","subject","type","resourceTypeUuid","policy1","policy2","policy3","policy4","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","test","expect","getPolicies","toBeDefined","response","toMatchSnapshot","getPoliciesByPolicySet","concat","policySetId","assertions","data","node"],"sources":["../../src/api/PoliciesApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record PoliciesApi\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update PoliciesApi\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 PoliciesApi\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 * as PolicySetApi from './PolicySetApi';\nimport * as PoliciesApi from './PoliciesApi';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\nimport { PolicySetSkeleton, PolicySkeleton } from './ApiTypes';\nimport { cloneDeep } from '../utils/JsonUtils';\nimport { state } from '../index';\n\nautoSetupPolly();\n\nasync function stagePolicySet(policySet: PolicySetSkeleton, create = true) {\n // delete if exists, then create\n try {\n await PolicySetApi.getPolicySet({ policySetName: policySet.name, state });\n await PolicySetApi.deletePolicySet({\n policySetName: policySet.name,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await PolicySetApi.createPolicySet({ policySetData: policySet, state });\n }\n }\n}\n\nasync function stagePolicy(policy: PolicySkeleton, create = true) {\n // delete if exists, then create\n try {\n await PoliciesApi.getPolicy({ policyId: policy._id, state });\n await PoliciesApi.deletePolicy({ policyId: policy._id, state });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await PoliciesApi.putPolicy({\n policyId: policy._id,\n policyData: policy,\n state,\n });\n }\n }\n}\n\nfunction applyPolicyTemplate(\n template: PolicySkeleton,\n policyId: string\n): PolicySkeleton {\n const configured: PolicySkeleton = cloneDeep(template);\n configured._id = policyId;\n configured.name = policyId;\n return configured;\n}\n\ndescribe('PoliciesApi', () => {\n const set1: PolicySetSkeleton = {\n name: 'FrodoTestPolicySet1',\n displayName: 'Frodo Test Policy Set',\n description: null,\n attributeNames: [],\n conditions: [\n 'Script',\n 'AMIdentityMembership',\n 'IPv6',\n 'IPv4',\n 'SimpleTime',\n 'LEAuthLevel',\n 'LDAPFilter',\n 'AuthScheme',\n 'Session',\n 'AND',\n 'AuthenticateToRealm',\n 'ResourceEnvIP',\n 'Policy',\n 'OAuth2Scope',\n 'SessionProperty',\n 'OR',\n 'Transaction',\n 'NOT',\n 'AuthLevel',\n 'AuthenticateToService',\n ],\n resourceTypeUuids: ['76656a38-5f8e-401b-83aa-4ccb74ce88d2'],\n resourceComparator: null,\n editable: true,\n saveIndex: null,\n searchIndex: null,\n applicationType: 'iPlanetAMWebAgentService',\n entitlementCombiner: 'DenyOverride',\n subjects: [\n 'AuthenticatedUsers',\n 'NOT',\n 'Identity',\n 'OR',\n 'AND',\n 'NONE',\n 'Policy',\n 'JwtClaim',\n ],\n };\n const policyTemplate: PolicySkeleton = {\n _id: 'FrodoTestPolicyTemplate',\n name: 'FrodoTestPolicyTemplate',\n active: true,\n description: 'Frodo Test Policy',\n resources: ['*://*:*/forgerock/app2/*', '*://*:*/app2/*'],\n applicationName: set1.name,\n actionValues: {\n GET: true,\n },\n subject: {\n type: 'AuthenticatedUsers',\n },\n resourceTypeUuid: '76656a38-5f8e-401b-83aa-4ccb74ce88d2',\n };\n const policy1 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy1');\n const policy2 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy2');\n const policy3 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy3');\n const policy4 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy4');\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stagePolicySet(set1);\n await stagePolicy(policy1);\n await stagePolicy(policy2);\n await stagePolicy(policy3, false);\n await stagePolicy(policy4);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stagePolicy(policy1, false);\n await stagePolicy(policy2, false);\n await stagePolicy(policy3, false);\n await stagePolicy(policy4, false);\n await stagePolicySet(set1, false);\n }\n });\n\n describe('getPolicies()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPolicies).toBeDefined();\n });\n\n test('1: Get all policies', async () => {\n const response = await PoliciesApi.getPolicies({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getPoliciesByPolicySet()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPoliciesByPolicySet).toBeDefined();\n });\n\n test(`1: Get policies in existing policy set [${set1.name}]`, async () => {\n const response = await PoliciesApi.getPoliciesByPolicySet({\n policySetId: set1.name,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get policies in non-existing policy set [DoesNotExist]', async () => {\n const response = await PoliciesApi.getPoliciesByPolicySet({\n policySetId: 'DoesNotExist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getPolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPolicy).toBeDefined();\n });\n\n test(`1: Get existing policy [${policy1._id}]`, async () => {\n const response = await PoliciesApi.getPolicy({\n policyId: policy1._id,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get non-existing policy [DoesNotExist]', async () => {\n expect.assertions(1);\n try {\n await PoliciesApi.getPolicy({ policyId: 'DoesNotExist', state });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n\n describe('putPolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.putPolicy).toBeDefined();\n });\n\n test(`1: Update existing policy [${policy2._id}]`, async () => {\n const response = await PoliciesApi.putPolicy({\n policyId: policy2._id,\n policyData: policy2,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Create non-existing policy [${policy3._id}]`, async () => {\n const response = await PoliciesApi.putPolicy({\n policyId: policy3._id,\n policyData: policy3,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deletePolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.deletePolicy).toBeDefined();\n });\n\n test(`1: Delete existing policy [${policy4.name}]`, async () => {\n const node = await PoliciesApi.deletePolicy({\n policyId: policy4.name,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n\n test('2: Delete non-existing policy [DoesNotExist]', async () => {\n expect.assertions(1);\n try {\n await PoliciesApi.deletePolicy({ policyId: 'DoesNotExist', state });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"PoliciesApi.test.js","names":["ctx","autoSetupPolly","stagePolicySet","_x","_stagePolicySet","apply","arguments","_asyncToGenerator","policySet","create","length","undefined","PolicySetApi","getPolicySet","policySetName","name","state","deletePolicySet","error","createPolicySet","policySetData","stagePolicy","_x2","_stagePolicy","policy","PoliciesApi","getPolicy","policyId","_id","deletePolicy","putPolicy","policyData","applyPolicyTemplate","template","configured","cloneDeep","describe","set1","displayName","description","attributeNames","conditions","resourceTypeUuids","resourceComparator","editable","saveIndex","searchIndex","applicationType","entitlementCombiner","subjects","policyTemplate","active","resources","applicationName","actionValues","GET","subject","type","resourceTypeUuid","policy1","policy2","policy3","policy4","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","beforeEach","polly","server","any","on","_req","recording","filterRecording","test","expect","getPolicies","toBeDefined","response","toMatchSnapshot","getPoliciesByPolicySet","concat","policySetId","assertions","data","node"],"sources":["../../src/api/PoliciesApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record PoliciesApi\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update PoliciesApi\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 PoliciesApi\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 * as PolicySetApi from './PolicySetApi';\nimport * as PoliciesApi from './PoliciesApi';\nimport { autoSetupPolly, filterRecording } from '../utils/AutoSetupPolly';\nimport { type PolicySetSkeleton } from './PolicySetApi';\nimport { type PolicySkeleton } from './PoliciesApi';\nimport { cloneDeep } from '../utils/JsonUtils';\nimport { state } from '../index';\n\nconst ctx = autoSetupPolly();\n\nasync function stagePolicySet(policySet: PolicySetSkeleton, create = true) {\n // delete if exists, then create\n try {\n await PolicySetApi.getPolicySet({ policySetName: policySet.name, state });\n await PolicySetApi.deletePolicySet({\n policySetName: policySet.name,\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await PolicySetApi.createPolicySet({ policySetData: policySet, state });\n }\n }\n}\n\nasync function stagePolicy(policy: PolicySkeleton, create = true) {\n // delete if exists, then create\n try {\n await PoliciesApi.getPolicy({ policyId: policy._id as string, state });\n await PoliciesApi.deletePolicy({ policyId: policy._id as string, state });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await PoliciesApi.putPolicy({\n policyId: policy._id as string,\n policyData: policy,\n state,\n });\n }\n }\n}\n\nfunction applyPolicyTemplate(\n template: PolicySkeleton,\n policyId: string\n): PolicySkeleton {\n const configured: PolicySkeleton = cloneDeep(template);\n configured._id = policyId;\n configured.name = policyId;\n return configured;\n}\n\ndescribe('PoliciesApi', () => {\n const set1: PolicySetSkeleton = {\n name: 'FrodoTestPolicySet1',\n displayName: 'Frodo Test Policy Set',\n description: 'Frodo Test Policy Set',\n attributeNames: [],\n conditions: [\n 'Script',\n 'AMIdentityMembership',\n 'IPv6',\n 'IPv4',\n 'SimpleTime',\n 'LEAuthLevel',\n 'LDAPFilter',\n 'AuthScheme',\n 'Session',\n 'AND',\n 'AuthenticateToRealm',\n 'ResourceEnvIP',\n 'Policy',\n 'OAuth2Scope',\n 'SessionProperty',\n 'OR',\n 'Transaction',\n 'NOT',\n 'AuthLevel',\n 'AuthenticateToService',\n ],\n resourceTypeUuids: ['76656a38-5f8e-401b-83aa-4ccb74ce88d2'],\n resourceComparator: undefined,\n editable: true,\n saveIndex: undefined,\n searchIndex: undefined,\n applicationType: 'iPlanetAMWebAgentService',\n entitlementCombiner: 'DenyOverride',\n subjects: [\n 'AuthenticatedUsers',\n 'NOT',\n 'Identity',\n 'OR',\n 'AND',\n 'NONE',\n 'Policy',\n 'JwtClaim',\n ],\n };\n const policyTemplate: PolicySkeleton = {\n _id: 'FrodoTestPolicyTemplate',\n name: 'FrodoTestPolicyTemplate',\n active: true,\n description: 'Frodo Test Policy',\n resources: ['*://*:*/forgerock/app2/*', '*://*:*/app2/*'],\n applicationName: set1.name,\n actionValues: {\n GET: true,\n },\n subject: {\n type: 'AuthenticatedUsers',\n },\n resourceTypeUuid: '76656a38-5f8e-401b-83aa-4ccb74ce88d2',\n };\n const policy1 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy1');\n const policy2 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy2');\n const policy3 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy3');\n const policy4 = applyPolicyTemplate(policyTemplate, 'FrodoTestPolicy4');\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stagePolicySet(set1);\n await stagePolicy(policy1);\n await stagePolicy(policy2);\n await stagePolicy(policy3, false);\n await stagePolicy(policy4);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stagePolicy(policy1, false);\n await stagePolicy(policy2, false);\n await stagePolicy(policy3, false);\n await stagePolicy(policy4, false);\n await stagePolicySet(set1, false);\n }\n });\n beforeEach(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n ctx.polly.server.any().on('beforePersist', (_req, recording) => {\n filterRecording(recording);\n });\n }\n });\n\n describe('getPolicies()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPolicies).toBeDefined();\n });\n\n test('1: Get all policies', async () => {\n const response = await PoliciesApi.getPolicies({ state });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getPoliciesByPolicySet()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPoliciesByPolicySet).toBeDefined();\n });\n\n test(`1: Get policies in existing policy set [${set1.name}]`, async () => {\n const response = await PoliciesApi.getPoliciesByPolicySet({\n policySetId: set1.name,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get policies in non-existing policy set [DoesNotExist]', async () => {\n const response = await PoliciesApi.getPoliciesByPolicySet({\n policySetId: 'DoesNotExist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getPolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.getPolicy).toBeDefined();\n });\n\n test(`1: Get existing policy [${policy1._id}]`, async () => {\n const response = await PoliciesApi.getPolicy({\n policyId: policy1._id as string,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get non-existing policy [DoesNotExist]', async () => {\n expect.assertions(1);\n try {\n await PoliciesApi.getPolicy({ policyId: 'DoesNotExist', state });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n\n describe('putPolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.putPolicy).toBeDefined();\n });\n\n test(`1: Update existing policy [${policy2._id}]`, async () => {\n const response = await PoliciesApi.putPolicy({\n policyId: policy2._id as string,\n policyData: policy2,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Create non-existing policy [${policy3._id}]`, async () => {\n const response = await PoliciesApi.putPolicy({\n policyId: policy3._id as string,\n policyData: policy3,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deletePolicy()', () => {\n test('0: Method is implemented', async () => {\n expect(PoliciesApi.deletePolicy).toBeDefined();\n });\n\n test(`1: Delete existing policy [${policy4.name}]`, async () => {\n const node = await PoliciesApi.deletePolicy({\n policyId: policy4.name,\n state,\n });\n expect(node).toMatchSnapshot();\n });\n\n test('2: Delete non-existing policy [DoesNotExist]', async () => {\n expect.assertions(1);\n try {\n await PoliciesApi.deletePolicy({ policyId: 'DoesNotExist', state });\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n});\n"],"mappings":"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"}
@@ -38,7 +38,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
38
38
  * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
39
39
  * in case things don't function as expected
40
40
  */
41
- (0, _AutoSetupPolly.autoSetupPolly)();
41
+ var ctx = (0, _AutoSetupPolly.autoSetupPolly)();
42
42
  function stagePolicySet(_x) {
43
43
  return _stagePolicySet.apply(this, arguments);
44
44
  }
@@ -77,14 +77,14 @@ describe('PolicySetApi', () => {
77
77
  var policySetTemplate = {
78
78
  name: 'FrodoTestPolicySetTemplate',
79
79
  displayName: 'Frodo Test Policy Set Template',
80
- description: null,
80
+ description: 'Frodo Test Policy Set Template',
81
81
  attributeNames: [],
82
82
  conditions: ['Script', 'AMIdentityMembership', 'IPv6', 'IPv4', 'SimpleTime', 'LEAuthLevel', 'LDAPFilter', 'AuthScheme', 'Session', 'AND', 'AuthenticateToRealm', 'ResourceEnvIP', 'Policy', 'OAuth2Scope', 'SessionProperty', 'OR', 'Transaction', 'NOT', 'AuthLevel', 'AuthenticateToService'],
83
83
  resourceTypeUuids: ['76656a38-5f8e-401b-83aa-4ccb74ce88d2'],
84
- resourceComparator: null,
84
+ resourceComparator: undefined,
85
85
  editable: true,
86
- saveIndex: null,
87
- searchIndex: null,
86
+ saveIndex: undefined,
87
+ searchIndex: undefined,
88
88
  applicationType: 'iPlanetAMWebAgentService',
89
89
  entitlementCombiner: 'DenyOverride',
90
90
  subjects: ['AuthenticatedUsers', 'NOT', 'Identity', 'OR', 'AND', 'NONE', 'Policy', 'JwtClaim']
@@ -117,6 +117,13 @@ describe('PolicySetApi', () => {
117
117
  yield stagePolicySet(set6, false);
118
118
  }
119
119
  }));
120
+ beforeEach( /*#__PURE__*/_asyncToGenerator(function* () {
121
+ if (process.env.FRODO_POLLY_MODE === 'record') {
122
+ ctx.polly.server.any().on('beforePersist', (_req, recording) => {
123
+ (0, _AutoSetupPolly.filterRecording)(recording);
124
+ });
125
+ }
126
+ }));
120
127
  describe('getPolicySets()', () => {
121
128
  test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
122
129
  expect(PolicySetApi.getPolicySets).toBeDefined();