@rockcarver/frodo-lib 0.17.2-0 → 0.17.3

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 (160) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/cjs/api/AgentApi.js +1 -1
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js +16 -16
  6. package/cjs/api/ApiTypes.js.map +1 -1
  7. package/cjs/api/AuthenticateApi.js +17 -12
  8. package/cjs/api/AuthenticateApi.js.map +1 -1
  9. package/cjs/api/AuthenticateApi.test.js.map +1 -1
  10. package/cjs/api/IdmConfigApi.js +28 -7
  11. package/cjs/api/IdmConfigApi.js.map +1 -1
  12. package/cjs/api/NodeApi.test.js.map +1 -1
  13. package/cjs/api/SecretsApi.test.js.map +1 -1
  14. package/cjs/api/SocialIdentityProvidersApi.js +22 -0
  15. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  16. package/cjs/api/TreeApi.test.js.map +1 -1
  17. package/cjs/api/VariablesApi.test.js.map +1 -1
  18. package/cjs/api/utils/ApiUtils.js +13 -4
  19. package/cjs/api/utils/ApiUtils.js.map +1 -1
  20. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  21. package/cjs/index.js +3 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/ops/AgentOps.test.js.map +1 -1
  24. package/cjs/ops/AuthenticateOps.js +0 -7
  25. package/cjs/ops/AuthenticateOps.js.map +1 -1
  26. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  27. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  28. package/cjs/ops/IdmOps.test.js.map +1 -1
  29. package/cjs/ops/IdpOps.js +182 -275
  30. package/cjs/ops/IdpOps.js.map +1 -1
  31. package/cjs/ops/IdpOps.test.js.map +1 -1
  32. package/cjs/ops/SecretsOps.js +3 -3
  33. package/cjs/ops/SecretsOps.js.map +1 -1
  34. package/cjs/ops/VariablesOps.js +3 -3
  35. package/cjs/ops/VariablesOps.js.map +1 -1
  36. package/cjs/shared/State.js +1 -1
  37. package/cjs/shared/State.js.map +1 -1
  38. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json} +0 -2
  39. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_chico.json → FrodoOpsTestGatewayAgent2.json} +0 -2
  40. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json} +0 -2
  41. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_mytestrun_com.json → FrodoOpsTestGatewayAgent4.json} +0 -2
  42. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json} +0 -2
  43. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{api_client.json → FrodoOpsTestGatewayAgent6.json} +0 -2
  44. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
  45. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
  46. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
  47. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
  48. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
  49. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
  50. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{javaAgent.json → FrodoOpsTestJavaAgent1.json} +0 -2
  51. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{tomcatagent.json → FrodoOpsTestJavaAgent2.json} +0 -2
  52. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json} +0 -2
  53. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json} +0 -2
  54. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
  55. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
  56. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
  57. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
  58. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
  59. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
  60. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
  61. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
  62. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json} +0 -2
  63. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json} +0 -2
  64. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{webserver.json → FrodoOpsTestWebAgent3.json} +0 -2
  65. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{apacheagent.json → FrodoOpsTestWebAgent4.json} +0 -2
  66. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
  67. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
  68. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
  69. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
  70. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
  71. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
  72. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
  73. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
  74. package/cjs/test/mocks/ForgeRockApiMockEngine.js +1 -108
  75. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  76. package/esm/api/AgentApi.mjs +1 -1
  77. package/esm/api/AgentApi.test.mjs +323 -246
  78. package/esm/api/ApiTypes.mjs +16 -16
  79. package/esm/api/AuthenticateApi.mjs +16 -12
  80. package/esm/api/AuthenticateApi.test.mjs +77 -35
  81. package/esm/api/IdmConfigApi.mjs +19 -4
  82. package/esm/api/NodeApi.test.mjs +248 -914
  83. package/esm/api/SecretsApi.test.mjs +252 -245
  84. package/esm/api/SocialIdentityProvidersApi.mjs +16 -0
  85. package/esm/api/TreeApi.test.mjs +190 -105
  86. package/esm/api/VariablesApi.test.mjs +108 -12
  87. package/esm/api/utils/ApiUtils.mjs +12 -4
  88. package/esm/api/utils/ApiUtils.test.mjs +80 -79
  89. package/esm/index.mjs +1 -0
  90. package/esm/ops/AgentOps.test.mjs +780 -1210
  91. package/esm/ops/AuthenticateOps.mjs +0 -7
  92. package/esm/ops/ConnectionProfileOps.test.mjs +94 -54
  93. package/esm/ops/EmailTemplateOps.test.mjs +140 -28
  94. package/esm/ops/IdmOps.test.mjs +159 -62
  95. package/esm/ops/IdpOps.mjs +139 -210
  96. package/esm/ops/IdpOps.test.mjs +651 -52
  97. package/esm/ops/SecretsOps.mjs +3 -3
  98. package/esm/ops/VariablesOps.mjs +3 -3
  99. package/esm/shared/State.mjs +1 -1
  100. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json +30 -0
  101. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2.json +20 -0
  102. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json +20 -0
  103. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4.json +30 -0
  104. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json +20 -0
  105. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6.json +20 -0
  106. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
  107. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
  108. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
  109. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
  110. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
  111. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
  112. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent1.json +621 -0
  113. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent2.json +628 -0
  114. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json +628 -0
  115. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json +621 -0
  116. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
  117. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
  118. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
  119. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
  120. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
  121. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
  122. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
  123. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
  124. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json +454 -0
  125. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json +453 -0
  126. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent3.json +453 -0
  127. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent4.json +454 -0
  128. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
  129. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
  130. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
  131. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
  132. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
  133. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
  134. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
  135. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
  136. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +1 -98
  137. package/package.json +1 -1
  138. package/types/api/AgentApi.d.ts.map +1 -1
  139. package/types/api/ApiTypes.d.ts +21 -21
  140. package/types/api/ApiTypes.d.ts.map +1 -1
  141. package/types/api/AuthenticateApi.d.ts +11 -2
  142. package/types/api/AuthenticateApi.d.ts.map +1 -1
  143. package/types/api/IdmConfigApi.d.ts +11 -5
  144. package/types/api/IdmConfigApi.d.ts.map +1 -1
  145. package/types/api/SocialIdentityProvidersApi.d.ts +7 -0
  146. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  147. package/types/api/utils/ApiUtils.d.ts +7 -1
  148. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  149. package/types/index.d.ts +1 -0
  150. package/types/index.d.ts.map +1 -1
  151. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  152. package/types/ops/IdpOps.d.ts +31 -24
  153. package/types/ops/IdpOps.d.ts.map +1 -1
  154. package/types/ops/SecretsOps.d.ts.map +1 -1
  155. package/types/ops/VariablesOps.d.ts.map +1 -1
  156. package/types/shared/State.d.ts.map +1 -1
  157. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +1 -11
  158. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
  159. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
  160. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
