@rockcarver/frodo-lib 0.17.2-0 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/cjs/api/AgentApi.js +1 -1
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js +16 -16
  6. package/cjs/api/ApiTypes.js.map +1 -1
  7. package/cjs/api/AuthenticateApi.js +17 -12
  8. package/cjs/api/AuthenticateApi.js.map +1 -1
  9. package/cjs/api/AuthenticateApi.test.js.map +1 -1
  10. package/cjs/api/IdmConfigApi.js +28 -7
  11. package/cjs/api/IdmConfigApi.js.map +1 -1
  12. package/cjs/api/NodeApi.test.js.map +1 -1
  13. package/cjs/api/SecretsApi.test.js.map +1 -1
  14. package/cjs/api/SocialIdentityProvidersApi.js +22 -0
  15. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  16. package/cjs/api/TreeApi.test.js.map +1 -1
  17. package/cjs/api/VariablesApi.test.js.map +1 -1
  18. package/cjs/api/utils/ApiUtils.js +13 -4
  19. package/cjs/api/utils/ApiUtils.js.map +1 -1
  20. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  21. package/cjs/index.js +3 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/ops/AgentOps.test.js.map +1 -1
  24. package/cjs/ops/AuthenticateOps.js +0 -7
  25. package/cjs/ops/AuthenticateOps.js.map +1 -1
  26. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  27. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  28. package/cjs/ops/IdmOps.test.js.map +1 -1
  29. package/cjs/ops/IdpOps.js +182 -275
  30. package/cjs/ops/IdpOps.js.map +1 -1
  31. package/cjs/ops/IdpOps.test.js.map +1 -1
  32. package/cjs/ops/SecretsOps.js +3 -3
  33. package/cjs/ops/SecretsOps.js.map +1 -1
  34. package/cjs/ops/VariablesOps.js +3 -3
  35. package/cjs/ops/VariablesOps.js.map +1 -1
  36. package/cjs/shared/State.js +1 -1
  37. package/cjs/shared/State.js.map +1 -1
  38. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json} +0 -2
  39. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_chico.json → FrodoOpsTestGatewayAgent2.json} +0 -2
  40. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json} +0 -2
  41. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_mytestrun_com.json → FrodoOpsTestGatewayAgent4.json} +0 -2
  42. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json} +0 -2
  43. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{api_client.json → FrodoOpsTestGatewayAgent6.json} +0 -2
  44. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
  45. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
  46. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
  47. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
  48. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
  49. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
  50. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{javaAgent.json → FrodoOpsTestJavaAgent1.json} +0 -2
  51. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{tomcatagent.json → FrodoOpsTestJavaAgent2.json} +0 -2
  52. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json} +0 -2
  53. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json} +0 -2
  54. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
  55. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
  56. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
  57. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
  58. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
  59. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
  60. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
  61. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
  62. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json} +0 -2
  63. package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json} +0 -2
  64. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{webserver.json → FrodoOpsTestWebAgent3.json} +0 -2
  65. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{apacheagent.json → FrodoOpsTestWebAgent4.json} +0 -2
  66. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
  67. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
  68. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
  69. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
  70. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
  71. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
  72. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
  73. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
  74. package/cjs/test/mocks/ForgeRockApiMockEngine.js +1 -108
  75. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  76. package/esm/api/AgentApi.mjs +1 -1
  77. package/esm/api/AgentApi.test.mjs +323 -246
  78. package/esm/api/ApiTypes.mjs +16 -16
  79. package/esm/api/AuthenticateApi.mjs +16 -12
  80. package/esm/api/AuthenticateApi.test.mjs +77 -35
  81. package/esm/api/IdmConfigApi.mjs +19 -4
  82. package/esm/api/NodeApi.test.mjs +248 -914
  83. package/esm/api/SecretsApi.test.mjs +252 -245
  84. package/esm/api/SocialIdentityProvidersApi.mjs +16 -0
  85. package/esm/api/TreeApi.test.mjs +190 -105
  86. package/esm/api/VariablesApi.test.mjs +108 -12
  87. package/esm/api/utils/ApiUtils.mjs +12 -4
  88. package/esm/api/utils/ApiUtils.test.mjs +80 -79
  89. package/esm/index.mjs +1 -0
  90. package/esm/ops/AgentOps.test.mjs +780 -1210
  91. package/esm/ops/AuthenticateOps.mjs +0 -7
  92. package/esm/ops/ConnectionProfileOps.test.mjs +94 -54
  93. package/esm/ops/EmailTemplateOps.test.mjs +140 -28
  94. package/esm/ops/IdmOps.test.mjs +159 -62
  95. package/esm/ops/IdpOps.mjs +139 -210
  96. package/esm/ops/IdpOps.test.mjs +651 -52
  97. package/esm/ops/SecretsOps.mjs +3 -3
  98. package/esm/ops/VariablesOps.mjs +3 -3
  99. package/esm/shared/State.mjs +1 -1
  100. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json +30 -0
  101. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2.json +20 -0
  102. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json +20 -0
  103. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4.json +30 -0
  104. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json +20 -0
  105. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6.json +20 -0
  106. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
  107. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
  108. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
  109. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
  110. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
  111. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
  112. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent1.json +621 -0
  113. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent2.json +628 -0
  114. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json +628 -0
  115. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json +621 -0
  116. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
  117. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
  118. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
  119. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
  120. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
  121. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
  122. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
  123. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
  124. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json +454 -0
  125. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json +453 -0
  126. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent3.json +453 -0
  127. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent4.json +454 -0
  128. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
  129. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
  130. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
  131. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
  132. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
  133. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
  134. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
  135. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
  136. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +1 -98
  137. package/package.json +1 -1
  138. package/types/api/AgentApi.d.ts.map +1 -1
  139. package/types/api/ApiTypes.d.ts +21 -21
  140. package/types/api/ApiTypes.d.ts.map +1 -1
  141. package/types/api/AuthenticateApi.d.ts +11 -2
  142. package/types/api/AuthenticateApi.d.ts.map +1 -1
  143. package/types/api/IdmConfigApi.d.ts +11 -5
  144. package/types/api/IdmConfigApi.d.ts.map +1 -1
  145. package/types/api/SocialIdentityProvidersApi.d.ts +7 -0
  146. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  147. package/types/api/utils/ApiUtils.d.ts +7 -1
  148. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  149. package/types/index.d.ts +1 -0
  150. package/types/index.d.ts.map +1 -1
  151. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  152. package/types/ops/IdpOps.d.ts +31 -24
  153. package/types/ops/IdpOps.d.ts.map +1 -1
  154. package/types/ops/SecretsOps.d.ts.map +1 -1
  155. package/types/ops/VariablesOps.d.ts.map +1 -1
  156. package/types/shared/State.d.ts.map +1 -1
  157. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +1 -11
  158. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
  159. package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
  160. package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shared/State.ts"],"names":[],"mappings":"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","file":"State.d.ts","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { JwkRsa } from '../ops/JoseOps';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nexport interface StateInterface {\n // connection settings\n host?: string;\n username?: string;\n password?: string;\n realm?: string;\n deploymentType?: string;\n allowInsecureConnection?: boolean;\n // customize authentication\n authenticationHeaderOverrides?: Record<string, string>;\n authenticationService?: string;\n // cookie settings\n cookieName?: string;\n cookieValue?: string;\n // service account settings\n serviceAccountId?: string;\n serviceAccountJwk?: JwkRsa;\n // bearer token settings\n useBearerTokenForAmApis?: boolean;\n bearerToken?: string;\n // log api settings\n logApiKey?: string;\n logApiSecret?: string;\n // versions\n amVersion?: string;\n frodoVersion?: string;\n // miscellaneous settings\n connectionProfilesPath?: string;\n masterKeyPath?: string;\n outputFile?: string;\n directory?: string;\n // output handler settings\n printHandler?: (\n message: string | object,\n type?: string,\n newline?: boolean\n ) => void;\n verboseHandler?: (message: string | object) => void;\n verbose?: boolean;\n debugHandler?: (message: string | object) => void;\n debug?: boolean;\n curlirizeHandler?: (message: string) => void;\n curlirize?: boolean;\n createProgressHandler?: (\n type: string,\n total?: number,\n message?: string\n ) => void;\n updateProgressHandler?: (message: string) => void;\n stopProgressHandler?: (message: string, status?: string) => void;\n}\n\nconst _state: StateInterface = {\n authenticationHeaderOverrides: {},\n printHandler: (message: string | object) => {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n },\n verboseHandler: (message: string | object) => {\n if (!message) return;\n if (getVerbose()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n }\n },\n debugHandler: (message: string | object) => {\n if (!message) return;\n if (getDebug()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else {\n console.log(message);\n }\n }\n },\n curlirizeHandler: (message: string) => {\n if (!message) return;\n if (getDebug()) {\n console.log(message);\n }\n },\n};\n\nexport const setHost = (host: string) => (_state.host = host);\nexport const getHost = () => _state.host || process.env.FRODO_HOST;\n\n/**\n * @deprecated since v0.17.0 use `setHost(host: string)` instead\n */\nexport const setTenant = setHost;\n/**\n * @deprecated since v0.17.0 use `getHost` instead\n */\nexport const getTenant = getHost;\n\nexport const setUsername = (username: string) => (_state.username = username);\nexport const getUsername = () => _state.username || process.env.FRODO_USERNAME;\n\nexport const setPassword = (password: string) => (_state.password = password);\nexport const getPassword = () => _state.password || process.env.FRODO_PASSWORD;\n\nexport const setRealm = (realm: string) => (_state.realm = realm);\nexport const getRealm = () => _state.realm || process.env.FRODO_REALM;\n\nexport const setDeploymentType = (type: string) =>\n (_state.deploymentType = type);\nexport const getDeploymentType = () => _state.deploymentType;\n\nexport const setAllowInsecureConnection = (allowInsecureConnection: boolean) =>\n (_state.allowInsecureConnection = allowInsecureConnection);\nexport const getAllowInsecureConnection = () =>\n _state['allowInsecureConnection'];\n\nexport const setCookieName = (name: string) => (_state.cookieName = name);\nexport const getCookieName = () => _state.cookieName;\nexport const setCookieValue = (value: string) => (_state.cookieValue = value);\nexport const getCookieValue = () => _state.cookieValue;\n\nexport const setAuthenticationHeaderOverrides = (\n overrides: Record<string, string>\n) => (_state.authenticationHeaderOverrides = overrides);\nexport const getAuthenticationHeaderOverrides = () =>\n _state.authenticationHeaderOverrides;\nexport const setAuthenticationService = (service: string) =>\n (_state.authenticationService = service);\nexport const getAuthenticationService = () => _state.authenticationService;\n\nexport const setServiceAccountId = (uuid: string) =>\n (_state.serviceAccountId = uuid);\nexport const getServiceAccountId = (): string =>\n _state.serviceAccountId || process.env.FRODO_SA_ID;\nexport const setServiceAccountJwk = (jwk: JwkRsa) =>\n (_state.serviceAccountJwk = { ...jwk });\nexport const getServiceAccountJwk = (): JwkRsa =>\n _state.serviceAccountJwk ||\n (process.env.FRODO_SA_JWK ? JSON.parse(process.env.FRODO_SA_JWK) : undefined);\n\nexport const setUseBearerTokenForAmApis = (useBearerTokenForAmApis: boolean) =>\n (_state.useBearerTokenForAmApis = useBearerTokenForAmApis);\nexport const getUseBearerTokenForAmApis = () => _state.useBearerTokenForAmApis;\nexport const setBearerToken = (token: string) => (_state.bearerToken = token);\nexport const getBearerToken = () => _state.bearerToken;\n\nexport const setLogApiKey = (key: string) => (_state.logApiKey = key);\nexport const getLogApiKey = () => _state.logApiKey || process.env.FRODO_LOG_KEY;\nexport const setLogApiSecret = (secret: string) =>\n (_state.logApiSecret = secret);\nexport const getLogApiSecret = () =>\n _state.logApiSecret || process.env.FRODO_LOG_SECRET;\n\nexport const setAmVersion = (version: string) => (_state.amVersion = version);\nexport const getAmVersion = () => _state.amVersion;\n\nexport const setFrodoVersion = (version: string) =>\n (_state.frodoVersion = version);\nexport const getFrodoVersion = () =>\n _state.frodoVersion || `v${pkg.version} [${process.version}]`;\n\nexport const setConnectionProfilesPath = (path: string) =>\n (_state.connectionProfilesPath = path);\nexport const getConnectionProfilesPath = () => _state.connectionProfilesPath;\n\nexport const setMasterKeyPath = (path: string) => (_state.masterKeyPath = path);\nexport const getMasterKeyPath = () => _state.masterKeyPath;\n\nexport const setOutputFile = (file: string) => (_state.outputFile = file);\nexport const getOutputFile = () => _state.outputFile;\n\nexport const setDirectory = (directory: string) =>\n (_state.directory = directory);\nexport const getDirectory = () => _state.directory;\n\nexport const setPrintHandler = (\n handler: (message: string | object, type?: string, newline?: boolean) => void\n) => (_state.printHandler = handler);\nexport const getPrintHandler = () => _state.printHandler;\n\nexport const setVerboseHandler = (\n handler: (message: string | object) => void\n) => (_state.verboseHandler = handler);\nexport const getVerboseHandler = () => _state.verboseHandler;\nexport const setVerbose = (verbose: boolean) => (_state.verbose = verbose);\nexport const getVerbose = (): boolean => _state.verbose;\n\nexport const setDebugHandler = (handler: (message: string | object) => void) =>\n (_state.debugHandler = handler);\nexport const getDebugHandler = () => _state.debugHandler;\nexport const setDebug = (debug: boolean) => (_state.debug = debug);\nexport const getDebug = (): boolean =>\n _state.debug || process.env.FRODO_DEBUG !== undefined;\n\nexport const setCurlirizeHandler = (handler: (message: string) => void) =>\n (_state.curlirizeHandler = handler);\nexport const getCurlirizeHandler = () => _state.curlirizeHandler;\nexport const setCurlirize = (curlirize: boolean) =>\n (_state.curlirize = curlirize);\nexport const getCurlirize = (): boolean => _state.curlirize;\n\nexport const setCreateProgressHandler = (\n handler: (type: string, total?: number, message?: string) => void\n) => (_state.createProgressHandler = handler);\nexport const getCreateProgressHandler = () => _state.createProgressHandler;\nexport const setUpdateProgressHandler = (handler: (message: string) => void) =>\n (_state.updateProgressHandler = handler);\nexport const getUpdateProgressHandler = () => _state.updateProgressHandler;\nexport const setStopProgressHandler = (\n handler: (message: string, status?: string) => void\n) => (_state.stopProgressHandler = handler);\nexport const getStopProgressHandler = () => _state.stopProgressHandler;\n\n/**\n * @deprecated since version v0.17.0. Import state:\n *\n * ```import { state } from '@rockcarver/frodo-lib';```\n *\n * then call functions:\n *\n * ```const username = state.getUsername();```\n */\nexport default {\n session: {\n setHost,\n getHost,\n\n setTenant,\n getTenant,\n\n setUsername,\n getUsername,\n\n setPassword,\n getPassword,\n\n setRealm,\n getRealm,\n\n setDeploymentType,\n getDeploymentType,\n\n setAllowInsecureConnection,\n getAllowInsecureConnection,\n\n setCookieName,\n getCookieName,\n setCookieValue,\n getCookieValue,\n\n setAuthenticationHeaderOverrides,\n getAuthenticationHeaderOverrides,\n setAuthenticationService,\n getAuthenticationService,\n\n setServiceAccountId,\n getServiceAccountId,\n setServiceAccountJwk,\n getServiceAccountJwk,\n\n setUseBearerTokenForAmApis,\n getUseBearerTokenForAmApis,\n setBearerToken,\n getBearerToken,\n\n setLogApiKey,\n getLogApiKey,\n setLogApiSecret,\n getLogApiSecret,\n\n setAmVersion,\n getAmVersion,\n\n setFrodoVersion,\n getFrodoVersion,\n\n setConnectionProfilesPath,\n getConnectionProfilesPath,\n\n setMasterKeyPath,\n getMasterKeyPath,\n\n setOutputFile,\n getOutputFile,\n\n setDirectory,\n getDirectory,\n\n setPrintHandler,\n getPrintHandler,\n\n setVerboseHandler,\n getVerboseHandler,\n setVerbose,\n getVerbose,\n\n setDebugHandler,\n getDebugHandler,\n setDebug,\n getDebug,\n\n setCurlirizeHandler,\n getCurlirizeHandler,\n setCurlirize,\n getCurlirize,\n\n setCreateProgressHandler,\n getCreateProgressHandler,\n setUpdateProgressHandler,\n getUpdateProgressHandler,\n setStopProgressHandler,\n getStopProgressHandler,\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/shared/State.ts"],"names":[],"mappings":"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","file":"State.d.ts","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { JwkRsa } from '../ops/JoseOps';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nexport interface StateInterface {\n // connection settings\n host?: string;\n username?: string;\n password?: string;\n realm?: string;\n deploymentType?: string;\n allowInsecureConnection?: boolean;\n // customize authentication\n authenticationHeaderOverrides?: Record<string, string>;\n authenticationService?: string;\n // cookie settings\n cookieName?: string;\n cookieValue?: string;\n // service account settings\n serviceAccountId?: string;\n serviceAccountJwk?: JwkRsa;\n // bearer token settings\n useBearerTokenForAmApis?: boolean;\n bearerToken?: string;\n // log api settings\n logApiKey?: string;\n logApiSecret?: string;\n // versions\n amVersion?: string;\n frodoVersion?: string;\n // miscellaneous settings\n connectionProfilesPath?: string;\n masterKeyPath?: string;\n outputFile?: string;\n directory?: string;\n // output handler settings\n printHandler?: (\n message: string | object,\n type?: string,\n newline?: boolean\n ) => void;\n verboseHandler?: (message: string | object) => void;\n verbose?: boolean;\n debugHandler?: (message: string | object) => void;\n debug?: boolean;\n curlirizeHandler?: (message: string) => void;\n curlirize?: boolean;\n createProgressHandler?: (\n type: string,\n total?: number,\n message?: string\n ) => void;\n updateProgressHandler?: (message: string) => void;\n stopProgressHandler?: (message: string, status?: string) => void;\n}\n\nconst _state: StateInterface = {\n authenticationHeaderOverrides: {},\n printHandler: (message: string | object) => {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n },\n verboseHandler: (message: string | object) => {\n if (!message) return;\n if (getVerbose()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n }\n },\n debugHandler: (message: string | object) => {\n if (!message) return;\n if (getDebug()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else {\n console.log(message);\n }\n }\n },\n curlirizeHandler: (message: string) => {\n if (!message) return;\n if (getDebug()) {\n console.log(message);\n }\n },\n};\n\nexport const setHost = (host: string) => (_state.host = host);\nexport const getHost = () => _state.host || process.env.FRODO_HOST;\n\n/**\n * @deprecated since v0.17.0 use `setHost(host: string)` instead\n */\nexport const setTenant = setHost;\n/**\n * @deprecated since v0.17.0 use `getHost` instead\n */\nexport const getTenant = getHost;\n\nexport const setUsername = (username: string) => (_state.username = username);\nexport const getUsername = () => _state.username || process.env.FRODO_USERNAME;\n\nexport const setPassword = (password: string) => (_state.password = password);\nexport const getPassword = () => _state.password || process.env.FRODO_PASSWORD;\n\nexport const setRealm = (realm: string) => (_state.realm = realm);\nexport const getRealm = () => _state.realm || process.env.FRODO_REALM;\n\nexport const setDeploymentType = (type: string) =>\n (_state.deploymentType = type);\nexport const getDeploymentType = () => _state.deploymentType;\n\nexport const setAllowInsecureConnection = (allowInsecureConnection: boolean) =>\n (_state.allowInsecureConnection = allowInsecureConnection);\nexport const getAllowInsecureConnection = () =>\n _state['allowInsecureConnection'];\n\nexport const setCookieName = (name: string) => (_state.cookieName = name);\nexport const getCookieName = () => _state.cookieName;\nexport const setCookieValue = (value: string) => (_state.cookieValue = value);\nexport const getCookieValue = () => _state.cookieValue;\n\nexport const setAuthenticationHeaderOverrides = (\n overrides: Record<string, string>\n) => (_state.authenticationHeaderOverrides = overrides);\nexport const getAuthenticationHeaderOverrides = () =>\n _state.authenticationHeaderOverrides;\nexport const setAuthenticationService = (service: string) =>\n (_state.authenticationService = service);\nexport const getAuthenticationService = () =>\n _state.authenticationService || process.env.FRODO_AUTHENTICATION_SERVICE;\n\nexport const setServiceAccountId = (uuid: string) =>\n (_state.serviceAccountId = uuid);\nexport const getServiceAccountId = (): string =>\n _state.serviceAccountId || process.env.FRODO_SA_ID;\nexport const setServiceAccountJwk = (jwk: JwkRsa) =>\n (_state.serviceAccountJwk = { ...jwk });\nexport const getServiceAccountJwk = (): JwkRsa =>\n _state.serviceAccountJwk ||\n (process.env.FRODO_SA_JWK ? JSON.parse(process.env.FRODO_SA_JWK) : undefined);\n\nexport const setUseBearerTokenForAmApis = (useBearerTokenForAmApis: boolean) =>\n (_state.useBearerTokenForAmApis = useBearerTokenForAmApis);\nexport const getUseBearerTokenForAmApis = () => _state.useBearerTokenForAmApis;\nexport const setBearerToken = (token: string) => (_state.bearerToken = token);\nexport const getBearerToken = () => _state.bearerToken;\n\nexport const setLogApiKey = (key: string) => (_state.logApiKey = key);\nexport const getLogApiKey = () => _state.logApiKey || process.env.FRODO_LOG_KEY;\nexport const setLogApiSecret = (secret: string) =>\n (_state.logApiSecret = secret);\nexport const getLogApiSecret = () =>\n _state.logApiSecret || process.env.FRODO_LOG_SECRET;\n\nexport const setAmVersion = (version: string) => (_state.amVersion = version);\nexport const getAmVersion = () => _state.amVersion;\n\nexport const setFrodoVersion = (version: string) =>\n (_state.frodoVersion = version);\nexport const getFrodoVersion = () =>\n _state.frodoVersion || `v${pkg.version} [${process.version}]`;\n\nexport const setConnectionProfilesPath = (path: string) =>\n (_state.connectionProfilesPath = path);\nexport const getConnectionProfilesPath = () => _state.connectionProfilesPath;\n\nexport const setMasterKeyPath = (path: string) => (_state.masterKeyPath = path);\nexport const getMasterKeyPath = () => _state.masterKeyPath;\n\nexport const setOutputFile = (file: string) => (_state.outputFile = file);\nexport const getOutputFile = () => _state.outputFile;\n\nexport const setDirectory = (directory: string) =>\n (_state.directory = directory);\nexport const getDirectory = () => _state.directory;\n\nexport const setPrintHandler = (\n handler: (message: string | object, type?: string, newline?: boolean) => void\n) => (_state.printHandler = handler);\nexport const getPrintHandler = () => _state.printHandler;\n\nexport const setVerboseHandler = (\n handler: (message: string | object) => void\n) => (_state.verboseHandler = handler);\nexport const getVerboseHandler = () => _state.verboseHandler;\nexport const setVerbose = (verbose: boolean) => (_state.verbose = verbose);\nexport const getVerbose = (): boolean => _state.verbose;\n\nexport const setDebugHandler = (handler: (message: string | object) => void) =>\n (_state.debugHandler = handler);\nexport const getDebugHandler = () => _state.debugHandler;\nexport const setDebug = (debug: boolean) => (_state.debug = debug);\nexport const getDebug = (): boolean =>\n _state.debug || process.env.FRODO_DEBUG !== undefined;\n\nexport const setCurlirizeHandler = (handler: (message: string) => void) =>\n (_state.curlirizeHandler = handler);\nexport const getCurlirizeHandler = () => _state.curlirizeHandler;\nexport const setCurlirize = (curlirize: boolean) =>\n (_state.curlirize = curlirize);\nexport const getCurlirize = (): boolean => _state.curlirize;\n\nexport const setCreateProgressHandler = (\n handler: (type: string, total?: number, message?: string) => void\n) => (_state.createProgressHandler = handler);\nexport const getCreateProgressHandler = () => _state.createProgressHandler;\nexport const setUpdateProgressHandler = (handler: (message: string) => void) =>\n (_state.updateProgressHandler = handler);\nexport const getUpdateProgressHandler = () => _state.updateProgressHandler;\nexport const setStopProgressHandler = (\n handler: (message: string, status?: string) => void\n) => (_state.stopProgressHandler = handler);\nexport const getStopProgressHandler = () => _state.stopProgressHandler;\n\n/**\n * @deprecated since version v0.17.0. Import state:\n *\n * ```import { state } from '@rockcarver/frodo-lib';```\n *\n * then call functions:\n *\n * ```const username = state.getUsername();```\n */\nexport default {\n session: {\n setHost,\n getHost,\n\n setTenant,\n getTenant,\n\n setUsername,\n getUsername,\n\n setPassword,\n getPassword,\n\n setRealm,\n getRealm,\n\n setDeploymentType,\n getDeploymentType,\n\n setAllowInsecureConnection,\n getAllowInsecureConnection,\n\n setCookieName,\n getCookieName,\n setCookieValue,\n getCookieValue,\n\n setAuthenticationHeaderOverrides,\n getAuthenticationHeaderOverrides,\n setAuthenticationService,\n getAuthenticationService,\n\n setServiceAccountId,\n getServiceAccountId,\n setServiceAccountJwk,\n getServiceAccountJwk,\n\n setUseBearerTokenForAmApis,\n getUseBearerTokenForAmApis,\n setBearerToken,\n getBearerToken,\n\n setLogApiKey,\n getLogApiKey,\n setLogApiSecret,\n getLogApiSecret,\n\n setAmVersion,\n getAmVersion,\n\n setFrodoVersion,\n getFrodoVersion,\n\n setConnectionProfilesPath,\n getConnectionProfilesPath,\n\n setMasterKeyPath,\n getMasterKeyPath,\n\n setOutputFile,\n getOutputFile,\n\n setDirectory,\n getDirectory,\n\n setPrintHandler,\n getPrintHandler,\n\n setVerboseHandler,\n getVerboseHandler,\n setVerbose,\n getVerbose,\n\n setDebugHandler,\n getDebugHandler,\n setDebug,\n getDebug,\n\n setCurlirizeHandler,\n getCurlirizeHandler,\n setCurlirize,\n getCurlirize,\n\n setCreateProgressHandler,\n getCreateProgressHandler,\n setUpdateProgressHandler,\n getUpdateProgressHandler,\n setStopProgressHandler,\n getStopProgressHandler,\n },\n};\n"]}
@@ -59,19 +59,9 @@ export declare function getSocialProviders(): any;
59
59
  export declare function mockGetSocialProviders(mock: MockAdapter): void;
60
60
  export declare function mockPutSocialProviderByTypeAndId(mock: MockAdapter, callback: (mockSocialProviderId: string, mockSocialProviderType: string, mockSocialProviderObj: any) => void): void;
61
61
  /**
62
- * Agent mocks and utils
62
+ * Agent test utils
63
63
  */
64
- export declare function getAgentTypes(): any;
65
- export declare function getAgents(): any;
66
64
  export declare function getAgent(agentType: any, agentId: any): any;
67
- export declare function mockGetAgentTypes(mock: MockAdapter): void;
68
- export declare function mockGetAgentsByType(mock: MockAdapter): void;
69
- export declare function mockGetAgents(mock: MockAdapter): void;
70
- export declare function mockFindAgentById(mock: MockAdapter): void;
71
- export declare function mockFindAgentByTypeAndId(mock: MockAdapter): void;
72
- export declare function mockGetAgentByTypeAndId(mock: MockAdapter): void;
73
- export declare function mockPutAgentByTypeAndId(mock: MockAdapter, callback: (mockAgentType: string, mockAgentId: string, mockAgentObj: any) => void): void;
74
- export declare function mockDeleteAgentByTypeAndId(mock: MockAdapter, callback: (mockAgentType: string, mockAgentId: string, mockAgentObj: any) => void): void;
75
65
  /****
76
66
  **
77
67
  ** IDM Mocks and Utils
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/test/mocks/ForgeRockApiMockEngine.ts"],"names":[],"mappings":"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","file":"ForgeRockApiMockEngine.d.ts","sourcesContent":["import MockAdapter from 'axios-mock-adapter';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { encode, decode } from '../../api/utils/Base64';\nimport { parseQueryString, parseUrl } from '../../api/utils/ApiUtils';\nimport slugify from 'slugify';\nimport { getTypedFilename } from '../../ops/utils/ExportImportUtils';\nimport { v4 as uuidv4 } from 'uuid';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function readJsonFile(file: string) {\n const json = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, `${file}`), 'utf8')\n );\n return json;\n}\n\n/****\n **\n ** AM Mocks and Utils\n **\n **/\n\n/**\n * Authentication Mocks\n */\n\nexport function getServerInfo(variation: string = null) {\n const prefix = 'info';\n const infoObject = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./ServerInfoApi/getServerInfo/${\n variation ? prefix + '-' + variation : prefix\n }.json`\n ),\n 'utf8'\n )\n );\n return infoObject;\n}\n\nexport function getServerVersionInfo(variation: string = null) {\n const prefix = 'version';\n const versionObject = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./ServerInfoApi/getServerVersionInfo/${\n variation ? prefix + '-' + variation : prefix\n }.json`\n ),\n 'utf8'\n )\n );\n return versionObject;\n}\n\nexport function mockGetServerInfo(mock: MockAdapter, variation: string = null) {\n mock.onGet(/.*?\\/json\\/serverinfo\\/\\*/).reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const id = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getServerInfo(variation);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(id);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetServerVersionInfo(\n mock: MockAdapter,\n variation: string = null\n) {\n mock.onGet(/.*?\\/json\\/serverinfo\\/version/).reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const id = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getServerVersionInfo(variation);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(id);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getTreeStepResponse(\n treeId: string | undefined,\n authId: string | undefined\n) {\n const key = authId ? authId : 'undefined';\n const treeStepsObj = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AuthenticateApi/step/${treeId ? treeId : 'default'}_steps.json`\n ),\n 'utf8'\n )\n );\n return treeStepsObj[key];\n}\n\nexport function mockStep(mock: MockAdapter) {\n mock\n .onPost(/.*?\\/json\\/realms\\/root\\/authenticate.*/)\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const treeId = parsed.searchParam['authIndexValue'];\n const body = JSON.parse(config.data);\n const authId = body.authId;\n const mockStatus = 200;\n const mockResponse = getTreeStepResponse(treeId, authId);\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockAuthorize(mock: MockAdapter) {\n mock.onPost(/.*?\\/oauth2\\/authorize.*/).reply(function (config) {\n const parsed = parseQueryString(config.data);\n const responseType = parsed['response_type'];\n let mockStatus = 500;\n const mockResponse = undefined;\n const mockHeaders = {};\n if (responseType === 'code') {\n mockStatus = 302;\n const headers = readJsonFile(`./OAuth2OIDCApi/authorize/headers.json`);\n for (const header of headers) {\n mockHeaders[header['key']] = header['value'];\n }\n }\n if (typeof expect !== 'undefined') expect(mockHeaders).toBeTruthy();\n return [mockStatus, mockResponse, mockHeaders];\n });\n}\n\nexport function mockAccessToken(mock: MockAdapter) {\n mock.onPost(/.*?\\/oauth2\\/access_token.*/).reply(function (config) {\n const parsed = parseQueryString(config.data);\n const grantType = parsed['grant_type'];\n const code = parsed['code'];\n let mockStatus = 500;\n let mockResponse = undefined;\n const mockHeaders = {};\n if (grantType === 'authorization_code' && code) {\n mockStatus = 200;\n mockResponse = readJsonFile(`./OAuth2OIDCApi/accessToken/body.json`);\n const headers = readJsonFile(`./OAuth2OIDCApi/accessToken/headers.json`);\n for (const header of Object.entries(headers)) {\n mockHeaders[header['key']] = header['value'];\n }\n }\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse, mockHeaders];\n });\n}\n\n/**\n * Tree Mocks\n */\n\nexport function getTrees() {\n const treeObjects = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './TreeApi/getTrees/trees.json'),\n 'utf8'\n )\n );\n return treeObjects;\n}\n\nexport function mockGetTrees(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getTrees();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getTree(treeId: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./TreeApi/getTree/${treeId}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\nexport function mockGetTree(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const treeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getTree(treeId);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(treeId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutTree(\n mock: MockAdapter,\n callback: (mockTreeId: string, mockTreeObj) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const treeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockTreeObj = JSON.parse(config.data);\n callback(treeId, mockTreeObj);\n return [mockStatus, mockTreeObj];\n });\n}\n\n/**\n * Node Mocks\n */\n\nexport function mockGetNode(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/nodes\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const nodeType = elements[elements?.length - 2];\n const nodeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./NodeApi/getNode/${nodeType}/${nodeId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(nodeId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutNode(\n mock: MockAdapter,\n callback: (mockNodeId: string, mockNodeObj) => void\n) {\n mock\n .onPut(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/nodes\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const nodeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockNodeObj = JSON.parse(config.data);\n callback(nodeId, mockNodeObj);\n return [mockStatus, mockNodeObj];\n });\n}\n\n/**\n * Script Mocks\n */\n\nexport function getScript(scriptId: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./ScriptApi/getScript/${scriptId}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\nexport function mockGetScript(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/scripts\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const scriptId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getScript(scriptId);\n if (typeof expect !== 'undefined')\n expect(mockResponse._id).toBe(scriptId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutScript(\n mock: MockAdapter,\n callback: (mockScriptId: string, mockScriptObj) => void\n) {\n mock\n .onPut(/.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/scripts\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const scriptId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockScriptObj = JSON.parse(config.data);\n callback(scriptId, mockScriptObj);\n return [mockStatus, mockScriptObj];\n });\n}\n\nexport function getScriptByName(scriptName: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./ScriptApi/getScriptByName/${scriptName}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\n/**\n * SAML Mocks\n */\nexport function getSaml2ProviderImportData(entityId: string) {\n const importData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Ops/importSaml2Provider/${getTypedFilename(\n entityId,\n 'saml',\n 'json'\n )}`\n ),\n 'utf8'\n )\n );\n return importData;\n}\n\nexport function getSaml2ProvidersImportData() {\n const importData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Ops/importSaml2Providers/allAlphaProviders.saml.json`\n ),\n 'utf8'\n )\n );\n return importData;\n}\n\nexport function getSaml2Providers() {\n const providers = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './Saml2Api/getProviders/providers.json'),\n 'utf8'\n )\n );\n return providers;\n}\n\nexport function mockGetSaml2Providers(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getSaml2Providers();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockFindSaml2Providers(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\?_queryFilter=.+?&_fields=.+/\n )\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const filter = parsed.searchParam['_queryFilter'];\n const entityId = filter.match(/entityId eq '(.+?)'/)[1];\n const mockStatus = 200;\n let mockResponse = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'EXACT',\n totalPagedResults: 1,\n remainingPagedResults: -1,\n };\n try {\n mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/findSaml2Providers/${slugify(entityId)}_stub.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse.result[0].entityId).toBe(entityId);\n } catch (error) {\n // ignore errors\n }\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getCirclesOfTrust() {\n const treeObjects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './CirclesOfTrustApi/getCirclesOfTrust/cots.json'\n ),\n 'utf8'\n )\n );\n return treeObjects;\n}\n\nexport function mockGetCirclesOfTrust(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getCirclesOfTrust();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateCircleOfTrust(\n mock: MockAdapter,\n callback: (mockCotId: string, mockCotObj) => void\n) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\/\\?_action=create/\n )\n .reply(function (config) {\n const mockCotObj = JSON.parse(config.data);\n const cotId = mockCotObj._id;\n const mockStatus = 200;\n callback(cotId, mockCotObj);\n return [mockStatus, mockCotObj];\n });\n}\n\nexport function mockUpdateCircleOfTrust(\n mock: MockAdapter,\n callback: (mockCotId: string, mockCotObj) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const cotId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockCotObj = JSON.parse(config.data);\n callback(cotId, mockCotObj);\n return [mockStatus, mockCotObj];\n });\n}\n\nexport function mockGetSaml2ProviderByLocationAndId(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/.+?\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const location = elements[elements?.length - 2];\n const providerId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/getProviderByLocationAndId/${location}/${providerId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse._id).toBe(providerId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateSaml2Provider(\n mock: MockAdapter,\n callback: (\n mockSaml2ProviderId64: string,\n mockSaml2ProviderLocation: string,\n mockSaml2ProviderObj\n ) => void\n) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/(hosted|remote)\\/\\?_action=(create|importEntity)/\n )\n .reply(function (config) {\n const elements = config.url\n ? parseUrl(config.url).pathname.split('/')\n : [];\n const mockSaml2ProviderLocation = elements[elements?.length - 2];\n const mockSaml2ProviderObj = JSON.parse(config.data);\n let mockSaml2ProviderId64 = '';\n if (mockSaml2ProviderObj._id) {\n mockSaml2ProviderId64 = mockSaml2ProviderObj._id;\n } else {\n const metaDataXml = decode(mockSaml2ProviderObj.standardMetadata);\n mockSaml2ProviderId64 = encode(\n metaDataXml.match(/entityID=\"(.+?)\"/)[1],\n false\n );\n }\n const mockStatus = 200;\n callback(\n mockSaml2ProviderId64,\n mockSaml2ProviderLocation,\n mockSaml2ProviderObj\n );\n return [mockStatus, mockSaml2ProviderObj];\n });\n}\n\nexport function mockUpdateSaml2Provider(\n mock: MockAdapter,\n callback: (\n mockSaml2ProviderId64: string,\n mockSaml2ProviderLocation: string,\n mockSaml2ProviderObj\n ) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/(hosted|remote)\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const mockSaml2ProviderLocation = elements[elements?.length - 2];\n const mockSaml2ProviderId64 = elements[elements?.length - 1];\n const mockSaml2ProviderObj = JSON.parse(config.data);\n const mockStatus = 200;\n callback(\n mockSaml2ProviderId64,\n mockSaml2ProviderLocation,\n mockSaml2ProviderObj\n );\n return [mockStatus, mockSaml2ProviderObj];\n });\n}\n\nexport function mockGetSaml2ProviderMetadata(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/saml2\\/jsp\\/exportmetadata.jsp\\?entityid=.+?&realm=.+/)\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const realm = parsed.searchParam['realm'];\n const entityId = parsed.searchParam['entityid'];\n const mockStatus = 200;\n const mockResponse = fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/getProviderMetadata/${realm}/${encodeURIComponent(\n entityId\n )}.xml`\n ),\n 'utf8'\n );\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\n/**\n * Social Identity Provider Mocks\n */\n\nexport function getSocialProviders() {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './SocialIdentityProvidersApi/getSocialIdentityProviders/socialIdentityProviders.json'\n ),\n 'utf8'\n )\n );\n return objects;\n}\n\nexport function mockGetSocialProviders(mock: MockAdapter) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/services\\/SocialIdentityProviders\\?_action=nextdescendents/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getSocialProviders();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutSocialProviderByTypeAndId(\n mock: MockAdapter,\n callback: (\n mockSocialProviderId: string,\n mockSocialProviderType: string,\n mockSocialProviderObj\n ) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/services\\/SocialIdentityProviders\\/.+?\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const mockSocialProviderType = elements[elements?.length - 2];\n const mockSocialProviderId = elements[elements?.length - 1];\n const mockSocialProviderObj = JSON.parse(config.data);\n const mockStatus = 200;\n callback(\n mockSocialProviderId,\n mockSocialProviderType,\n mockSocialProviderObj\n );\n return [mockStatus, mockSocialProviderObj];\n });\n}\n\n/**\n * Agent mocks and utils\n */\n\nexport function getAgentTypes() {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './AgentApi/getAgentTypes/agentTypes.json'),\n 'utf8'\n )\n );\n return objects;\n}\n\nexport function getAgents() {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './AgentApi/getAgents/agents.json'),\n 'utf8'\n )\n );\n return objects;\n}\n\nexport function getAgent(agentType, agentId) {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/getAgentByTypeAndId/${agentType}/${agentId}.json`\n ),\n 'utf8'\n )\n );\n return objects;\n}\n\nexport function mockGetAgentTypes(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\?_action=getAllTypes/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getAgentTypes();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetAgentsByType(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\/.+?\\?_queryFilter=true/\n )\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const elements = parsed.pathname ? parsed.pathname.split('/') : [];\n const agentType = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/getAgentsByType/${agentType}s.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetAgents(mock: MockAdapter) {\n mock\n .onPost(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\?_action=nextdescendents/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getAgents();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockFindAgentById(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\?_queryFilter=_id\\+eq\\+'.+?'/\n )\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const filter = parsed.searchParam['_queryFilter'];\n const agentId = filter.match(/_id\\+eq\\+'(.+?)'/)[1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./AgentApi/findAgentById/${agentId}.json`),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse.result[0]._id).toBe(agentId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockFindAgentByTypeAndId(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\/.+?\\?_queryFilter=_id\\+eq\\+'.+?'/\n )\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const elements = parsed.pathname ? parsed.pathname.split('/') : [];\n const agentType = elements[elements?.length - 1];\n const filter = parsed.searchParam['_queryFilter'];\n const agentId = filter.match(/_id\\+eq\\+'(.+?)'/)[1];\n const mockStatus = 200;\n let mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/findAgentByTypeAndId/not_found.json`\n ),\n 'utf8'\n )\n );\n try {\n mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/findAgentByTypeAndId/${agentType}/${agentId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse.result[0]._id).toBe(agentId);\n } catch (error) {\n // ignore errors\n }\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetAgentByTypeAndId(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\/[a-zA-Z0-9/_-]+$/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const agentType = elements[elements?.length - 2];\n const agentId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/getAgentByTypeAndId/${agentType}/${agentId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(agentId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutAgentByTypeAndId(\n mock: MockAdapter,\n callback: (mockAgentType: string, mockAgentId: string, mockAgentObj) => void\n) {\n mock\n .onPut(/\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const agentType = elements[elements?.length - 2];\n const agentId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockAgentObj = JSON.parse(config.data);\n callback(agentType, agentId, mockAgentObj);\n return [mockStatus, mockAgentObj];\n });\n}\n\nexport function mockDeleteAgentByTypeAndId(\n mock: MockAdapter,\n callback: (mockAgentType: string, mockAgentId: string, mockAgentObj) => void\n) {\n mock\n .onDelete(/\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/agents\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const agentType = elements[elements?.length - 2];\n const agentId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockAgentObj = getAgent(agentType, agentId);\n callback(agentType, agentId, mockAgentObj);\n return [mockStatus, mockAgentObj];\n });\n}\n\n/****\n **\n ** IDM Mocks and Utils\n **\n **/\n\nexport function mockGetAllConfigEntities(mock: MockAdapter) {\n mock.onGet(/.*?\\/openidm\\/config$/).reply(function () {\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getAllConfigEntities/entities.json`\n ),\n 'utf8'\n )\n );\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetConfigEntity(\n mock: MockAdapter,\n variation: string = null\n) {\n mock.onGet(/.*?\\/openidm\\/config\\/.+/).reply(function (config) {\n const entityId = config.url\n ? config.url.substring(config.url.indexOf('/config/') + 8)\n : '';\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getConfigEntity/${\n variation ? entityId + '-' + variation : entityId\n }.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(entityId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutConfigEntity(\n mock: MockAdapter,\n callback: (mockEntityId: string, mockEntityObj) => void\n) {\n mock.onPut(/.*?\\/openidm\\/config\\/.+/).reply(function (config) {\n const entityId = config.url\n ? config.url.substring(config.url.indexOf('/config/') + 8)\n : '';\n const mockStatus = 200;\n const mockResponse = JSON.parse(config.data);\n callback(entityId, mockResponse);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetConfigEntitiesByType(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/openidm\\/config\\?_queryFilter=_id%20sw%20'.+?'/)\n .reply(function (config) {\n console.log('config.url=' + config.url);\n const entityType = config.url\n ? config.url.match(\n /.*?\\/openidm\\/config\\?_queryFilter=_id%20sw%20'(.+?)'/\n )[1]\n : '';\n const mockStatus = 200;\n console.log('entityType=' + entityType);\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getConfigEntitiesByType/${entityType}.json`\n ),\n 'utf8'\n )\n );\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateManagedObject(\n mock: MockAdapter,\n callback: (mockManagedObjId: string, mockManagedObj) => void\n) {\n mock\n .onPost(/.*?\\/openidm\\/managed\\/.+?\\?_action=create/)\n .reply(function (config) {\n const mockStatus = 201;\n const mockResponse = JSON.parse(config.data);\n const moId = uuidv4();\n mockResponse._id = moId;\n callback(moId, mockResponse);\n return [mockStatus, mockResponse];\n });\n}\n\n/****\n **\n ** Mock Helpers & Utils\n **\n **/\n\nexport function mockAll(mock: MockAdapter) {\n mockGetServerInfo(mock);\n mockGetServerVersionInfo(mock);\n mockStep(mock);\n mockAuthorize(mock);\n mockAccessToken(mock);\n mockGetTrees(mock);\n}\n"]}
1
+ {"version":3,"sources":["../src/test/mocks/ForgeRockApiMockEngine.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAY7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,OAKxC;AAED;;;;IAII;AAEJ;;GAEG;AAEH,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAa,OAcrD;AAED,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,MAAa,OAc5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,GAAE,MAAa,QAS5E;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,SAAS,GAAE,MAAa,QAUzB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,OAa3B;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,QAazC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,QAiB9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,QAmBhD;AAED;;GAEG;AAEH,wBAAgB,QAAQ,QAQvB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,QAW7C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,OAQrC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,QAa5C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,KAAA,KAAK,IAAI,QAcpD;AAED;;GAEG;AAEH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,QAsB5C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,KAAA,KAAK,IAAI,QAcpD;AAED;;GAEG;AAEH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,OAQzC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,QAY9C;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,KAAA,KAAK,IAAI,QAYxD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,OAQjD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,OAe1D;AAED,wBAAgB,2BAA2B,QAW1C;AAED,wBAAgB,iBAAiB,QAQhC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,QAWtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,QAoCvD;AAED,wBAAgB,iBAAiB,QAWhC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,QAWtD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,KAAA,KAAK,IAAI,QAalD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,KAAA,KAAK,IAAI,QAclD;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,WAAW,QAuBpE;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CACR,qBAAqB,EAAE,MAAM,EAC7B,yBAAyB,EAAE,MAAM,EACjC,oBAAoB,KAAA,KACjB,IAAI,QA8BV;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CACR,qBAAqB,EAAE,MAAM,EAC7B,yBAAyB,EAAE,MAAM,EACjC,oBAAoB,KAAA,KACjB,IAAI,QAmBV;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,WAAW,QAoB7D;AAED;;GAEG;AAEH,wBAAgB,kBAAkB,QAWjC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,QAWvD;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CACR,oBAAoB,EAAE,MAAM,EAC5B,sBAAsB,EAAE,MAAM,EAC9B,qBAAqB,KAAA,KAClB,IAAI,QAmBV;AAED;;GAEG;AAEH,wBAAgB,QAAQ,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,OAW1C;AAED;;;;IAII;AAEJ,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,QAczD;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,SAAS,GAAE,MAAa,QAqBzB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,KAAA,KAAK,IAAI,QAWxD;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,QAuB5D;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,KAAA,KAAK,IAAI,QAY7D;AAED;;;;IAII;AAEJ,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,QAOxC","file":"ForgeRockApiMockEngine.d.ts","sourcesContent":["import MockAdapter from 'axios-mock-adapter';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { encode, decode } from '../../api/utils/Base64';\nimport { parseQueryString, parseUrl } from '../../api/utils/ApiUtils';\nimport slugify from 'slugify';\nimport { getTypedFilename } from '../../ops/utils/ExportImportUtils';\nimport { v4 as uuidv4 } from 'uuid';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function readJsonFile(file: string) {\n const json = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, `${file}`), 'utf8')\n );\n return json;\n}\n\n/****\n **\n ** AM Mocks and Utils\n **\n **/\n\n/**\n * Authentication Mocks\n */\n\nexport function getServerInfo(variation: string = null) {\n const prefix = 'info';\n const infoObject = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./ServerInfoApi/getServerInfo/${\n variation ? prefix + '-' + variation : prefix\n }.json`\n ),\n 'utf8'\n )\n );\n return infoObject;\n}\n\nexport function getServerVersionInfo(variation: string = null) {\n const prefix = 'version';\n const versionObject = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./ServerInfoApi/getServerVersionInfo/${\n variation ? prefix + '-' + variation : prefix\n }.json`\n ),\n 'utf8'\n )\n );\n return versionObject;\n}\n\nexport function mockGetServerInfo(mock: MockAdapter, variation: string = null) {\n mock.onGet(/.*?\\/json\\/serverinfo\\/\\*/).reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const id = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getServerInfo(variation);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(id);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetServerVersionInfo(\n mock: MockAdapter,\n variation: string = null\n) {\n mock.onGet(/.*?\\/json\\/serverinfo\\/version/).reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const id = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getServerVersionInfo(variation);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(id);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getTreeStepResponse(\n treeId: string | undefined,\n authId: string | undefined\n) {\n const key = authId ? authId : 'undefined';\n const treeStepsObj = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AuthenticateApi/step/${treeId ? treeId : 'default'}_steps.json`\n ),\n 'utf8'\n )\n );\n return treeStepsObj[key];\n}\n\nexport function mockStep(mock: MockAdapter) {\n mock\n .onPost(/.*?\\/json\\/realms\\/root\\/authenticate.*/)\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const treeId = parsed.searchParam['authIndexValue'];\n const body = JSON.parse(config.data);\n const authId = body.authId;\n const mockStatus = 200;\n const mockResponse = getTreeStepResponse(treeId, authId);\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockAuthorize(mock: MockAdapter) {\n mock.onPost(/.*?\\/oauth2\\/authorize.*/).reply(function (config) {\n const parsed = parseQueryString(config.data);\n const responseType = parsed['response_type'];\n let mockStatus = 500;\n const mockResponse = undefined;\n const mockHeaders = {};\n if (responseType === 'code') {\n mockStatus = 302;\n const headers = readJsonFile(`./OAuth2OIDCApi/authorize/headers.json`);\n for (const header of headers) {\n mockHeaders[header['key']] = header['value'];\n }\n }\n if (typeof expect !== 'undefined') expect(mockHeaders).toBeTruthy();\n return [mockStatus, mockResponse, mockHeaders];\n });\n}\n\nexport function mockAccessToken(mock: MockAdapter) {\n mock.onPost(/.*?\\/oauth2\\/access_token.*/).reply(function (config) {\n const parsed = parseQueryString(config.data);\n const grantType = parsed['grant_type'];\n const code = parsed['code'];\n let mockStatus = 500;\n let mockResponse = undefined;\n const mockHeaders = {};\n if (grantType === 'authorization_code' && code) {\n mockStatus = 200;\n mockResponse = readJsonFile(`./OAuth2OIDCApi/accessToken/body.json`);\n const headers = readJsonFile(`./OAuth2OIDCApi/accessToken/headers.json`);\n for (const header of Object.entries(headers)) {\n mockHeaders[header['key']] = header['value'];\n }\n }\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse, mockHeaders];\n });\n}\n\n/**\n * Tree Mocks\n */\n\nexport function getTrees() {\n const treeObjects = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './TreeApi/getTrees/trees.json'),\n 'utf8'\n )\n );\n return treeObjects;\n}\n\nexport function mockGetTrees(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getTrees();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getTree(treeId: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./TreeApi/getTree/${treeId}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\nexport function mockGetTree(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const treeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getTree(treeId);\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(treeId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutTree(\n mock: MockAdapter,\n callback: (mockTreeId: string, mockTreeObj) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/trees\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const treeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockTreeObj = JSON.parse(config.data);\n callback(treeId, mockTreeObj);\n return [mockStatus, mockTreeObj];\n });\n}\n\n/**\n * Node Mocks\n */\n\nexport function mockGetNode(mock: MockAdapter) {\n mock\n .onGet(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/nodes\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const nodeType = elements[elements?.length - 2];\n const nodeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./NodeApi/getNode/${nodeType}/${nodeId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(nodeId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutNode(\n mock: MockAdapter,\n callback: (mockNodeId: string, mockNodeObj) => void\n) {\n mock\n .onPut(\n /\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/authentication\\/authenticationtrees\\/nodes\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const nodeId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockNodeObj = JSON.parse(config.data);\n callback(nodeId, mockNodeObj);\n return [mockStatus, mockNodeObj];\n });\n}\n\n/**\n * Script Mocks\n */\n\nexport function getScript(scriptId: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./ScriptApi/getScript/${scriptId}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\nexport function mockGetScript(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/scripts\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const scriptId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = getScript(scriptId);\n if (typeof expect !== 'undefined')\n expect(mockResponse._id).toBe(scriptId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutScript(\n mock: MockAdapter,\n callback: (mockScriptId: string, mockScriptObj) => void\n) {\n mock\n .onPut(/.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/scripts\\/.+/)\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const scriptId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockScriptObj = JSON.parse(config.data);\n callback(scriptId, mockScriptObj);\n return [mockStatus, mockScriptObj];\n });\n}\n\nexport function getScriptByName(scriptName: string) {\n const treeObject = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, `./ScriptApi/getScriptByName/${scriptName}.json`),\n 'utf8'\n )\n );\n return treeObject;\n}\n\n/**\n * SAML Mocks\n */\nexport function getSaml2ProviderImportData(entityId: string) {\n const importData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Ops/importSaml2Provider/${getTypedFilename(\n entityId,\n 'saml',\n 'json'\n )}`\n ),\n 'utf8'\n )\n );\n return importData;\n}\n\nexport function getSaml2ProvidersImportData() {\n const importData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Ops/importSaml2Providers/allAlphaProviders.saml.json`\n ),\n 'utf8'\n )\n );\n return importData;\n}\n\nexport function getSaml2Providers() {\n const providers = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './Saml2Api/getProviders/providers.json'),\n 'utf8'\n )\n );\n return providers;\n}\n\nexport function mockGetSaml2Providers(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getSaml2Providers();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockFindSaml2Providers(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\?_queryFilter=.+?&_fields=.+/\n )\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const filter = parsed.searchParam['_queryFilter'];\n const entityId = filter.match(/entityId eq '(.+?)'/)[1];\n const mockStatus = 200;\n let mockResponse = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'EXACT',\n totalPagedResults: 1,\n remainingPagedResults: -1,\n };\n try {\n mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/findSaml2Providers/${slugify(entityId)}_stub.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse.result[0].entityId).toBe(entityId);\n } catch (error) {\n // ignore errors\n }\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function getCirclesOfTrust() {\n const treeObjects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './CirclesOfTrustApi/getCirclesOfTrust/cots.json'\n ),\n 'utf8'\n )\n );\n return treeObjects;\n}\n\nexport function mockGetCirclesOfTrust(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\?_queryFilter=true/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getCirclesOfTrust();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateCircleOfTrust(\n mock: MockAdapter,\n callback: (mockCotId: string, mockCotObj) => void\n) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\/\\?_action=create/\n )\n .reply(function (config) {\n const mockCotObj = JSON.parse(config.data);\n const cotId = mockCotObj._id;\n const mockStatus = 200;\n callback(cotId, mockCotObj);\n return [mockStatus, mockCotObj];\n });\n}\n\nexport function mockUpdateCircleOfTrust(\n mock: MockAdapter,\n callback: (mockCotId: string, mockCotObj) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/federation\\/circlesoftrust\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const cotId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockCotObj = JSON.parse(config.data);\n callback(cotId, mockCotObj);\n return [mockStatus, mockCotObj];\n });\n}\n\nexport function mockGetSaml2ProviderByLocationAndId(mock: MockAdapter) {\n mock\n .onGet(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/.+?\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const location = elements[elements?.length - 2];\n const providerId = elements[elements?.length - 1];\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/getProviderByLocationAndId/${location}/${providerId}.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined')\n expect(mockResponse._id).toBe(providerId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateSaml2Provider(\n mock: MockAdapter,\n callback: (\n mockSaml2ProviderId64: string,\n mockSaml2ProviderLocation: string,\n mockSaml2ProviderObj\n ) => void\n) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/(hosted|remote)\\/\\?_action=(create|importEntity)/\n )\n .reply(function (config) {\n const elements = config.url\n ? parseUrl(config.url).pathname.split('/')\n : [];\n const mockSaml2ProviderLocation = elements[elements?.length - 2];\n const mockSaml2ProviderObj = JSON.parse(config.data);\n let mockSaml2ProviderId64 = '';\n if (mockSaml2ProviderObj._id) {\n mockSaml2ProviderId64 = mockSaml2ProviderObj._id;\n } else {\n const metaDataXml = decode(mockSaml2ProviderObj.standardMetadata);\n mockSaml2ProviderId64 = encode(\n metaDataXml.match(/entityID=\"(.+?)\"/)[1],\n false\n );\n }\n const mockStatus = 200;\n callback(\n mockSaml2ProviderId64,\n mockSaml2ProviderLocation,\n mockSaml2ProviderObj\n );\n return [mockStatus, mockSaml2ProviderObj];\n });\n}\n\nexport function mockUpdateSaml2Provider(\n mock: MockAdapter,\n callback: (\n mockSaml2ProviderId64: string,\n mockSaml2ProviderLocation: string,\n mockSaml2ProviderObj\n ) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/saml2\\/(hosted|remote)\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const mockSaml2ProviderLocation = elements[elements?.length - 2];\n const mockSaml2ProviderId64 = elements[elements?.length - 1];\n const mockSaml2ProviderObj = JSON.parse(config.data);\n const mockStatus = 200;\n callback(\n mockSaml2ProviderId64,\n mockSaml2ProviderLocation,\n mockSaml2ProviderObj\n );\n return [mockStatus, mockSaml2ProviderObj];\n });\n}\n\nexport function mockGetSaml2ProviderMetadata(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/saml2\\/jsp\\/exportmetadata.jsp\\?entityid=.+?&realm=.+/)\n .reply(function (config) {\n const parsed = parseUrl(config.url);\n const realm = parsed.searchParam['realm'];\n const entityId = parsed.searchParam['entityid'];\n const mockStatus = 200;\n const mockResponse = fs.readFileSync(\n path.resolve(\n __dirname,\n `./Saml2Api/getProviderMetadata/${realm}/${encodeURIComponent(\n entityId\n )}.xml`\n ),\n 'utf8'\n );\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\n/**\n * Social Identity Provider Mocks\n */\n\nexport function getSocialProviders() {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './SocialIdentityProvidersApi/getSocialIdentityProviders/socialIdentityProviders.json'\n ),\n 'utf8'\n )\n );\n return objects;\n}\n\nexport function mockGetSocialProviders(mock: MockAdapter) {\n mock\n .onPost(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/services\\/SocialIdentityProviders\\?_action=nextdescendents/\n )\n .reply(function () {\n const mockStatus = 200;\n const mockResponse = getSocialProviders();\n if (typeof expect !== 'undefined') expect(mockResponse).toBeTruthy();\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutSocialProviderByTypeAndId(\n mock: MockAdapter,\n callback: (\n mockSocialProviderId: string,\n mockSocialProviderType: string,\n mockSocialProviderObj\n ) => void\n) {\n mock\n .onPut(\n /.*?\\/json\\/realms\\/root\\/realms\\/alpha\\/realm-config\\/services\\/SocialIdentityProviders\\/.+?\\/.+/\n )\n .reply(function (config) {\n const elements = config.url ? config.url.split('/') : [];\n const mockSocialProviderType = elements[elements?.length - 2];\n const mockSocialProviderId = elements[elements?.length - 1];\n const mockSocialProviderObj = JSON.parse(config.data);\n const mockStatus = 200;\n callback(\n mockSocialProviderId,\n mockSocialProviderType,\n mockSocialProviderObj\n );\n return [mockStatus, mockSocialProviderObj];\n });\n}\n\n/**\n * Agent test utils\n */\n\nexport function getAgent(agentType, agentId) {\n const objects = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./AgentApi/getAgentByTypeAndId/${agentType}/${agentId}.json`\n ),\n 'utf8'\n )\n );\n return objects;\n}\n\n/****\n **\n ** IDM Mocks and Utils\n **\n **/\n\nexport function mockGetAllConfigEntities(mock: MockAdapter) {\n mock.onGet(/.*?\\/openidm\\/config$/).reply(function () {\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getAllConfigEntities/entities.json`\n ),\n 'utf8'\n )\n );\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetConfigEntity(\n mock: MockAdapter,\n variation: string = null\n) {\n mock.onGet(/.*?\\/openidm\\/config\\/.+/).reply(function (config) {\n const entityId = config.url\n ? config.url.substring(config.url.indexOf('/config/') + 8)\n : '';\n const mockStatus = 200;\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getConfigEntity/${\n variation ? entityId + '-' + variation : entityId\n }.json`\n ),\n 'utf8'\n )\n );\n if (typeof expect !== 'undefined') expect(mockResponse._id).toBe(entityId);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockPutConfigEntity(\n mock: MockAdapter,\n callback: (mockEntityId: string, mockEntityObj) => void\n) {\n mock.onPut(/.*?\\/openidm\\/config\\/.+/).reply(function (config) {\n const entityId = config.url\n ? config.url.substring(config.url.indexOf('/config/') + 8)\n : '';\n const mockStatus = 200;\n const mockResponse = JSON.parse(config.data);\n callback(entityId, mockResponse);\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockGetConfigEntitiesByType(mock: MockAdapter) {\n mock\n .onGet(/.*?\\/openidm\\/config\\?_queryFilter=_id%20sw%20'.+?'/)\n .reply(function (config) {\n console.log('config.url=' + config.url);\n const entityType = config.url\n ? config.url.match(\n /.*?\\/openidm\\/config\\?_queryFilter=_id%20sw%20'(.+?)'/\n )[1]\n : '';\n const mockStatus = 200;\n console.log('entityType=' + entityType);\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n `./IdmConfigApi/getConfigEntitiesByType/${entityType}.json`\n ),\n 'utf8'\n )\n );\n return [mockStatus, mockResponse];\n });\n}\n\nexport function mockCreateManagedObject(\n mock: MockAdapter,\n callback: (mockManagedObjId: string, mockManagedObj) => void\n) {\n mock\n .onPost(/.*?\\/openidm\\/managed\\/.+?\\?_action=create/)\n .reply(function (config) {\n const mockStatus = 201;\n const mockResponse = JSON.parse(config.data);\n const moId = uuidv4();\n mockResponse._id = moId;\n callback(moId, mockResponse);\n return [mockStatus, mockResponse];\n });\n}\n\n/****\n **\n ** Mock Helpers & Utils\n **\n **/\n\nexport function mockAll(mock: MockAdapter) {\n mockGetServerInfo(mock);\n mockGetServerVersionInfo(mock);\n mockStep(mock);\n mockAuthorize(mock);\n mockAccessToken(mock);\n mockGetTrees(mock);\n}\n"]}
@@ -1,22 +0,0 @@
1
- {
2
- "_id": "ajays_client",
3
- "_rev": "1284103029",
4
- "userpassword": null,
5
- "igTokenIntrospection": {
6
- "inherited": false,
7
- "value": "Realm_Subs"
8
- },
9
- "status": {
10
- "inherited": false,
11
- "value": "Active"
12
- },
13
- "igCdssoRedirectUrls": {
14
- "inherited": false,
15
- "value": []
16
- },
17
- "_type": {
18
- "_id": "IdentityGatewayAgent",
19
- "name": "Identity Gateway Agents",
20
- "collection": true
21
- }
22
- }
@@ -1,22 +0,0 @@
1
- {
2
- "_id": "ajays_client",
3
- "_rev": "1284103029",
4
- "userpassword": null,
5
- "igTokenIntrospection": {
6
- "inherited": false,
7
- "value": "Realm_Subs"
8
- },
9
- "status": {
10
- "inherited": false,
11
- "value": "Active"
12
- },
13
- "igCdssoRedirectUrls": {
14
- "inherited": false,
15
- "value": []
16
- },
17
- "_type": {
18
- "_id": "IdentityGatewayAgent",
19
- "name": "Identity Gateway Agents",
20
- "collection": true
21
- }
22
- }