@rockcarver/frodo-lib 0.17.1 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/cjs/api/AgentApi.js +1 -1
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +17 -12
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +13 -4
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +6 -0
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/SecretsOps.js +3 -3
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/VariablesOps.js +3 -3
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/shared/State.js +42 -2
- package/cjs/shared/State.js.map +1 -1
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_chico.json → FrodoOpsTestGatewayAgent2.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_mytestrun_com.json → FrodoOpsTestGatewayAgent4.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{api_client.json → FrodoOpsTestGatewayAgent6.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{javaAgent.json → FrodoOpsTestJavaAgent1.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{tomcatagent.json → FrodoOpsTestJavaAgent2.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{webserver.json → FrodoOpsTestWebAgent3.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{apacheagent.json → FrodoOpsTestWebAgent4.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
- package/cjs/test/mocks/TreeApi/putTree/FrodoTest.json +0 -2
- package/cjs/utils/AutoSetupPolly.js +43 -30
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +1 -1
- package/esm/api/AgentApi.test.mjs +323 -246
- package/esm/api/AuthenticateApi.mjs +16 -12
- package/esm/api/AuthenticateApi.test.mjs +77 -35
- package/esm/api/NodeApi.test.mjs +248 -914
- package/esm/api/SecretsApi.test.mjs +252 -245
- package/esm/api/TreeApi.test.mjs +323 -135
- package/esm/api/VariablesApi.test.mjs +153 -41
- package/esm/api/utils/ApiUtils.mjs +12 -4
- package/esm/api/utils/ApiUtils.test.mjs +80 -79
- package/esm/ops/AgentOps.test.mjs +780 -1210
- package/esm/ops/AuthenticateOps.mjs +6 -0
- package/esm/ops/AuthenticateOps.test.mjs +63 -12
- package/esm/ops/SecretsOps.mjs +3 -3
- package/esm/ops/ServiceAccountOps.test.mjs +5 -0
- package/esm/ops/VariablesOps.mjs +3 -3
- package/esm/shared/State.mjs +42 -2
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent1.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent2.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent3.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent4.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
- package/esm/test/mocks/TreeApi/putTree/FrodoTest.json +0 -2
- package/esm/utils/AutoSetupPolly.mjs +41 -30
- package/package.json +4 -4
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +11 -2
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +7 -1
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/SecretsOps.d.ts.map +1 -1
- package/types/ops/VariablesOps.d.ts.map +1 -1
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +2 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
- package/cjs/utils/SetupJest.js +0 -6
- package/cjs/utils/SetupJest.js.map +0 -1
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
- package/esm/utils/SetupJest.mjs +0 -3
- package/types/utils/SetupJest.d.ts +0 -1
- package/types/utils/SetupJest.d.ts.map +0 -1
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.2] - 2022-12-26
|
|
11
|
+
|
|
12
|
+
## [0.17.2-0] - 2022-12-21
|
|
13
|
+
|
|
10
14
|
## [0.17.1] - 2022-12-18
|
|
11
15
|
|
|
12
16
|
### Added
|
|
@@ -895,7 +899,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
895
899
|
- Fixed problem with adding connection profiles
|
|
896
900
|
- Miscellaneous bug fixes
|
|
897
901
|
|
|
898
|
-
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.
|
|
902
|
+
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2...HEAD
|
|
903
|
+
|
|
904
|
+
[0.17.2]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2-0...v0.17.2
|
|
905
|
+
|
|
906
|
+
[0.17.2-0]: https://github.com/rockcarver/frodo-lib/compare/v0.17.1...v0.17.2-0
|
|
899
907
|
|
|
900
908
|
[0.17.1]: https://github.com/rockcarver/frodo-lib/compare/v0.17.0...v0.17.1
|
|
901
909
|
|
package/cjs/api/AgentApi.js
CHANGED
|
@@ -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()).
|
|
57
|
+
} = yield (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, {}, {
|
|
58
58
|
withCredentials: true
|
|
59
59
|
});
|
|
60
60
|
(0, _Console.debugMessage)("AgentApi.getAgentTypes: end");
|
package/cjs/api/AgentApi.js.map
CHANGED
|
@@ -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":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAoD;AAAA;AAAA;AAAA;AAAA;AAEpD,IAAMA,wBAAwB,GAC5B,mDAAmD;AACrD,IAAMC,uBAAuB,GAC3B,uDAAuD;AACzD,IAAMC,qBAAqB,GACzB,wDAAwD;AAC1D,IAAMC,2BAA2B,GAC/B,2DAA2D;AAC7D,IAAMC,gBAAgB,GAAG,qCAAqC;AAC9D,IAAMC,oBAAoB,GACxB,oDAAoD;AACtD,IAAMC,UAAU,GAAG,2BAA2B;AAC9C,IAAMC,YAAY,GAAG,MAAM;EACzB,IAAMC,UAAU,GAAG,IAAAC,6BAAmB,GAAE;EACxC,OAAO;IACLC,IAAI,YAAKF,UAAU,yBAAsB;IACzCF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AAHA,SAIsBK,aAAa;EAAA;AAAA;AAkBnC;AACA;AACA;AACA;AACA;AAJA;EAAA,mCAlBO,aAA+B;IACpC,IAAAC,qBAAY,kCAAiC;IAC7C,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3Bf,wBAAwB,EACxBgB,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,CACtB;IACD,IAAM;MAAES;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACa,IAAI,CACvDP,SAAS,EACT,CAAC,CAAC,EACF;MACEQ,eAAe,EAAE;IACnB,CAAC,CACF;IACD,IAAAT,qBAAY,gCAA+B;IAC3C,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SAOqBI,eAAe;EAAA;AAAA;AAerC;AACA;AACA;AACA;AAHA;EAAA,qCAfO,WAA+BC,SAAiB,EAAE;IACvD,IAAAX,qBAAY,oCAAmC;IAC/C,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BV,oBAAoB,EACpBW,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBc,SAAS,CACV;IACD,IAAM;MAAEL;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACiB,GAAG,CAACX,SAAS,EAAE;MAClEQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,kCAAiC;IAC7C,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SAMqBO,SAAS;EAAA;AAAA;AAkB/B;AACA;AACA;AACA;AACA;AAJA;EAAA,+BAlBO,aAA2B;IAChC,IAAAb,qBAAY,8BAA6B;IACzC,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3Bd,uBAAuB,EACvBe,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,CACtB;IACD,IAAM;MAAES;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACa,IAAI,CACvDP,SAAS,EACT,CAAC,CAAC,EACF;MACEQ,eAAe,EAAE;IACnB,CAAC,CACF;IACD,IAAAT,qBAAY,4BAA2B;IACvC,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SAOqBQ,aAAa;EAAA;AAAA;AAenC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,mCAfO,WAA6BC,OAAe,EAAE;IACnD,IAAAf,qBAAY,kCAAiC;IAC7C,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3Bb,qBAAqB,EACrBc,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBkB,OAAO,CACR;IACD,IAAM;MAAET;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACiB,GAAG,CAACX,SAAS,EAAE;MAClEQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,gCAA+B;IAC3C,OAAOM,IAAI,CAACU,MAAM;EACpB,CAAC;EAAA;AAAA;AAAA,SAQqBC,oBAAoB;EAAA;AAAA;AAgB1C;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,0CAhBO,WAAoCN,SAAiB,EAAEI,OAAe,EAAE;IAC7E,IAAAf,qBAAY,kCAAiC;IAC7C,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BZ,2BAA2B,EAC3Ba,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBc,SAAS,EACTI,OAAO,CACR;IACD,IAAM;MAAET;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACiB,GAAG,CAACX,SAAS,EAAE;MAClEQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,gCAA+B;IAC3C,OAAOM,IAAI,CAACU,MAAM;EACpB,CAAC;EAAA;AAAA;AAAA,SAQqBE,mBAAmB;EAAA;AAAA;AAgBzC;AACA;AACA;AACA;AACA;AACA;AACA;AANA;EAAA,yCAhBO,WAAmCP,SAAiB,EAAEI,OAAe,EAAE;IAC5E,IAAAf,qBAAY,wCAAuC;IACnD,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BX,gBAAgB,EAChBY,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBc,SAAS,EACTI,OAAO,CACR;IACD,IAAM;MAAET;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACiB,GAAG,CAACX,SAAS,EAAE;MAClEQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,sCAAqC;IACjD,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SASqBa,mBAAmB;EAAA;AAAA;AAyBzC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,yCAzBO,WACLR,SAAiB,EACjBI,OAAe,EACfK,SAAS,EACT;IACA,IAAApB,qBAAY,wCAAuC;IACnD;IACA;IACA,IAAMqB,KAAK,GAAG,IAAAC,yBAAe,EAACF,SAAS,EAAE,YAAY,CAAC;IACtD,OAAOC,KAAK,CAACE,SAAS;IACtB,OAAOF,KAAK,CAACG,IAAI;IACjB,IAAMvB,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BX,gBAAgB,EAChBY,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBc,SAAS,EACTI,OAAO,CACR;IACD,IAAM;MAAET;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAAC8B,GAAG,CAACxB,SAAS,EAAEoB,KAAK,EAAE;MACzEZ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,sCAAqC;IACjD,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SAQqBoB,sBAAsB;EAAA;AAAA;AAAA;EAAA,4CAArC,WACLf,SAAiB,EACjBI,OAAe,EACf;IACA,IAAAf,qBAAY,2CAA0C;IACtD,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BX,gBAAgB,EAChBY,KAAK,CAACC,OAAO,EAAE,EACf,IAAAR,6BAAmB,GAAE,EACrBc,SAAS,EACTI,OAAO,CACR;IACD,IAAM;MAAET;IAAK,CAAC,SAAS,IAAAC,sBAAa,EAACZ,YAAY,EAAE,CAAC,CAACgC,MAAM,CAAC1B,SAAS,EAAE;MACrEQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAAT,qBAAY,yCAAwC;IACpD,OAAOM,IAAI;EACb,CAAC;EAAA;AAAA"}
|
|
@@ -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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"}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
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
|
|
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","
|
|
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":["
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeApi.test.js","names":["__dirname","path","dirname","fileURLToPath","mock","MockAdapter","axios","state","setHost","setRealm","setCookieName","setCookieValue","describe","test","expect","NodeRaw","getNodeTypes","toBeDefined","response","JSON","parse","fs","readFileSync","resolve","onPost","getHost","reply","types","toBeTruthy","result","length","toBe","getNodes","usernameAttribute","validateInput","_id","_type","name","collection","_outcomes","id","displayName","interval","identityAttribute","amount","identifier","identityResource","nodes","nodeType","pageDescription","en","pageHeader","stage","queryFilter","sessionDataKey","sharedStateKey","emailSuspendMessage","emailTemplateName","emailAttribute","objectLookup","attributesToCollect","validateInputs","required","passwordAttribute","presentAttribute","tree","patchAsObject","ignoredFields","script","outcomes","outputs","inputs","message","allowUserDefinedQuestions","getNodesByType","onGet","getNode","node","toMatchObject","code","reason","assertions","error","data","putNode","nodeData","onPut","deleteNode","onDelete","toEqual"],"sources":["api/NodeApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { NodeRaw, state } from '../index';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst mock = new MockAdapter(axios);\n\nstate.setHost('');\nstate.setRealm('alpha');\nstate.setCookieName('cookieName');\nstate.setCookieValue('cookieValue');\n\ndescribe('NodeApi - getNodeTypes()', () => {\n test('getNodeTypes() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodeTypes).toBeDefined();\n });\n\n test('getNodeTypes() 1: Get all node types', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNodeTypes/types.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes`\n )\n .reply(200, response);\n const types = await NodeRaw.getNodeTypes();\n expect(types).toBeTruthy();\n expect(types.result.length).toBe(99);\n });\n});\n\ndescribe('NodeApi - getNodes()', () => {\n test('getNodes() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodes).toBeDefined();\n });\n\n test('getNodes() 1: Get all nodes', async () => {\n const response = {\n result: [\n {\n usernameAttribute: 'userName',\n validateInput: true,\n _id: '7fcaf48e-a754-4959-858b-05b2933b825f',\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n usernameAttribute: 'userName',\n validateInput: false,\n _id: '7354982f-57b6-4b04-9ddc-f1dd1e1e07d0',\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n interval: 'AT',\n identityAttribute: 'userName',\n amount: 3,\n _id: '8afdaec3-275e-4301-bb53-34f03e6a4b29',\n _type: {\n _id: 'LoginCountDecisionNode',\n name: 'Login Count Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'mail',\n identifier: 'userName',\n _id: '21b8ddf3-0203-4ae1-ab05-51cf3a3a707a',\n _type: {\n _id: 'IdentifyExistingUserNode',\n name: 'Identify Existing User',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'mail',\n identifier: 'userName',\n _id: 'bf9ea8d5-9802-4f26-9664-a21840faac23',\n _type: {\n _id: 'IdentifyExistingUserNode',\n name: 'Identify Existing User',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '59952413-9bc2-47e5-a9b2-b04c1d729e24',\n _type: {\n _id: 'UsernameCollectorNode',\n name: 'Username Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n _id: 'ad5dcbb3-7335-49b7-b3e7-7d850bb88237',\n _type: {\n _id: 'CreateObjectNode',\n name: 'Create Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'CREATED',\n displayName: 'Created',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '7354982f-57b6-4b04-9ddc-f1dd1e1e07d0',\n nodeType: 'ValidatedUsernameNode',\n displayName: 'Platform Username',\n },\n {\n _id: '0c80c39b-4813-4e67-b4fb-5a0bba85f994',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'New here? <a href=\"#/service/Registration\">Create an account</a><br><a href=\"#/service/ForgottenUsername\">Forgot username?</a><a href=\"#/service/ResetPassword\"> Forgot password?</a>',\n },\n pageHeader: {\n en: 'Sign In',\n },\n _id: 'a12bc72f-ad97-4f1e-a789-a1fa3dd566c8',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '7fcaf48e-a754-4959-858b-05b2933b825f',\n nodeType: 'ValidatedUsernameNode',\n displayName: 'Platform Username',\n },\n {\n _id: 'd3ce2036-1523-4ce8-b1a2-895a2a036667',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n {\n _id: '3d8709a1-f09f-4d1f-8094-2850e472c1db',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n {\n _id: '120c69d3-90b4-4ad4-b7af-380e8b119340',\n nodeType: 'KbaCreateNode',\n displayName: 'KBA Definition',\n },\n {\n _id: 'b4a0e915-c15d-4b83-9c9d-18347d645976',\n nodeType: 'AcceptTermsAndConditionsNode',\n displayName: 'Accept Terms and Conditions',\n },\n ],\n pageDescription: {\n en: \"Signing up is fast and easy.<br>Already have an account? <a href='#/service/Login'>Sign In</a>\",\n },\n pageHeader: {\n en: 'Sign Up',\n },\n _id: '0c091c49-f3af-48fb-ac6f-07fba0499dd6',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '21a99653-a7a7-47ee-b650-f493a84bba09',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Enter new password',\n },\n pageHeader: {\n en: 'Update Password',\n },\n _id: 'd018fcd1-4e22-4160-8c41-63bee51c9cb3',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '0a042e10-b22e-4e02-86c4-65e26e775f7a',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {},\n pageHeader: {\n en: 'Please select your preferences',\n },\n _id: 'a5aecad8-854a-4ed5-b719-ff6c90e858c0',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: 'fe2962fc-4db3-4066-8624-553649afc438',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Enter current password',\n },\n pageHeader: {\n en: 'Verify Existing Password',\n },\n _id: '20237b34-26cb-4a0b-958f-abb422290d42',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '59952413-9bc2-47e5-a9b2-b04c1d729e24',\n nodeType: 'UsernameCollectorNode',\n displayName: 'Username Collector',\n },\n {\n _id: '8c217417-11dd-4a0f-a9e4-59c2390085be',\n nodeType: 'PasswordCollectorNode',\n displayName: 'Password Collector',\n },\n ],\n pageDescription: {},\n pageHeader: {},\n _id: '6b9a715d-ea23-4eae-9a59-69797c147157',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '009c19c8-9572-47bb-adb2-1f092c559a43',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Change password',\n },\n pageHeader: {\n en: 'Reset Password',\n },\n _id: 'e4c752f9-c625-48c9-9644-a58802fa9e9c',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: 'a3f63691-1a79-4b11-be47-26f40403292d',\n nodeType: 'ScriptedDecisionNode',\n displayName: 'Remove Button',\n },\n ],\n pageDescription: {},\n stage: '{\"themeId\":\"63e19668-909f-479e-83d7-be7a01cd8187\"}',\n pageHeader: {\n en: 'No Access',\n },\n _id: 'bdda3e99-3a7f-45ec-b39d-17d1056af3c9',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'true',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '9f1e8d94-4922-481b-9e14-212b66548900',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {\n en: 'Enter your email address or <a href=\"#/service/Login\">Sign in</a>',\n },\n pageHeader: {\n en: 'Forgotten Username',\n },\n _id: '5e2a7c95-94af-4b23-8724-deb13853726a',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '276afa7c-a680-4cf4-a5f6-d6c78191f5c9',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {\n en: 'Enter your email address or <a href=\"#/service/Login\">Sign in</a>',\n },\n pageHeader: {\n en: 'Reset Password',\n },\n _id: 'cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n queryFilter:\n '!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false',\n _id: 'a1f45b44-5bf7-4c57-aa3f-75c619c7db8e',\n _type: {\n _id: 'QueryFilterDecisionNode',\n name: 'Query Filter Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: 'b4a0e915-c15d-4b83-9c9d-18347d645976',\n _type: {\n _id: 'AcceptTermsAndConditionsNode',\n name: 'Accept Terms and Conditions',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n sessionDataKey: 'UserToken',\n sharedStateKey: 'userName',\n _id: 'd1b79744-493a-44fe-bc26-7d324a8caa4e',\n _type: {\n _id: 'SessionDataNode',\n name: 'Get Session Data',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to the address you entered. Click the link in that email to proceed.',\n },\n emailTemplateName: 'forgottenUsername',\n identityAttribute: 'mail',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: 'd9a79f01-2ce3-4be2-a28a-975f35c3c8ca',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to the address you entered. Click the link in that email to proceed.',\n },\n emailTemplateName: 'resetPassword',\n identityAttribute: 'mail',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: '06c97be5-7fdd-4739-aea1-ecc7fe082865',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.',\n },\n emailTemplateName: 'updatePassword',\n identityAttribute: 'userName',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: 'a3d97b53-e38a-4b24-aed0-a021050eb744',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['mail'],\n identityAttribute: 'mail',\n validateInputs: false,\n required: true,\n _id: '9f1e8d94-4922-481b-9e14-212b66548900',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['mail'],\n identityAttribute: 'mail',\n validateInputs: false,\n required: true,\n _id: '276afa7c-a680-4cf4-a5f6-d6c78191f5c9',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['preferences/updates', 'preferences/marketing'],\n identityAttribute: 'userName',\n validateInputs: false,\n required: false,\n _id: '0a042e10-b22e-4e02-86c4-65e26e775f7a',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: [\n 'givenName',\n 'sn',\n 'mail',\n 'preferences/marketing',\n 'preferences/updates',\n ],\n identityAttribute: 'userName',\n validateInputs: true,\n required: true,\n _id: 'd3ce2036-1523-4ce8-b1a2-895a2a036667',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n _id: '8c217417-11dd-4a0f-a9e4-59c2390085be',\n _type: {\n _id: 'PasswordCollectorNode',\n name: 'Password Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '009c19c8-9572-47bb-adb2-1f092c559a43',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '3d8709a1-f09f-4d1f-8094-2850e472c1db',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: false,\n _id: '0c80c39b-4813-4e67-b4fb-5a0bba85f994',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '21a99653-a7a7-47ee-b650-f493a84bba09',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: false,\n _id: 'fe2962fc-4db3-4066-8624-553649afc438',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n presentAttribute: 'password',\n identityAttribute: 'userName',\n _id: '0f0904e6-1da3-4cdb-9abf-0d2545016fab',\n _type: {\n _id: 'AttributePresentDecisionNode',\n name: 'Attribute Present Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '2998c1c9-f4c8-4a00-b2c6-3426783ee49d',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: 'e2988546-a459-4c9a-b0e2-fa65ae136b34',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '7d1deabe-cd98-49c8-943f-ca12305775f3',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n _id: '97a15eb2-a015-4b6d-81a0-be78c3aa1a3b',\n _type: {\n _id: 'IncrementLoginCountNode',\n name: 'Increment Login Count',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n _id: 'bba3e0d8-8525-4e82-bf48-ac17f7988917',\n _type: {\n _id: 'IncrementLoginCountNode',\n name: 'Increment Login Count',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n tree: 'ProgressiveProfile',\n _id: '33b24514-3e50-4180-8f08-ab6f4e51b07e',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n tree: 'iAccessRestrictions',\n _id: '2da98485-ee0e-4305-826c-b6fcc842a7b8',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n tree: 'Login',\n _id: 'b93ce36e-1976-4610-b24f-8d6760b5463b',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'mail',\n _id: '989f0bf8-a328-4217-b82b-5275d79ca8bd',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'userName',\n _id: '423a959a-a1b9-498a-b0f7-596b6b6e775a',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: ['userName'],\n identityAttribute: 'userName',\n _id: '3990ce1f-cce6-435b-ae1c-f138e89411c1',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n script: '7fb962a5-9f20-41d3-a077-b424a29c1198',\n outcomes: ['allow', 'deny'],\n outputs: ['*'],\n inputs: ['*'],\n _id: 'f4e9be5d-25d7-44cc-b15e-989b99724b4d',\n _type: {\n _id: 'ScriptedDecisionNode',\n name: 'Scripted Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'allow',\n displayName: 'allow',\n },\n {\n id: 'deny',\n displayName: 'deny',\n },\n ],\n },\n {\n script: '9535446c-0ff6-4a76-8576-616599119d64',\n outcomes: ['true'],\n outputs: ['*'],\n inputs: ['*'],\n _id: 'a3f63691-1a79-4b11-be47-26f40403292d',\n _type: {\n _id: 'ScriptedDecisionNode',\n name: 'Scripted Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'true',\n },\n ],\n },\n {\n message: {\n en: 'Select a security question',\n },\n allowUserDefinedQuestions: true,\n _id: '120c69d3-90b4-4ad4-b7af-380e8b119340',\n _type: {\n _id: 'KbaCreateNode',\n name: 'KBA Definition',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n ],\n };\n mock\n .onPost(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents`\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodes();\n expect(nodes).toBeTruthy();\n expect(nodes.result.length).toBe(48);\n });\n});\n\ndescribe('NodeApi - getNodesByType()', () => {\n test('getNodesByType() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodesByType).toBeDefined();\n });\n\n test('getNodesByType() 1: Get all page nodes', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNodesByType/PageNode.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode?_queryFilter=true`\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodesByType('PageNode');\n expect(nodes).toBeTruthy();\n expect(nodes.result.length).toBe(161);\n });\n});\n\ndescribe('NodeApi - getNode()', () => {\n test('getNode() 0: Method is implemented', async () => {\n expect(NodeRaw.getNode).toBeDefined();\n });\n\n test('getNode() 1: Get existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae`\n )\n .reply(200, response);\n const node = await NodeRaw.getNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(response);\n });\n\n test('getNode() 2: Get non-existing page node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onGet(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000`\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.getNode('00000000-0000-0000-0000-000000000000', 'PageNode');\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n\ndescribe('NodeApi - putNode()', () => {\n test('putNode() 0: Method is implemented', async () => {\n expect(NodeRaw.putNode).toBeDefined();\n });\n\n test('putNode() 1: Create page node [0ad90971-d08a-4af3-86f3-01729572dc8f]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0ad90971-d08a-4af3-86f3-01729572dc8f`\n )\n .reply(201, nodeData);\n const node = await NodeRaw.putNode(\n '0ad90971-d08a-4af3-86f3-01729572dc8f',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n\n test('putNode() 1: Update existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae`\n )\n .reply(200, nodeData);\n const node = await NodeRaw.putNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n});\n\ndescribe('NodeApi - deleteNode()', () => {\n test('deleteNode() 0: Method is implemented', async () => {\n expect(NodeRaw.deleteNode).toBeDefined();\n });\n\n test('deleteNode() 1: Delete existing node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae`\n )\n .reply(200, response);\n const node = await NodeRaw.deleteNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node._id).toEqual('1aea363f-d8d2-4711-b88d-d58fff92dbae');\n });\n\n test('deleteNode() 2: Delete non-existing node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onDelete(\n `${state.getHost()}/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000`\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.deleteNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NodeApi.test.js","names":["jest","setTimeout","autoSetupPolly","describe","node1","id","type","node","usernameAttribute","validateInput","_type","_id","name","collection","_outcomes","displayName","node2","passwordAttribute","node3","identityResource","patchAsObject","ignoredFields","identityAttribute","node4","beforeAll","process","env","FRODO_POLLY_MODE","NodeRaw","getNode","deleteNode","error","putNode","afterAll","test","expect","getNodeTypes","toBeDefined","response","toMatchSnapshot","getNodes","getNodesByType","assertions","data"],"sources":["api/NodeApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=volker-dev npm run test:record NodeApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update NodeApi\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only NodeApi\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { jest } from '@jest/globals';\nimport { NodeRaw } from '../index';\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('NodeApi', () => {\n const node1 = {\n id: '67693475-3a58-4e38-bcc6-037b3fe46a58',\n type: 'ValidatedUsernameNode',\n node: {\n usernameAttribute: 'userName',\n validateInput: false,\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node2 = {\n id: '18ffdd4b-41b7-41b3-8248-f4fdfd68423f',\n type: 'ValidatedPasswordNode',\n node: {\n validateInput: false,\n passwordAttribute: 'password',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n };\n const node3 = {\n id: 'b726262c-641e-4fa5-b276-98e129b44cd9',\n type: 'PatchObjectNode',\n node: {\n identityResource: 'managed/user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'userName',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n const node4 = {\n id: '23bab9d4-1663-450f-8a4b-680f44f54fd6',\n type: 'CreateObjectNode',\n node: {\n identityResource: 'managed/user',\n _type: {\n _id: 'CreateObjectNode',\n name: 'Create Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'CREATED',\n displayName: 'Created',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup node1 - delete if exists, then create\n try {\n await NodeRaw.getNode(node1.id, node1.type);\n await NodeRaw.deleteNode(node1.id, node1.type);\n } catch (error) {\n // ignore\n } finally {\n await NodeRaw.putNode(node1.id, node1.type, node1.node);\n }\n // setup node2 - delete if exists\n try {\n await NodeRaw.getNode(node2.id, node2.type);\n await NodeRaw.deleteNode(node2.id, node2.type);\n } catch (error) {\n // ignore\n } finally {\n await NodeRaw.putNode(node2.id, node2.type, node2.node);\n }\n // setup node3 - delete if exists, then create\n try {\n await NodeRaw.getNode(node3.id, node3.type);\n await NodeRaw.deleteNode(node3.id, node3.type);\n } catch (error) {\n // ignore\n } finally {\n await NodeRaw.putNode(node3.id, node3.type, node3.node);\n }\n // setup node4 - delete if exists, then create\n try {\n await NodeRaw.getNode(node4.id, node4.type);\n await NodeRaw.deleteNode(node4.id, node4.type);\n } catch (error) {\n // ignore\n } finally {\n await NodeRaw.putNode(node4.id, node4.type, node4.node);\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 NodeRaw.getNode(node1.id, node1.type);\n await NodeRaw.deleteNode(node1.id, node1.type);\n } catch (error) {\n // ignore\n }\n try {\n await NodeRaw.getNode(node2.id, node2.type);\n await NodeRaw.deleteNode(node2.id, node2.type);\n } catch (error) {\n // ignore\n }\n try {\n await NodeRaw.getNode(node3.id, node3.type);\n await NodeRaw.deleteNode(node3.id, node3.type);\n } catch (error) {\n // ignore\n }\n try {\n await NodeRaw.getNode(node4.id, node4.type);\n await NodeRaw.deleteNode(node4.id, node4.type);\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getNodeTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.getNodeTypes).toBeDefined();\n });\n\n test('1: Get all node types', async () => {\n const response = await NodeRaw.getNodeTypes();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodes()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.getNodes).toBeDefined();\n });\n\n test('1: Get all nodes', async () => {\n const response = await NodeRaw.getNodes();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNodesByType()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.getNodesByType).toBeDefined();\n });\n\n test('1: Get all page nodes', async () => {\n const response = await NodeRaw.getNodesByType('PageNode');\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.getNode).toBeDefined();\n });\n\n test(`1: Get existing node [${node1.id} - ${node1.type}]`, async () => {\n const response = await NodeRaw.getNode(node1.id, node1.type);\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeRaw.getNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n\n describe('putNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.putNode).toBeDefined();\n });\n\n test(`1: Create new node [${node2.id} - ${node2.type}]`, async () => {\n const response = await NodeRaw.putNode(node2.id, node2.type, node2.node);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Update existing node [${node3.id} - ${node3.type}]`, async () => {\n const node = await NodeRaw.putNode(node3.id, node3.type, node3.node);\n expect(node).toMatchSnapshot();\n });\n });\n\n describe('deleteNode()', () => {\n test('0: Method is implemented', async () => {\n expect(NodeRaw.deleteNode).toBeDefined();\n });\n\n test(`1: Delete existing node [${node4.id} - ${node4.type}]`, async () => {\n const node = await NodeRaw.deleteNode(node4.id, node4.type);\n expect(node).toMatchSnapshot();\n });\n\n test('2: Delete non-existing node [00000000-0000-0000-0000-000000000000 - PageNode]', async () => {\n expect.assertions(1);\n try {\n await NodeRaw.deleteNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response.data).toMatchSnapshot();\n }\n });\n });\n});\n"],"mappings":";;AA+BA;AACA;AACA;AAAyD;AAAA;AAEzD;AACA;AACAA,aAAI,CAACC,UAAU,CAAC,KAAK,CAAC;AAEtB,IAAAC,8BAAc,GAAE;AAEhBC,QAAQ,CAAC,SAAS,EAAE,MAAM;EACxB,IAAMC,KAAK,GAAG;IACZC,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,uBAAuB;IAC7BC,IAAI,EAAE;MACJC,iBAAiB,EAAE,UAAU;MAC7BC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE;QACLC,GAAG,EAAE,uBAAuB;QAC5BC,IAAI,EAAE,mBAAmB;QACzBC,UAAU,EAAE;MACd,CAAC;MACDC,SAAS,EAAE,CACT;QACET,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC;IAEL;EACF,CAAC;EACD,IAAMC,KAAK,GAAG;IACZX,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,uBAAuB;IAC7BC,IAAI,EAAE;MACJE,aAAa,EAAE,KAAK;MACpBQ,iBAAiB,EAAE,UAAU;MAC7BP,KAAK,EAAE;QACLC,GAAG,EAAE,uBAAuB;QAC5BC,IAAI,EAAE,mBAAmB;QACzBC,UAAU,EAAE;MACd,CAAC;MACDC,SAAS,EAAE,CACT;QACET,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC;IAEL;EACF,CAAC;EACD,IAAMG,KAAK,GAAG;IACZb,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE;MACJY,gBAAgB,EAAE,cAAc;MAChCC,aAAa,EAAE,KAAK;MACpBC,aAAa,EAAE,EAAE;MACjBC,iBAAiB,EAAE,UAAU;MAC7BZ,KAAK,EAAE;QACLC,GAAG,EAAE,iBAAiB;QACtBC,IAAI,EAAE,cAAc;QACpBC,UAAU,EAAE;MACd,CAAC;MACDC,SAAS,EAAE,CACT;QACET,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC,EACD;QACEV,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC;IAEL;EACF,CAAC;EACD,IAAMQ,KAAK,GAAG;IACZlB,EAAE,EAAE,sCAAsC;IAC1CC,IAAI,EAAE,kBAAkB;IACxBC,IAAI,EAAE;MACJY,gBAAgB,EAAE,cAAc;MAChCT,KAAK,EAAE;QACLC,GAAG,EAAE,kBAAkB;QACvBC,IAAI,EAAE,eAAe;QACrBC,UAAU,EAAE;MACd,CAAC;MACDC,SAAS,EAAE,CACT;QACET,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC,EACD;QACEV,EAAE,EAAE,SAAS;QACbU,WAAW,EAAE;MACf,CAAC;IAEL;EACF,CAAC;EACD;EACAS,SAAS,iCAAC,aAAY;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C;MACA,IAAI;QACF,MAAMC,cAAO,CAACC,OAAO,CAACzB,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAAC1B,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMH,cAAO,CAACI,OAAO,CAAC5B,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACG,IAAI,CAAC;MACzD;MACA;MACA,IAAI;QACF,MAAMqB,cAAO,CAACC,OAAO,CAACb,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACd,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMH,cAAO,CAACI,OAAO,CAAChB,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,EAAEU,KAAK,CAACT,IAAI,CAAC;MACzD;MACA;MACA,IAAI;QACF,MAAMqB,cAAO,CAACC,OAAO,CAACX,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACZ,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMH,cAAO,CAACI,OAAO,CAACd,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,EAAEY,KAAK,CAACX,IAAI,CAAC;MACzD;MACA;MACA,IAAI;QACF,MAAMqB,cAAO,CAACC,OAAO,CAACN,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACP,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA,CACD,SAAS;QACR,MAAMH,cAAO,CAACI,OAAO,CAACT,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,EAAEiB,KAAK,CAAChB,IAAI,CAAC;MACzD;IACF;EACF,CAAC,EAAC;EACF;EACA0B,QAAQ,iCAAC,aAAY;IACnB,IAAIR,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,IAAI;QACF,MAAMC,cAAO,CAACC,OAAO,CAACzB,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAAC1B,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMH,cAAO,CAACC,OAAO,CAACb,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACd,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMH,cAAO,CAACC,OAAO,CAACX,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACZ,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA;MAEF,IAAI;QACF,MAAMH,cAAO,CAACC,OAAO,CAACN,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,CAAC;QAC3C,MAAMsB,cAAO,CAACE,UAAU,CAACP,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,CAAC;MAChD,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACd;MAAA;IAEJ;EACF,CAAC,EAAC;EAEF5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/B+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACQ,YAAY,CAAC,CAACC,WAAW,EAAE;IAC5C,CAAC,EAAC;IAEFH,IAAI,CAAC,uBAAuB,iCAAE,aAAY;MACxC,IAAMI,QAAQ,SAASV,cAAO,CAACQ,YAAY,EAAE;MAC7CD,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,EAAE;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC3B+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACY,QAAQ,CAAC,CAACH,WAAW,EAAE;IACxC,CAAC,EAAC;IAEFH,IAAI,CAAC,kBAAkB,iCAAE,aAAY;MACnC,IAAMI,QAAQ,SAASV,cAAO,CAACY,QAAQ,EAAE;MACzCL,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,EAAE;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IACjC+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACa,cAAc,CAAC,CAACJ,WAAW,EAAE;IAC9C,CAAC,EAAC;IAEFH,IAAI,CAAC,uBAAuB,iCAAE,aAAY;MACxC,IAAMI,QAAQ,SAASV,cAAO,CAACa,cAAc,CAAC,UAAU,CAAC;MACzDN,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,EAAE;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC1B+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACC,OAAO,CAAC,CAACQ,WAAW,EAAE;IACvC,CAAC,EAAC;IAEFH,IAAI,iCAA0B9B,KAAK,CAACC,EAAE,gBAAMD,KAAK,CAACE,IAAI,uCAAK,aAAY;MACrE,IAAMgC,QAAQ,SAASV,cAAO,CAACC,OAAO,CAACzB,KAAK,CAACC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC;MAC5D6B,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,EAAE;IACpC,CAAC,EAAC;IAEFL,IAAI,CAAC,4EAA4E,iCAAE,aAAY;MAC7FC,MAAM,CAACO,UAAU,CAAC,CAAC,CAAC;MACpB,IAAI;QACF,MAAMd,cAAO,CAACC,OAAO,CACnB,sCAAsC,EACtC,UAAU,CACX;MACH,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdI,MAAM,CAACJ,KAAK,CAACO,QAAQ,CAACK,IAAI,CAAC,CAACJ,eAAe,EAAE;MAC/C;IACF,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC1B+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACI,OAAO,CAAC,CAACK,WAAW,EAAE;IACvC,CAAC,EAAC;IAEFH,IAAI,+BAAwBlB,KAAK,CAACX,EAAE,gBAAMW,KAAK,CAACV,IAAI,uCAAK,aAAY;MACnE,IAAMgC,QAAQ,SAASV,cAAO,CAACI,OAAO,CAAChB,KAAK,CAACX,EAAE,EAAEW,KAAK,CAACV,IAAI,EAAEU,KAAK,CAACT,IAAI,CAAC;MACxE4B,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,EAAE;IACpC,CAAC,EAAC;IAEFL,IAAI,oCAA6BhB,KAAK,CAACb,EAAE,gBAAMa,KAAK,CAACZ,IAAI,uCAAK,aAAY;MACxE,IAAMC,IAAI,SAASqB,cAAO,CAACI,OAAO,CAACd,KAAK,CAACb,EAAE,EAAEa,KAAK,CAACZ,IAAI,EAAEY,KAAK,CAACX,IAAI,CAAC;MACpE4B,MAAM,CAAC5B,IAAI,CAAC,CAACgC,eAAe,EAAE;IAChC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC7B+B,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACP,cAAO,CAACE,UAAU,CAAC,CAACO,WAAW,EAAE;IAC1C,CAAC,EAAC;IAEFH,IAAI,oCAA6BX,KAAK,CAAClB,EAAE,gBAAMkB,KAAK,CAACjB,IAAI,uCAAK,aAAY;MACxE,IAAMC,IAAI,SAASqB,cAAO,CAACE,UAAU,CAACP,KAAK,CAAClB,EAAE,EAAEkB,KAAK,CAACjB,IAAI,CAAC;MAC3D6B,MAAM,CAAC5B,IAAI,CAAC,CAACgC,eAAe,EAAE;IAChC,CAAC,EAAC;IAEFL,IAAI,CAAC,+EAA+E,iCAAE,aAAY;MAChGC,MAAM,CAACO,UAAU,CAAC,CAAC,CAAC;MACpB,IAAI;QACF,MAAMd,cAAO,CAACE,UAAU,CACtB,sCAAsC,EACtC,UAAU,CACX;MACH,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdI,MAAM,CAACJ,KAAK,CAACO,QAAQ,CAACK,IAAI,CAAC,CAACJ,eAAe,EAAE;MAC/C;IACF,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|