package/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.17.3] - 2022-12-30
11
+
12
+ ## [0.17.2] - 2022-12-26
13
+
10
14
  ## [0.17.2-0] - 2022-12-21
11
15
 
12
16
  ## [0.17.1] - 2022-12-18
@@ -897,7 +901,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
897
901
  - Fixed problem with adding connection profiles
898
902
  - Miscellaneous bug fixes
899
903
 
900
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2-0...HEAD
904
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.3...HEAD
905
+
906
+ [0.17.3]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2...v0.17.3
907
+
908
+ [0.17.2]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2-0...v0.17.2
901
909
 
902
910
  [0.17.2-0]: https://github.com/rockcarver/frodo-lib/compare/v0.17.1...v0.17.2-0
903
911
 
@@ -54,7 +54,7 @@ function _getAgentTypes() {
54
54
  var urlString = _util.default.format(getAgentTypesURLTemplate, state.getHost(), (0, _ApiUtils.getCurrentRealmPath)());
55
55
  var {
56
56
  data
57
- } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
57
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, {}, {
58
58
  withCredentials: true
59
59
  });
60
60
  (0, _Console.debugMessage)("AgentApi.getAgentTypes: end");
@@ -1 +1 @@
1
- {"version":3,"file":"AgentApi.js","names":["getAgentTypesURLTemplate","getAllAgentsURLTemplate","queryAgentURLTemplate","queryAgentByTypeURLTemplate","agentURLTemplate","agentListURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getAgentTypes","debugMessage","urlString","util","format","state","getHost","data","generateAmApi","get","withCredentials","getAgentsByType","agentType","getAgents","post","findAgentById","agentId","result","findAgentByTypeAndId","getAgentByTypeAndId","putAgentByTypeAndId","agentData","agent","deleteDeepByKey","_provider","_rev","put","deleteAgentByTypeAndId","delete"],"sources":["api/AgentApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { debugMessage } from '../ops/utils/Console';\n\nconst getAgentTypesURLTemplate =\n '%s/json%s/realm-config/agents?_action=getAllTypes';\nconst getAllAgentsURLTemplate =\n '%s/json%s/realm-config/agents?_action=nextdescendents';\nconst queryAgentURLTemplate =\n \"%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'\";\nconst queryAgentByTypeURLTemplate =\n \"%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'\";\nconst agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s';\nconst agentListURLTemplate =\n '%s/json%s/realm-config/agents/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents`,\n apiVersion,\n };\n};\n\n/**\n * Get agent types\n * @returns {Promise} a promise that resolves to an object containing an array of agent types\n */\nexport async function getAgentTypes() {\n debugMessage(`AgentApi.getAgentTypes: start`);\n const urlString = util.format(\n getAgentTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentTypes: end`);\n return data;\n}\n\n/**\n * Get agents\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects of the specified type\n */\nexport async function getAgentsByType(agentType: string) {\n debugMessage(`AgentApi.getAgentsByType: start`);\n const urlString = util.format(\n agentListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentsByType: end`);\n return data;\n}\n\n/**\n * Get all agents\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects\n */\nexport async function getAgents() {\n debugMessage(`AgentApi.getAgents: start`);\n const urlString = util.format(\n getAllAgentsURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgents: end`);\n return data;\n}\n\n/**\n * Find agent by id\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentById(agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Find agent by id\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Get agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type\n */\nexport async function getAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.getAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Put agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @param {Object} agentData agent object\n * @returns {Promise} a promise that resolves to an object containing an agent object\n */\nexport async function putAgentByTypeAndId(\n agentType: string,\n agentId: string,\n agentData\n) {\n debugMessage(`AgentApi.putAgentByTypeAndId: start`);\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const agent = deleteDeepByKey(agentData, '-encrypted');\n delete agent._provider;\n delete agent._rev;\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, agent, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.putAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Delete agent\n * @param agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param agentId agent id\n * @returns a promise that resolves to an object containing an agent object\n */\nexport async function deleteAgentByTypeAndId(\n agentType: string,\n agentId: string\n) {\n debugMessage(`AgentApi.deleteAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.deleteAgentByTypeAndId: end`);\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentApi.js","names":["getAgentTypesURLTemplate","getAllAgentsURLTemplate","queryAgentURLTemplate","queryAgentByTypeURLTemplate","agentURLTemplate","agentListURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getAgentTypes","debugMessage","urlString","util","format","state","getHost","data","generateAmApi","post","withCredentials","getAgentsByType","agentType","get","getAgents","findAgentById","agentId","result","findAgentByTypeAndId","getAgentByTypeAndId","putAgentByTypeAndId","agentData","agent","deleteDeepByKey","_provider","_rev","put","deleteAgentByTypeAndId","delete"],"sources":["api/AgentApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { debugMessage } from '../ops/utils/Console';\n\nconst getAgentTypesURLTemplate =\n '%s/json%s/realm-config/agents?_action=getAllTypes';\nconst getAllAgentsURLTemplate =\n '%s/json%s/realm-config/agents?_action=nextdescendents';\nconst queryAgentURLTemplate =\n \"%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'\";\nconst queryAgentByTypeURLTemplate =\n \"%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'\";\nconst agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s';\nconst agentListURLTemplate =\n '%s/json%s/realm-config/agents/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents`,\n apiVersion,\n };\n};\n\n/**\n * Get agent types\n * @returns {Promise} a promise that resolves to an object containing an array of agent types\n */\nexport async function getAgentTypes() {\n debugMessage(`AgentApi.getAgentTypes: start`);\n const urlString = util.format(\n getAgentTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgentTypes: end`);\n return data;\n}\n\n/**\n * Get agents\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects of the specified type\n */\nexport async function getAgentsByType(agentType: string) {\n debugMessage(`AgentApi.getAgentsByType: start`);\n const urlString = util.format(\n agentListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentsByType: end`);\n return data;\n}\n\n/**\n * Get all agents\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects\n */\nexport async function getAgents() {\n debugMessage(`AgentApi.getAgents: start`);\n const urlString = util.format(\n getAllAgentsURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgents: end`);\n return data;\n}\n\n/**\n * Find agent by id\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentById(agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Find agent by id\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Get agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type\n */\nexport async function getAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.getAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Put agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @param {Object} agentData agent object\n * @returns {Promise} a promise that resolves to an object containing an agent object\n */\nexport async function putAgentByTypeAndId(\n agentType: string,\n agentId: string,\n agentData\n) {\n debugMessage(`AgentApi.putAgentByTypeAndId: start`);\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const agent = deleteDeepByKey(agentData, '-encrypted');\n delete agent._provider;\n delete agent._rev;\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, agent, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.putAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Delete agent\n * @param agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param agentId agent id\n * @returns a promise that resolves to an object containing an agent object\n */\nexport async function deleteAgentByTypeAndId(\n agentType: string,\n agentId: string\n) {\n debugMessage(`AgentApi.deleteAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.deleteAgentByTypeAndId: end`);\n return data;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentApi.test.js","names":["mock","MockAdapter","axios","state","setHost","setRealm","setCookieName","setCookieValue","setDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","describe","test","expect","AgentRaw","getAgentTypes","toBeDefined","mockGetAgentTypes","agentTypes","toBeTruthy","result","length","toBe","getAgentsByType","mockGetAgentsByType","agentType","assertions","agents","agent","_type","_id","getAgents","mockGetAgents","findAgentById","mockFindAgentById","agentId","findAgentByTypeAndId","mockFindAgentByTypeAndId","getAgentByTypeAndId","mockGetAgentByTypeAndId","putAgentByTypeAndId","agentData","getAgent","mockPutAgentByTypeAndId","mockAgentType","mockAgentId","mockAgentObj","isEqualJson","deleteAgentByTypeAndId","mockDeleteAgentByTypeAndId"],"sources":["api/AgentApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { AgentRaw, state } from '../index';\nimport * as global from '../storage/StaticStorage';\nimport { isEqualJson } from '../ops/utils/OpsUtils';\nimport {\n getAgent,\n mockDeleteAgentByTypeAndId,\n mockFindAgentById,\n mockGetAgentTypes,\n mockGetAgentsByType,\n mockGetAgents,\n mockFindAgentByTypeAndId,\n mockGetAgentByTypeAndId,\n mockPutAgentByTypeAndId,\n} from '../test/mocks/ForgeRockApiMockEngine';\n\nconst mock = new MockAdapter(axios);\n\nstate.setHost('https://openam-frodo-dev.forgeblocks.com/am');\nstate.setRealm('alpha');\nstate.setCookieName('cookieName');\nstate.setCookieValue('cookieValue');\nstate.setDeploymentType(global.CLOUD_DEPLOYMENT_TYPE_KEY);\n\ndescribe('AgentApi - getAgentTypes()', () => {\n test('getAgentTypes() 0: Method is implemented', async () => {\n expect(AgentRaw.getAgentTypes).toBeDefined();\n });\n\n test('getAgentTypes() 1: Get all agent types', async () => {\n mockGetAgentTypes(mock);\n const agentTypes = await AgentRaw.getAgentTypes();\n expect(agentTypes).toBeTruthy();\n expect(agentTypes.result?.length).toBe(10);\n });\n});\n\ndescribe('AgentApi - getAgentsByType()', () => {\n test('getAgentsByType() 0: Method is implemented', async () => {\n expect(AgentRaw.getAgentsByType).toBeDefined();\n });\n\n test('getAgentsByType() 1: Get all gateway agents', async () => {\n mockGetAgentsByType(mock);\n const agentType = 'IdentityGatewayAgent';\n expect.assertions(7);\n const agents = await AgentRaw.getAgentsByType(agentType);\n expect(agents).toBeTruthy();\n expect(agents.result?.length).toBe(4);\n for (const agent of agents.result) {\n expect(agent._type._id).toBe(agentType);\n }\n });\n\n test('getAgentsByType() 2: Get all java agents', async () => {\n mockGetAgentsByType(mock);\n const agentType = 'J2EEAgent';\n expect.assertions(5);\n const agents = await AgentRaw.getAgentsByType(agentType);\n expect(agents).toBeTruthy();\n expect(agents.result?.length).toBe(2);\n for (const agent of agents.result) {\n expect(agent._type._id).toBe(agentType);\n }\n });\n\n test('getAgentsByType() 3: Get all web agents', async () => {\n mockGetAgentsByType(mock);\n const agentType = 'WebAgent';\n expect.assertions(5);\n const agents = await AgentRaw.getAgentsByType(agentType);\n expect(agents).toBeTruthy();\n expect(agents.result?.length).toBe(2);\n for (const agent of agents.result) {\n expect(agent._type._id).toBe(agentType);\n }\n });\n});\n\ndescribe('AgentApi - getAgents()', () => {\n test('getAgents() 0: Method is implemented', async () => {\n expect(AgentRaw.getAgents).toBeDefined();\n });\n\n test('getAgents() 1: Get all agents', async () => {\n mockGetAgents(mock);\n expect.assertions(3);\n const agents = await AgentRaw.getAgents();\n expect(agents).toBeTruthy();\n expect(agents.result?.length).toBe(39);\n });\n});\n\ndescribe('AgentApi - findAgentById()', () => {\n test('findAgentById() 0: Method is implemented', async () => {\n expect(AgentRaw.findAgentById).toBeDefined();\n });\n\n test('findAgentById() 1: Find agent \"ig_mytestrun_com\"', async () => {\n mockFindAgentById(mock);\n expect.assertions(3);\n const agentId = 'ig_mytestrun_com';\n const agents = await AgentRaw.findAgentById(agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n\n test('findAgentById() 2: Find agent \"tomcatagent\"', async () => {\n mockFindAgentById(mock);\n expect.assertions(3);\n const agentId = 'tomcatagent';\n const agents = await AgentRaw.findAgentById(agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n\n test('findAgentById() 3: Find agent \"apacheagent\"', async () => {\n mockFindAgentById(mock);\n expect.assertions(3);\n const agentId = 'apacheagent';\n const agents = await AgentRaw.findAgentById(agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n});\n\ndescribe('AgentApi - findAgentByTypeAndId()', () => {\n test('findAgentByTypeAndId() 0: Method is implemented', async () => {\n expect(AgentRaw.findAgentByTypeAndId).toBeDefined();\n });\n\n test('findAgentByTypeAndId() 1: Find gateway agent \"ig_mytestrun_com\"', async () => {\n mockFindAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'IdentityGatewayAgent';\n const agentId = 'ig_mytestrun_com';\n const agents = await AgentRaw.findAgentByTypeAndId(agentType, agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n\n test('findAgentByTypeAndId() 2: Find java agent \"tomcatagent\"', async () => {\n mockFindAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'J2EEAgent';\n const agentId = 'tomcatagent';\n const agents = await AgentRaw.findAgentByTypeAndId(agentType, agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n\n test('findAgentByTypeAndId() 3: Find web agent \"apacheagent\"', async () => {\n mockFindAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'WebAgent';\n const agentId = 'apacheagent';\n const agents = await AgentRaw.findAgentByTypeAndId(agentType, agentId);\n expect(agents).toBeTruthy();\n expect(agents.length).toBe(1);\n });\n});\n\ndescribe('AgentApi - getAgentByTypeAndId()', () => {\n test('getAgentByTypeAndId() 0: Method is implemented', async () => {\n expect(AgentRaw.getAgentByTypeAndId).toBeDefined();\n });\n\n test('getAgentByTypeAndId() 1: Get gateway agent \"ig_mytestrun_com\"', async () => {\n mockGetAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'IdentityGatewayAgent';\n const agentId = 'ig_mytestrun_com';\n const agent = await AgentRaw.getAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('getAgentByTypeAndId() 2: Get java agent \"tomcatagent\"', async () => {\n mockGetAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'J2EEAgent';\n const agentId = 'tomcatagent';\n const agent = await AgentRaw.getAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('getAgentByTypeAndId() 3: Get web agent \"apacheagent\"', async () => {\n mockGetAgentByTypeAndId(mock);\n expect.assertions(3);\n const agentType = 'WebAgent';\n const agentId = 'apacheagent';\n const agent = await AgentRaw.getAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n});\n\ndescribe('AgentApi - putAgentByTypeAndId()', () => {\n test('putAgentByTypeAndId() 0: Method is implemented', async () => {\n expect(AgentRaw.putAgentByTypeAndId).toBeDefined();\n });\n\n test('putAgentByTypeAndId() 1: Put gateway agent \"ig_mytestrun_com\"', async () => {\n const agentType = 'IdentityGatewayAgent';\n const agentId = 'ig_mytestrun_com';\n const agentData = getAgent(agentType, agentId);\n mockPutAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.putAgentByTypeAndId(\n agentType,\n agentId,\n agentData\n );\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('putAgentByTypeAndId() 2: Put java agent \"tomcatagent\"', async () => {\n const agentType = 'J2EEAgent';\n const agentId = 'tomcatagent';\n const agentData = getAgent(agentType, agentId);\n mockPutAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.putAgentByTypeAndId(\n agentType,\n agentId,\n agentData\n );\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('putAgentByTypeAndId() 3: Put web agent \"apacheagent\"', async () => {\n const agentType = 'WebAgent';\n const agentId = 'apacheagent';\n const agentData = getAgent(agentType, agentId);\n mockPutAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.putAgentByTypeAndId(\n agentType,\n agentId,\n agentData\n );\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n});\n\ndescribe('AgentApi - deleteAgentByTypeAndId()', () => {\n test('deleteAgentByTypeAndId() 0: Method is implemented', async () => {\n expect(AgentRaw.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test('deleteAgentByTypeAndId() 1: Delete gateway agent \"ig_mytestrun_com\"', async () => {\n const agentType = 'IdentityGatewayAgent';\n const agentId = 'ig_mytestrun_com';\n const agentData = getAgent(agentType, agentId);\n mockDeleteAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.deleteAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('deleteAgentByTypeAndId() 2: Delete java agent \"tomcatagent\"', async () => {\n const agentType = 'J2EEAgent';\n const agentId = 'tomcatagent';\n const agentData = getAgent(agentType, agentId);\n mockDeleteAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.deleteAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n\n test('deleteAgentByTypeAndId() 3: Delete web agent \"apacheagent\"', async () => {\n const agentType = 'WebAgent';\n const agentId = 'apacheagent';\n const agentData = getAgent(agentType, agentId);\n mockDeleteAgentByTypeAndId(\n mock,\n (mockAgentType, mockAgentId, mockAgentObj) => {\n expect(agentType).toBe(mockAgentType);\n expect(agentId).toBe(mockAgentId);\n expect(isEqualJson(mockAgentObj, agentData, ['_rev'])).toBeTruthy();\n }\n );\n expect.assertions(5);\n const agent = await AgentRaw.deleteAgentByTypeAndId(agentType, agentId);\n expect(agent).toBeTruthy();\n expect(agent._id).toBe(agentId);\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentApi.test.js","names":["jest","setTimeout","autoSetupPolly","describe","gateway1","id","type","gateway2","gateway3","java1","java2","java3","web1","web2","web3","beforeAll","process","env","FRODO_POLLY_MODE","AgentRaw","getAgentByTypeAndId","deleteAgentByTypeAndId","error","putAgentByTypeAndId","getAgent","afterAll","test","expect","getAgentTypes","toBeDefined","response","toMatchSnapshot","getAgentsByType","agentType","getAgents","findAgentById","findAgentByTypeAndId"],"sources":["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 { jest } from '@jest/globals';\nimport { AgentRaw } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\n// Increase timeout for this test as pipeline keeps failing with error:\n// Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.\njest.setTimeout(30000);\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 AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway1.type,\n gateway1.id,\n getAgent(gateway1.type, gateway1.id)\n );\n }\n // setup gateway2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n // setup gateway3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway3.type,\n gateway3.id,\n getAgent(gateway3.type, gateway3.id)\n );\n }\n\n // setup java1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java1.type,\n java1.id,\n getAgent(java1.type, java1.id)\n );\n }\n // setup java2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n // setup java3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java3.type,\n java3.id,\n getAgent(java3.type, java3.id)\n );\n }\n\n // setup web1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web1.type,\n web1.id,\n getAgent(web1.type, web1.id)\n );\n }\n // setup web2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n // setup web3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web3.type,\n web3.id,\n getAgent(web3.type, web3.id)\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 AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getAgentTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentTypes).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = await AgentRaw.getAgentTypes();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentsByType()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentsByType).toBeDefined();\n });\n\n test('1: Get all gateway agents', async () => {\n const agentType = 'IdentityGatewayAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all java agents', async () => {\n const agentType = 'J2EEAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all web agents', async () => {\n const agentType = 'WebAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await AgentRaw.getAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentById()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentById).toBeDefined();\n });\n\n test(`1: Find agent '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find agent '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find agent '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n java1.type,\n java1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.putAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n gateway2.type,\n gateway2.id,\n getAgent(gateway2.type, gateway2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n java2.type,\n java2.id,\n getAgent(java2.type, java2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n web2.type,\n web2.id,\n getAgent(web2.type, web2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n gateway3.type,\n gateway3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete ${java3.type} '${java3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n java3.type,\n java3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete ${web3.type} '${web3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n web3.type,\n web3.id\n );\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
@@ -7,26 +7,26 @@ exports.ScriptLanguage = exports.ScriptContext = exports.Saml2ProiderLocation =
7
7
  var ScriptLanguage;
8
8
  exports.ScriptLanguage = ScriptLanguage;
9
9
  (function (ScriptLanguage) {
10
- ScriptLanguage["GROOVY"] = "GROOVY";
11
- ScriptLanguage["JAVASCRIPT"] = "JAVASCRIPT";
10
+ ScriptLanguage[ScriptLanguage["GROOVY"] = 0] = "GROOVY";
11
+ ScriptLanguage[ScriptLanguage["JAVASCRIPT"] = 1] = "JAVASCRIPT";
12
12
  })(ScriptLanguage || (exports.ScriptLanguage = ScriptLanguage = {}));
13
13
  var ScriptContext;
14
14
  exports.ScriptContext = ScriptContext;
15
15
  (function (ScriptContext) {
16
- ScriptContext["OAUTH2_ACCESS_TOKEN_MODIFICATION"] = "OAUTH2_ACCESS_TOKEN_MODIFICATION";
17
- ScriptContext["AUTHENTICATION_CLIENT_SIDE"] = "AUTHENTICATION_CLIENT_SIDE";
18
- ScriptContext["AUTHENTICATION_TREE_DECISION_NODE"] = "AUTHENTICATION_TREE_DECISION_NODE";
19
- ScriptContext["AUTHENTICATION_SERVER_SIDE"] = "AUTHENTICATION_SERVER_SIDE";
20
- ScriptContext["SOCIAL_IDP_PROFILE_TRANSFORMATION"] = "SOCIAL_IDP_PROFILE_TRANSFORMATION";
21
- ScriptContext["OAUTH2_VALIDATE_SCOPE"] = "OAUTH2_VALIDATE_SCOPE";
22
- ScriptContext["CONFIG_PROVIDER_NODE"] = "CONFIG_PROVIDER_NODE";
23
- ScriptContext["OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER"] = "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER";
24
- ScriptContext["OAUTH2_EVALUATE_SCOPE"] = "OAUTH2_EVALUATE_SCOPE";
25
- ScriptContext["POLICY_CONDITION"] = "POLICY_CONDITION";
26
- ScriptContext["OIDC_CLAIMS"] = "OIDC_CLAIMS";
27
- ScriptContext["SAML2_IDP_ADAPTER"] = "SAML2_IDP_ADAPTER";
28
- ScriptContext["SAML2_IDP_ATTRIBUTE_MAPPER"] = "SAML2_IDP_ATTRIBUTE_MAPPER";
29
- ScriptContext["OAUTH2_MAY_ACT"] = "OAUTH2_MAY_ACT";
16
+ ScriptContext[ScriptContext["OAUTH2_ACCESS_TOKEN_MODIFICATION"] = 0] = "OAUTH2_ACCESS_TOKEN_MODIFICATION";
17
+ ScriptContext[ScriptContext["AUTHENTICATION_CLIENT_SIDE"] = 1] = "AUTHENTICATION_CLIENT_SIDE";
18
+ ScriptContext[ScriptContext["AUTHENTICATION_TREE_DECISION_NODE"] = 2] = "AUTHENTICATION_TREE_DECISION_NODE";
19
+ ScriptContext[ScriptContext["AUTHENTICATION_SERVER_SIDE"] = 3] = "AUTHENTICATION_SERVER_SIDE";
20
+ ScriptContext[ScriptContext["SOCIAL_IDP_PROFILE_TRANSFORMATION"] = 4] = "SOCIAL_IDP_PROFILE_TRANSFORMATION";
21
+ ScriptContext[ScriptContext["OAUTH2_VALIDATE_SCOPE"] = 5] = "OAUTH2_VALIDATE_SCOPE";
22
+ ScriptContext[ScriptContext["CONFIG_PROVIDER_NODE"] = 6] = "CONFIG_PROVIDER_NODE";
23
+ ScriptContext[ScriptContext["OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER"] = 7] = "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER";
24
+ ScriptContext[ScriptContext["OAUTH2_EVALUATE_SCOPE"] = 8] = "OAUTH2_EVALUATE_SCOPE";
25
+ ScriptContext[ScriptContext["POLICY_CONDITION"] = 9] = "POLICY_CONDITION";
26
+ ScriptContext[ScriptContext["OIDC_CLAIMS"] = 10] = "OIDC_CLAIMS";
27
+ ScriptContext[ScriptContext["SAML2_IDP_ADAPTER"] = 11] = "SAML2_IDP_ADAPTER";
28
+ ScriptContext[ScriptContext["SAML2_IDP_ATTRIBUTE_MAPPER"] = 12] = "SAML2_IDP_ATTRIBUTE_MAPPER";
29
+ ScriptContext[ScriptContext["OAUTH2_MAY_ACT"] = 13] = "OAUTH2_MAY_ACT";
30
30
  })(ScriptContext || (exports.ScriptContext = ScriptContext = {}));
31
31
  var Saml2ProiderLocation;
32
32
  exports.Saml2ProiderLocation = Saml2ProiderLocation;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IA6EYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
1
+ {"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]:\n | string\n | number\n | boolean\n | string[]\n | ObjectSkeletonInterface\n | object\n | null;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY,\n JAVASCRIPT,\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION,\n AUTHENTICATION_CLIENT_SIDE,\n AUTHENTICATION_TREE_DECISION_NODE,\n AUTHENTICATION_SERVER_SIDE,\n SOCIAL_IDP_PROFILE_TRANSFORMATION,\n OAUTH2_VALIDATE_SCOPE,\n CONFIG_PROVIDER_NODE,\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER,\n OAUTH2_EVALUATE_SCOPE,\n POLICY_CONDITION,\n OIDC_CLAIMS,\n SAML2_IDP_ADAPTER,\n SAML2_IDP_ATTRIBUTE_MAPPER,\n OAUTH2_MAY_ACT,\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n default: boolean;\n script: string | string[];\n language: keyof typeof ScriptLanguage;\n context: keyof typeof ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IAoFYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRealmUrl = getRealmUrl;
6
+ exports.fillCallbacks = fillCallbacks;
7
7
  exports.step = step;
8
8
  var _util = _interopRequireDefault(require("util"));
9
9
  var _BaseApi = require("./BaseApi");
10
10
  var state = _interopRequireWildcard(require("../shared/State"));
11
+ var _ApiUtils = require("./utils/ApiUtils");
11
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -19,17 +20,20 @@ var apiVersion = 'resource=2.0, protocol=1.0';
19
20
  var getApiConfig = () => ({
20
21
  apiVersion
21
22
  });
22
- var realmPathTemplate = '/realms/%s';
23
- function getRealmUrl(realm) {
24
- var localRealm = realm;
25
- if (localRealm.startsWith('/') && localRealm.length > 1) {
26
- localRealm = localRealm.substring(1);
27
- }
28
- var realmPath = _util.default.format(realmPathTemplate, 'root');
29
- if (localRealm !== '/') {
30
- realmPath += _util.default.format(realmPathTemplate, localRealm);
23
+
24
+ /**
25
+ * Fill callbacks from a map
26
+ * Just a start
27
+ * @param {object} response json response from a call to /authenticate
28
+ * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map
29
+ * @returns filled response body so it can be used as input to another call to /authenticate
30
+ */
31
+ function fillCallbacks(response, map) {
32
+ var body = JSON.parse(JSON.stringify(response));
33
+ for (var callback of body.callbacks) {
34
+ callback.input[0].value = map[callback.input[0].name];
31
35
  }
32
- return realmPath;
36
+ return body;
33
37
  }
34
38
  function step() {
35
39
  return _step.apply(this, arguments);
@@ -38,7 +42,8 @@ function _step() {
38
42
  _step = _asyncToGenerator(function* () {
39
43
  var body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
40
44
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
41
- var urlString = state.getAuthenticationService() ? _util.default.format(authenticateWithServiceUrlTemplate, state.getHost(), getRealmUrl('/'), state.getAuthenticationService()) : _util.default.format(authenticateUrlTemplate, state.getHost(), getRealmUrl('/'));
45
+ var realm = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '/';
46
+ var urlString = state.getAuthenticationService() ? _util.default.format(authenticateWithServiceUrlTemplate, state.getHost(), (0, _ApiUtils.getRealmPath)(realm), state.getAuthenticationService()) : _util.default.format(authenticateUrlTemplate, state.getHost(), (0, _ApiUtils.getRealmPath)(realm));
42
47
  var {
43
48
  data
44
49
  } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, body, config);
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticateApi.js","names":["authenticateUrlTemplate","authenticateWithServiceUrlTemplate","apiVersion","getApiConfig","realmPathTemplate","getRealmUrl","realm","localRealm","startsWith","length","substring","realmPath","util","format","step","body","config","urlString","state","getAuthenticationService","getHost","data","generateAmApi","post"],"sources":["api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\nconst realmPathTemplate = '/realms/%s';\n\nexport function getRealmUrl(realm) {\n let localRealm = realm;\n if (localRealm.startsWith('/') && localRealm.length > 1) {\n localRealm = localRealm.substring(1);\n }\n let realmPath = util.format(realmPathTemplate, 'root');\n if (localRealm !== '/') {\n realmPath += util.format(realmPathTemplate, localRealm);\n }\n return realmPath;\n}\n\nexport async function step(body = {}, config = {}) {\n const urlString = state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmUrl('/'),\n state.getAuthenticationService()\n )\n : util.format(authenticateUrlTemplate, state.getHost(), getRealmUrl('/'));\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAAyC;AAAA;AAAA;AAAA;AAAA;AAEzC,IAAMA,uBAAuB,GAAG,wBAAwB;AACxD,IAAMC,kCAAkC,aAAMD,uBAAuB,6CAA0C;AAE/G,IAAME,UAAU,GAAG,4BAA4B;AAC/C,IAAMC,YAAY,GAAG,OAAO;EAC1BD;AACF,CAAC,CAAC;AAEF,IAAME,iBAAiB,GAAG,YAAY;AAE/B,SAASC,WAAW,CAACC,KAAK,EAAE;EACjC,IAAIC,UAAU,GAAGD,KAAK;EACtB,IAAIC,UAAU,CAACC,UAAU,CAAC,GAAG,CAAC,IAAID,UAAU,CAACE,MAAM,GAAG,CAAC,EAAE;IACvDF,UAAU,GAAGA,UAAU,CAACG,SAAS,CAAC,CAAC,CAAC;EACtC;EACA,IAAIC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAACT,iBAAiB,EAAE,MAAM,CAAC;EACtD,IAAIG,UAAU,KAAK,GAAG,EAAE;IACtBI,SAAS,IAAIC,aAAI,CAACC,MAAM,CAACT,iBAAiB,EAAEG,UAAU,CAAC;EACzD;EACA,OAAOI,SAAS;AAClB;AAAC,SAEqBG,IAAI;EAAA;AAAA;AAAA;EAAA,0BAAnB,aAA4C;IAAA,IAAxBC,IAAI,uEAAG,CAAC,CAAC;IAAA,IAAEC,MAAM,uEAAG,CAAC,CAAC;IAC/C,IAAMC,SAAS,GAAGC,KAAK,CAACC,wBAAwB,EAAE,GAC9CP,aAAI,CAACC,MAAM,CACTZ,kCAAkC,EAClCiB,KAAK,CAACE,OAAO,EAAE,EACff,WAAW,CAAC,GAAG,CAAC,EAChBa,KAAK,CAACC,wBAAwB,EAAE,CACjC,GACDP,aAAI,CAACC,MAAM,CAACb,uBAAuB,EAAEkB,KAAK,CAACE,OAAO,EAAE,EAAEf,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAM;MAAEgB;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACnB,YAAY,EAAE,CAAC,CAACoB,IAAI,CACvDN,SAAS,EACTF,IAAI,EACJC,MAAM,CACP;IACD,OAAOK,IAAI;EACb,CAAC;EAAA;AAAA"}
1
+ {"version":3,"file":"AuthenticateApi.js","names":["authenticateUrlTemplate","authenticateWithServiceUrlTemplate","apiVersion","getApiConfig","fillCallbacks","response","map","body","JSON","parse","stringify","callback","callbacks","input","value","name","step","config","realm","urlString","state","getAuthenticationService","util","format","getHost","getRealmPath","data","generateAmApi","post"],"sources":["api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\nimport { getRealmPath } from './utils/ApiUtils';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Fill callbacks from a map\n * Just a start\n * @param {object} response json response from a call to /authenticate\n * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map\n * @returns filled response body so it can be used as input to another call to /authenticate\n */\nexport function fillCallbacks(\n response: object,\n map: { [k: string]: string | number | boolean | string[] }\n): object {\n const body = JSON.parse(JSON.stringify(response));\n for (const callback of body.callbacks) {\n callback.input[0].value = map[callback.input[0].name];\n }\n return body;\n}\n\nexport async function step(body = {}, config = {}, realm = '/') {\n const urlString = state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmPath(realm),\n state.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n state.getHost(),\n getRealmPath(realm)\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAAA;AAAA;AAEhD,IAAMA,uBAAuB,GAAG,wBAAwB;AACxD,IAAMC,kCAAkC,aAAMD,uBAAuB,6CAA0C;AAE/G,IAAME,UAAU,GAAG,4BAA4B;AAC/C,IAAMC,YAAY,GAAG,OAAO;EAC1BD;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,aAAa,CAC3BC,QAAgB,EAChBC,GAA0D,EAClD;EACR,IAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACL,QAAQ,CAAC,CAAC;EACjD,KAAK,IAAMM,QAAQ,IAAIJ,IAAI,CAACK,SAAS,EAAE;IACrCD,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,GAAGR,GAAG,CAACK,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;EACvD;EACA,OAAOR,IAAI;AACb;AAAC,SAEqBS,IAAI;EAAA;AAAA;AAAA;EAAA,0BAAnB,aAAyD;IAAA,IAArCT,IAAI,uEAAG,CAAC,CAAC;IAAA,IAAEU,MAAM,uEAAG,CAAC,CAAC;IAAA,IAAEC,KAAK,uEAAG,GAAG;IAC5D,IAAMC,SAAS,GAAGC,KAAK,CAACC,wBAAwB,EAAE,GAC9CC,aAAI,CAACC,MAAM,CACTtB,kCAAkC,EAClCmB,KAAK,CAACI,OAAO,EAAE,EACf,IAAAC,sBAAY,EAACP,KAAK,CAAC,EACnBE,KAAK,CAACC,wBAAwB,EAAE,CACjC,GACDC,aAAI,CAACC,MAAM,CACTvB,uBAAuB,EACvBoB,KAAK,CAACI,OAAO,EAAE,EACf,IAAAC,sBAAY,EAACP,KAAK,CAAC,CACpB;IACL,IAAM;MAAEQ;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACxB,YAAY,EAAE,CAAC,CAACyB,IAAI,CACvDT,SAAS,EACTZ,IAAI,EACJU,MAAM,CACP;IACD,OAAOS,IAAI;EACb,CAAC;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticateApi.test.js","names":["mock","MockAdapter","axios","state","setHost","setUsername","setPassword","setRealm","setCookieName","setCookieValue","setDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","describe","only","test","expect","AuthenticateRaw","step","toBeDefined","mockStep","config","headers","getUsername","getPassword","response","authId","toBeTruthy","callbacks","body","getTreeStepResponse","undefined","toBeFalsy","tokenId"],"sources":["api/AuthenticateApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { AuthenticateRaw, state } from '../index';\nimport * as global from '../storage/StaticStorage';\nimport {\n getTreeStepResponse,\n mockStep,\n} from '../test/mocks/ForgeRockApiMockEngine';\n\nconst mock = new MockAdapter(axios);\n\nstate.setHost('https://openam-frodo-dev.forgeblocks.com/am');\nstate.setUsername('volker.scheuber@forgerock.com');\nstate.setPassword('Sup3rS3cr3t!');\nstate.setRealm('alpha');\nstate.setCookieName('cookieName');\nstate.setCookieValue('cookieValue');\nstate.setDeploymentType(global.CLOUD_DEPLOYMENT_TYPE_KEY);\n\ndescribe.only('AuthenticateApi - step()', () => {\n test('step() 0: Method is implemented', async () => {\n expect(AuthenticateRaw.step).toBeDefined();\n });\n\n test('step() 1: Initial step - get callbacks', async () => {\n mockStep(mock);\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n const response = await AuthenticateRaw.step({}, config);\n expect(response.authId).toBeTruthy();\n expect(response.callbacks).toBeTruthy();\n });\n\n test('step() 2: Final step - get session', async () => {\n const body = getTreeStepResponse(undefined, undefined);\n mockStep(mock);\n const response = await AuthenticateRaw.step(body);\n expect(response.authId).toBeFalsy();\n expect(response.callbacks).toBeFalsy();\n expect(response.tokenId).toBeTruthy();\n });\n});\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AAG8C;AAAA;AAAA;AAAA;AAAA;AAE9C,IAAMA,IAAI,GAAG,IAAIC,yBAAW,CAACC,cAAK,CAAC;AAEnCC,YAAK,CAACC,OAAO,CAAC,6CAA6C,CAAC;AAC5DD,YAAK,CAACE,WAAW,CAAC,+BAA+B,CAAC;AAClDF,YAAK,CAACG,WAAW,CAAC,cAAc,CAAC;AACjCH,YAAK,CAACI,QAAQ,CAAC,OAAO,CAAC;AACvBJ,YAAK,CAACK,aAAa,CAAC,YAAY,CAAC;AACjCL,YAAK,CAACM,cAAc,CAAC,aAAa,CAAC;AACnCN,YAAK,CAACO,iBAAiB,CAACC,MAAM,CAACC,yBAAyB,CAAC;AAEzDC,QAAQ,CAACC,IAAI,CAAC,0BAA0B,EAAE,MAAM;EAC9CC,IAAI,CAAC,iCAAiC,iCAAE,aAAY;IAClDC,MAAM,CAACC,sBAAe,CAACC,IAAI,CAAC,CAACC,WAAW,EAAE;EAC5C,CAAC,EAAC;EAEFJ,IAAI,CAAC,wCAAwC,iCAAE,aAAY;IACzD,IAAAK,gCAAQ,EAACpB,IAAI,CAAC;IACd,IAAMqB,MAAM,GAAG;MACbC,OAAO,EAAE;QACP,mBAAmB,EAAEnB,YAAK,CAACoB,WAAW,EAAE;QACxC,mBAAmB,EAAEpB,YAAK,CAACqB,WAAW;MACxC;IACF,CAAC;IACD,IAAMC,QAAQ,SAASR,sBAAe,CAACC,IAAI,CAAC,CAAC,CAAC,EAAEG,MAAM,CAAC;IACvDL,MAAM,CAACS,QAAQ,CAACC,MAAM,CAAC,CAACC,UAAU,EAAE;IACpCX,MAAM,CAACS,QAAQ,CAACG,SAAS,CAAC,CAACD,UAAU,EAAE;EACzC,CAAC,EAAC;EAEFZ,IAAI,CAAC,oCAAoC,iCAAE,aAAY;IACrD,IAAMc,IAAI,GAAG,IAAAC,2CAAmB,EAACC,SAAS,EAAEA,SAAS,CAAC;IACtD,IAAAX,gCAAQ,EAACpB,IAAI,CAAC;IACd,IAAMyB,QAAQ,SAASR,sBAAe,CAACC,IAAI,CAACW,IAAI,CAAC;IACjDb,MAAM,CAACS,QAAQ,CAACC,MAAM,CAAC,CAACM,SAAS,EAAE;IACnChB,MAAM,CAACS,QAAQ,CAACG,SAAS,CAAC,CAACI,SAAS,EAAE;IACtChB,MAAM,CAACS,QAAQ,CAACQ,OAAO,CAAC,CAACN,UAAU,EAAE;EACvC,CAAC,EAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"AuthenticateApi.test.js","names":["matchConfig","defaultMatchRequestsBy","body","order","autoSetupPolly","describe","test","expect","AuthenticateRaw","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","getRealm","toMatchSnapshot","fillCallbacks","IDToken1","IDToken2","response2"],"sources":["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 { AuthenticateRaw, 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(AuthenticateRaw.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 AuthenticateRaw.step(\n {},\n config,\n state.getRealm()\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 AuthenticateRaw.step({}, {}, state.getRealm());\n expect(response1).toMatchSnapshot();\n const body = AuthenticateRaw.fillCallbacks(response1, {\n IDToken1: state.getUsername() as string,\n IDToken2: state.getPassword() as string,\n });\n const response2 = await AuthenticateRaw.step(body, {}, state.getRealm());\n expect(response2).toMatchSnapshot();\n });\n });\n});\n"],"mappings":";;AAkCA;AACA;AAGiC;AAAA;AAEjC;AACA,IAAMA,WAAW,GAAG,IAAAC,sCAAsB,GAAE;AAC5CD,WAAW,CAACE,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1BF,WAAW,CAACG,KAAK,GAAG,IAAI,CAAC,CAAC;;AAE1B,IAAAC,8BAAc,EAACJ,WAAW,CAAC;AAE3BK,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChCA,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACvBC,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACC,sBAAe,CAACC,IAAI,CAAC,CAACC,WAAW,EAAE;IAC5C,CAAC,EAAC;IAEFJ,IAAI,CAAC,8CAA8C,iCAAE,aAAY;MAC/DK,YAAK,CAACC,OAAO,CACXC,OAAO,CAACC,GAAG,CAACC,UAAU,IAAI,6CAA6C,CACxE;MACDJ,YAAK,CAACK,QAAQ,CAACH,OAAO,CAACC,GAAG,CAACG,WAAW,IAAI,OAAO,CAAC;MAClDN,YAAK,CAACO,WAAW,CAACL,OAAO,CAACC,GAAG,CAACK,cAAc,IAAI,UAAU,CAAC;MAC3DR,YAAK,CAACS,WAAW,CAACP,OAAO,CAACC,GAAG,CAACO,cAAc,IAAI,cAAc,CAAC;MAC/DV,YAAK,CAACW,wBAAwB,CAC5BT,OAAO,CAACC,GAAG,CAACS,4BAA4B,IAAI,eAAe,CAC5D;MACD,IAAMC,MAAM,GAAG;QACbC,OAAO,EAAE;UACP,mBAAmB,EAAEd,YAAK,CAACe,WAAW,EAAE;UACxC,mBAAmB,EAAEf,YAAK,CAACgB,WAAW;QACxC;MACF,CAAC;MACD,IAAMC,SAAS,SAASpB,sBAAe,CAACC,IAAI,CAC1C,CAAC,CAAC,EACFe,MAAM,EACNb,YAAK,CAACkB,QAAQ,EAAE,CACjB;MACDtB,MAAM,CAACqB,SAAS,CAAC,CAACE,eAAe,EAAE;IACrC,CAAC,EAAC;IAEFxB,IAAI,CAAC,2CAA2C,iCAAE,aAAY;MAC5DK,YAAK,CAACC,OAAO,CACXC,OAAO,CAACC,GAAG,CAACC,UAAU,IAAI,6CAA6C,CACxE;MACDJ,YAAK,CAACK,QAAQ,CAACH,OAAO,CAACC,GAAG,CAACG,WAAW,IAAI,OAAO,CAAC;MAClDN,YAAK,CAACO,WAAW,CAACL,OAAO,CAACC,GAAG,CAACK,cAAc,IAAI,UAAU,CAAC;MAC3DR,YAAK,CAACS,WAAW,CAACP,OAAO,CAACC,GAAG,CAACO,cAAc,IAAI,cAAc,CAAC;MAC/DV,YAAK,CAACW,wBAAwB,CAC5BT,OAAO,CAACC,GAAG,CAACS,4BAA4B,IAAI,eAAe,CAC5D;MACD,IAAMK,SAAS,SAASpB,sBAAe,CAACC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEE,YAAK,CAACkB,QAAQ,EAAE,CAAC;MACtEtB,MAAM,CAACqB,SAAS,CAAC,CAACE,eAAe,EAAE;MACnC,IAAM5B,IAAI,GAAGM,sBAAe,CAACuB,aAAa,CAACH,SAAS,EAAE;QACpDI,QAAQ,EAAErB,YAAK,CAACe,WAAW,EAAY;QACvCO,QAAQ,EAAEtB,YAAK,CAACgB,WAAW;MAC7B,CAAC,CAAC;MACF,IAAMO,SAAS,SAAS1B,sBAAe,CAACC,IAAI,CAACP,IAAI,EAAE,CAAC,CAAC,EAAES,YAAK,CAACkB,QAAQ,EAAE,CAAC;MACxEtB,MAAM,CAAC2B,SAAS,CAAC,CAACJ,eAAe,EAAE;IACrC,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.deleteConfigEntity = deleteConfigEntity;
6
7
  exports.getAllConfigEntities = getAllConfigEntities;
7
8
  exports.getConfigEntitiesByType = getConfigEntitiesByType;
8
9
  exports.getConfigEntity = getConfigEntity;
@@ -31,7 +32,7 @@ function getAllConfigEntities() {
31
32
  }
32
33
  /**
33
34
  * Get IDM config entities by type
34
- * @param {String} type the desired type of config entity
35
+ * @param {string} type the desired type of config entity
35
36
  * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type
36
37
  */
37
38
  function _getAllConfigEntities() {
@@ -85,11 +86,9 @@ function putConfigEntity(_x3, _x4) {
85
86
  return _putConfigEntity.apply(this, arguments);
86
87
  }
87
88
  /**
88
- * Query managed objects
89
- * @param {String} type managed object type
90
- * @param {[String]} fields fields to retrieve
91
- * @param {String} pageCookie paged results cookie
92
- * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
89
+ * Delete IDM config entity
90
+ * @param {string} entityId config entity id
91
+ * @returns {Promise<unknown>} a promise that resolves to an IDM config entity
93
92
  */
94
93
  function _putConfigEntity() {
95
94
  _putConfigEntity = _asyncToGenerator(function* (entityId, entityData) {
@@ -105,7 +104,29 @@ function _putConfigEntity() {
105
104
  });
106
105
  return _putConfigEntity.apply(this, arguments);
107
106
  }
108
- function queryAllManagedObjectsByType(_x5, _x6, _x7) {
107
+ function deleteConfigEntity(_x5) {
108
+ return _deleteConfigEntity.apply(this, arguments);
109
+ }
110
+ /**
111
+ * Query managed objects
112
+ * @param {string} type managed object type
113
+ * @param {string[]} fields fields to retrieve
114
+ * @param {string} pageCookie paged results cookie
115
+ * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
116
+ */
117
+ function _deleteConfigEntity() {
118
+ _deleteConfigEntity = _asyncToGenerator(function* (entityId) {
119
+ var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(state.getHost()), entityId);
120
+ var {
121
+ data
122
+ } = yield (0, _BaseApi.generateIdmApi)().delete(urlString, {
123
+ withCredentials: true
124
+ });
125
+ return data;
126
+ });
127
+ return _deleteConfigEntity.apply(this, arguments);
128
+ }
129
+ function queryAllManagedObjectsByType(_x6, _x7, _x8) {
109
130
  return _queryAllManagedObjectsByType.apply(this, arguments);
110
131
  }
111
132
  function _queryAllManagedObjectsByType() {
@@ -1 +1 @@
1
- {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","state","getHost","data","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {String} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {[String]} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type,\n fields,\n pageCookie\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","state","getHost","data","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","deleteConfigEntity","delete","withCredentials","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity(entityId: string) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type: string,\n fields: string[],\n pageCookie: string\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"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"}