@rockcarver/frodo-lib 0.16.2-9 → 0.17.0
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 +217 -1
- package/cjs/api/AgentApi.js +14 -61
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js +0 -5
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +9 -20
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -0
- package/cjs/api/BaseApi.js +82 -124
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +8 -32
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +9 -34
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/LogApi.js +8 -31
- package/cjs/api/LogApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +34 -31
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +10 -41
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +7 -26
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +28 -34
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
- package/cjs/api/OAuth2ProviderApi.js +5 -15
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/RealmApi.js +8 -34
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/Saml2Api.js +16 -67
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +8 -30
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/SecretsApi.js +14 -64
- package/cjs/api/SecretsApi.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +6 -21
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +49 -47
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +9 -36
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/StartupApi.js +5 -24
- package/cjs/api/StartupApi.js.map +1 -1
- package/cjs/api/StartupApi.test.js.map +1 -1
- package/cjs/api/TreeApi.js +8 -30
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.js +9 -37
- package/cjs/api/VariablesApi.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +47 -57
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/api/utils/Base64.js +5 -15
- package/cjs/api/utils/Base64.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +2 -9
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
- package/cjs/index.js +30 -89
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AdminOps.js +27 -165
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +2 -159
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +265 -226
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +13 -91
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +220 -136
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +35 -379
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +52 -426
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +11 -94
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/JoseOps.js +81 -0
- package/cjs/ops/JoseOps.js.map +1 -0
- package/cjs/ops/JoseOps.test.js.map +1 -0
- package/cjs/ops/JourneyOps.js +139 -370
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/LogOps.js +14 -47
- package/cjs/ops/LogOps.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +4 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +9 -67
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +10 -40
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js +0 -5
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +6 -25
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/RealmOps.js +0 -19
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +11 -107
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +26 -73
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/SecretsOps.js +2 -58
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.js +61 -0
- package/cjs/ops/ServiceAccountOps.js.map +1 -0
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
- package/cjs/ops/ServiceOps.js +55 -101
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/StartupOps.js +2 -23
- package/cjs/ops/StartupOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +230 -436
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -0
- package/cjs/ops/VariablesOps.js +0 -38
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +29 -62
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +13 -47
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +36 -74
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +27 -43
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js +0 -13
- package/cjs/ops/utils/ValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/Version.js +2 -12
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.js +1 -2
- package/cjs/ops/utils/Wordwrap.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
- package/cjs/shared/State.js +239 -0
- package/cjs/shared/State.js.map +1 -0
- package/cjs/shared/State.test.js.map +1 -0
- package/cjs/storage/StaticStorage.js.map +1 -1
- package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +161 -83
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/cjs/utils/AutoSetupPolly.js +79 -0
- package/cjs/utils/AutoSetupPolly.js.map +1 -0
- package/cjs/utils/SetupJest.js +6 -0
- package/cjs/utils/SetupJest.js.map +1 -0
- package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
- package/cjs/utils/snapshotResolve.js.map +1 -0
- package/esm/api/AgentApi.mjs +19 -21
- package/esm/api/AgentApi.test.mjs +6 -15
- package/esm/api/ApiTypes.mjs +0 -5
- package/esm/api/AuthenticateApi.mjs +7 -10
- package/esm/api/AuthenticateApi.test.mjs +39 -0
- package/esm/api/BaseApi.mjs +96 -81
- package/esm/api/CirclesOfTrustApi.mjs +9 -12
- package/esm/api/IdmConfigApi.mjs +11 -12
- package/esm/api/LogApi.mjs +6 -10
- package/esm/api/ManagedObjectApi.mjs +23 -8
- package/esm/api/NodeApi.mjs +13 -15
- package/esm/api/NodeApi.test.mjs +13 -17
- package/esm/api/OAuth2ClientApi.mjs +7 -9
- package/esm/api/OAuth2OIDCApi.mjs +15 -9
- package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
- package/esm/api/OAuth2ProviderApi.mjs +3 -5
- package/esm/api/RealmApi.mjs +10 -13
- package/esm/api/Saml2Api.mjs +25 -29
- package/esm/api/ScriptApi.mjs +9 -11
- package/esm/api/SecretsApi.mjs +21 -24
- package/esm/api/SecretsApi.test.mjs +9 -31
- package/esm/api/ServerInfoApi.mjs +5 -9
- package/esm/api/ServiceApi.mjs +53 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
- package/esm/api/StartupApi.mjs +5 -10
- package/esm/api/StartupApi.test.mjs +4 -7
- package/esm/api/TreeApi.mjs +9 -11
- package/esm/api/TreeApi.test.mjs +24 -61
- package/esm/api/VariablesApi.mjs +11 -13
- package/esm/api/VariablesApi.test.mjs +80 -222
- package/esm/api/utils/ApiUtils.mjs +45 -48
- package/esm/api/utils/ApiUtils.test.mjs +33 -32
- package/esm/api/utils/Base64.mjs +5 -9
- package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
- package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
- package/esm/index.mjs +23 -13
- package/esm/ops/AdminOps.mjs +33 -119
- package/esm/ops/AgentOps.mjs +37 -80
- package/esm/ops/AgentOps.test.mjs +5 -45
- package/esm/ops/AuthenticateOps.mjs +241 -175
- package/esm/ops/AuthenticateOps.test.mjs +7 -9
- package/esm/ops/CirclesOfTrustOps.mjs +24 -61
- package/esm/ops/ConnectionProfileOps.mjs +192 -82
- package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
- package/esm/ops/EmailTemplateOps.mjs +18 -276
- package/esm/ops/EmailTemplateOps.test.mjs +19 -44
- package/esm/ops/IdmOps.mjs +30 -327
- package/esm/ops/IdmOps.test.mjs +47 -54
- package/esm/ops/IdpOps.mjs +21 -59
- package/esm/ops/IdpOps.test.mjs +5 -5
- package/esm/ops/JoseOps.mjs +41 -0
- package/esm/ops/JoseOps.test.mjs +137 -0
- package/esm/ops/JourneyOps.mjs +146 -289
- package/esm/ops/JourneyOps.test.mjs +29 -27
- package/esm/ops/LogOps.mjs +15 -25
- package/esm/ops/ManagedObjectOps.mjs +6 -6
- package/esm/ops/NodeOps.mjs +9 -47
- package/esm/ops/OAuth2ClientOps.mjs +13 -19
- package/esm/ops/OpsTypes.mjs +1 -3
- package/esm/ops/OrganizationOps.mjs +7 -14
- package/esm/ops/RealmOps.mjs +4 -7
- package/esm/ops/Saml2Ops.mjs +28 -62
- package/esm/ops/Saml2Ops.test.mjs +20 -23
- package/esm/ops/ScriptOps.mjs +29 -47
- package/esm/ops/SecretsOps.mjs +15 -31
- package/esm/ops/ServiceAccountOps.mjs +41 -0
- package/esm/ops/ServiceAccountOps.test.mjs +51 -0
- package/esm/ops/ServiceOps.mjs +66 -83
- package/esm/ops/StartupOps.mjs +4 -13
- package/esm/ops/ThemeOps.mjs +189 -298
- package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
- package/esm/ops/VariablesOps.mjs +9 -18
- package/esm/ops/utils/Console.mjs +28 -46
- package/esm/ops/utils/DataProtection.mjs +15 -28
- package/esm/ops/utils/DataProtection.test.mjs +8 -8
- package/esm/ops/utils/ExportImportUtils.mjs +34 -43
- package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
- package/esm/ops/utils/OpsUtils.mjs +27 -21
- package/esm/ops/utils/OpsUtils.test.mjs +155 -27
- package/esm/ops/utils/ValidationUtils.mjs +0 -9
- package/esm/ops/utils/Version.mjs +2 -3
- package/esm/ops/utils/Version.test.mjs +0 -2
- package/esm/ops/utils/Wordwrap.mjs +1 -1
- package/esm/ops/utils/Wordwrap.test.mjs +19 -0
- package/esm/shared/State.mjs +164 -0
- package/esm/shared/State.test.mjs +249 -0
- package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/esm/test/mocks/ForgeRockApiMockEngine.mjs +147 -31
- package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/esm/utils/AutoSetupPolly.mjs +72 -0
- package/esm/utils/SetupJest.mjs +3 -0
- package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
- package/package.json +36 -26
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +15 -16
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +1 -1
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +2 -0
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/LogApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +9 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +4 -2
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/SecretsApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +14 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/StartupApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +1 -0
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +11 -5
- package/types/index.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +10 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +49 -21
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +14 -33
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +29 -37
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +33 -0
- package/types/ops/JoseOps.d.ts.map +1 -0
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/LogOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +1 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceAccountOps.d.ts +20 -0
- package/types/ops/ServiceAccountOps.d.ts.map +1 -0
- package/types/ops/ServiceOps.d.ts +18 -10
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +35 -50
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +5 -2
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +6 -0
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/Wordwrap.d.ts.map +1 -1
- package/types/shared/State.d.ts +223 -0
- package/types/shared/State.d.ts.map +1 -0
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +19 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +1 -0
- package/types/utils/AutoSetupPolly.d.ts.map +1 -0
- package/types/utils/SetupJest.d.ts +1 -0
- package/types/utils/SetupJest.d.ts.map +1 -0
- package/types/utils/snapshotResolve.d.ts +1 -0
- package/types/utils/snapshotResolve.d.ts.map +1 -0
- package/cjs/api/EmailTemplateApi.js +0 -73
- package/cjs/api/EmailTemplateApi.js.map +0 -1
- package/cjs/api/ThemeApi.js +0 -367
- package/cjs/api/ThemeApi.js.map +0 -1
- package/cjs/api/ThemeApi.test.js.map +0 -1
- package/cjs/storage/SessionStorage.js +0 -91
- package/cjs/storage/SessionStorage.js.map +0 -1
- package/cjs/test/mocks/snapshotResolve.js.map +0 -1
- package/esm/api/EmailTemplateApi.mjs +0 -34
- package/esm/api/ThemeApi.mjs +0 -271
- package/esm/storage/SessionStorage.mjs +0 -79
- package/types/api/EmailTemplateApi.d.ts +0 -22
- package/types/api/EmailTemplateApi.d.ts.map +0 -1
- package/types/api/ThemeApi.d.ts +0 -56
- package/types/api/ThemeApi.d.ts.map +0 -1
- package/types/storage/SessionStorage.d.ts +0 -71
- package/types/storage/SessionStorage.d.ts.map +0 -1
- package/types/test/mocks/snapshotResolve.d.ts +0 -1
- package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { JwkRsa } from '../ops/JoseOps';
|
|
2
|
+
export interface StateInterface {
|
|
3
|
+
host?: string;
|
|
4
|
+
username?: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
realm?: string;
|
|
7
|
+
deploymentType?: string;
|
|
8
|
+
allowInsecureConnection?: boolean;
|
|
9
|
+
authenticationHeaderOverrides?: Record<string, string>;
|
|
10
|
+
authenticationService?: string;
|
|
11
|
+
cookieName?: string;
|
|
12
|
+
cookieValue?: string;
|
|
13
|
+
serviceAccountId?: string;
|
|
14
|
+
serviceAccountJwk?: JwkRsa;
|
|
15
|
+
useBearerTokenForAmApis?: boolean;
|
|
16
|
+
bearerToken?: string;
|
|
17
|
+
logApiKey?: string;
|
|
18
|
+
logApiSecret?: string;
|
|
19
|
+
amVersion?: string;
|
|
20
|
+
frodoVersion?: string;
|
|
21
|
+
connectionProfilesPath?: string;
|
|
22
|
+
masterKeyPath?: string;
|
|
23
|
+
outputFile?: string;
|
|
24
|
+
directory?: string;
|
|
25
|
+
printHandler?: (message: string | object, type?: string, newline?: boolean) => void;
|
|
26
|
+
verboseHandler?: (message: string | object) => void;
|
|
27
|
+
verbose?: boolean;
|
|
28
|
+
debugHandler?: (message: string | object) => void;
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
curlirizeHandler?: (message: string) => void;
|
|
31
|
+
curlirize?: boolean;
|
|
32
|
+
createProgressHandler?: (type: string, total?: number, message?: string) => void;
|
|
33
|
+
updateProgressHandler?: (message: string) => void;
|
|
34
|
+
stopProgressHandler?: (message: string, status?: string) => void;
|
|
35
|
+
}
|
|
36
|
+
export declare const setHost: (host: string) => string;
|
|
37
|
+
export declare const getHost: () => string;
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated since v0.17.0 use `setHost(host: string)` instead
|
|
40
|
+
*/
|
|
41
|
+
export declare const setTenant: (host: string) => string;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated since v0.17.0 use `getHost` instead
|
|
44
|
+
*/
|
|
45
|
+
export declare const getTenant: () => string;
|
|
46
|
+
export declare const setUsername: (username: string) => string;
|
|
47
|
+
export declare const getUsername: () => string;
|
|
48
|
+
export declare const setPassword: (password: string) => string;
|
|
49
|
+
export declare const getPassword: () => string;
|
|
50
|
+
export declare const setRealm: (realm: string) => string;
|
|
51
|
+
export declare const getRealm: () => string;
|
|
52
|
+
export declare const setDeploymentType: (type: string) => string;
|
|
53
|
+
export declare const getDeploymentType: () => string;
|
|
54
|
+
export declare const setAllowInsecureConnection: (allowInsecureConnection: boolean) => boolean;
|
|
55
|
+
export declare const getAllowInsecureConnection: () => boolean;
|
|
56
|
+
export declare const setCookieName: (name: string) => string;
|
|
57
|
+
export declare const getCookieName: () => string;
|
|
58
|
+
export declare const setCookieValue: (value: string) => string;
|
|
59
|
+
export declare const getCookieValue: () => string;
|
|
60
|
+
export declare const setAuthenticationHeaderOverrides: (overrides: Record<string, string>) => Record<string, string>;
|
|
61
|
+
export declare const getAuthenticationHeaderOverrides: () => Record<string, string>;
|
|
62
|
+
export declare const setAuthenticationService: (service: string) => string;
|
|
63
|
+
export declare const getAuthenticationService: () => string;
|
|
64
|
+
export declare const setServiceAccountId: (uuid: string) => string;
|
|
65
|
+
export declare const getServiceAccountId: () => string;
|
|
66
|
+
export declare const setServiceAccountJwk: (jwk: JwkRsa) => {
|
|
67
|
+
kty: string;
|
|
68
|
+
use?: string;
|
|
69
|
+
key_ops?: string[];
|
|
70
|
+
alg: string;
|
|
71
|
+
kid?: string;
|
|
72
|
+
x5u?: string;
|
|
73
|
+
x5c?: string;
|
|
74
|
+
x5t?: string;
|
|
75
|
+
'x5t#S256'?: string;
|
|
76
|
+
d: string;
|
|
77
|
+
dp: string;
|
|
78
|
+
dq: string;
|
|
79
|
+
e: string;
|
|
80
|
+
n: string;
|
|
81
|
+
p: string;
|
|
82
|
+
q: string;
|
|
83
|
+
qi: string;
|
|
84
|
+
};
|
|
85
|
+
export declare const getServiceAccountJwk: () => JwkRsa;
|
|
86
|
+
export declare const setUseBearerTokenForAmApis: (useBearerTokenForAmApis: boolean) => boolean;
|
|
87
|
+
export declare const getUseBearerTokenForAmApis: () => boolean;
|
|
88
|
+
export declare const setBearerToken: (token: string) => string;
|
|
89
|
+
export declare const getBearerToken: () => string;
|
|
90
|
+
export declare const setLogApiKey: (key: string) => string;
|
|
91
|
+
export declare const getLogApiKey: () => string;
|
|
92
|
+
export declare const setLogApiSecret: (secret: string) => string;
|
|
93
|
+
export declare const getLogApiSecret: () => string;
|
|
94
|
+
export declare const setAmVersion: (version: string) => string;
|
|
95
|
+
export declare const getAmVersion: () => string;
|
|
96
|
+
export declare const setFrodoVersion: (version: string) => string;
|
|
97
|
+
export declare const getFrodoVersion: () => string;
|
|
98
|
+
export declare const setConnectionProfilesPath: (path: string) => string;
|
|
99
|
+
export declare const getConnectionProfilesPath: () => string;
|
|
100
|
+
export declare const setMasterKeyPath: (path: string) => string;
|
|
101
|
+
export declare const getMasterKeyPath: () => string;
|
|
102
|
+
export declare const setOutputFile: (file: string) => string;
|
|
103
|
+
export declare const getOutputFile: () => string;
|
|
104
|
+
export declare const setDirectory: (directory: string) => string;
|
|
105
|
+
export declare const getDirectory: () => string;
|
|
106
|
+
export declare const setPrintHandler: (handler: (message: string | object, type?: string, newline?: boolean) => void) => (message: string | object, type?: string, newline?: boolean) => void;
|
|
107
|
+
export declare const getPrintHandler: () => (message: string | object, type?: string, newline?: boolean) => void;
|
|
108
|
+
export declare const setVerboseHandler: (handler: (message: string | object) => void) => (message: string | object) => void;
|
|
109
|
+
export declare const getVerboseHandler: () => (message: string | object) => void;
|
|
110
|
+
export declare const setVerbose: (verbose: boolean) => boolean;
|
|
111
|
+
export declare const getVerbose: () => boolean;
|
|
112
|
+
export declare const setDebugHandler: (handler: (message: string | object) => void) => (message: string | object) => void;
|
|
113
|
+
export declare const getDebugHandler: () => (message: string | object) => void;
|
|
114
|
+
export declare const setDebug: (debug: boolean) => boolean;
|
|
115
|
+
export declare const getDebug: () => boolean;
|
|
116
|
+
export declare const setCurlirizeHandler: (handler: (message: string) => void) => (message: string) => void;
|
|
117
|
+
export declare const getCurlirizeHandler: () => (message: string) => void;
|
|
118
|
+
export declare const setCurlirize: (curlirize: boolean) => boolean;
|
|
119
|
+
export declare const getCurlirize: () => boolean;
|
|
120
|
+
export declare const setCreateProgressHandler: (handler: (type: string, total?: number, message?: string) => void) => (type: string, total?: number, message?: string) => void;
|
|
121
|
+
export declare const getCreateProgressHandler: () => (type: string, total?: number, message?: string) => void;
|
|
122
|
+
export declare const setUpdateProgressHandler: (handler: (message: string) => void) => (message: string) => void;
|
|
123
|
+
export declare const getUpdateProgressHandler: () => (message: string) => void;
|
|
124
|
+
export declare const setStopProgressHandler: (handler: (message: string, status?: string) => void) => (message: string, status?: string) => void;
|
|
125
|
+
export declare const getStopProgressHandler: () => (message: string, status?: string) => void;
|
|
126
|
+
/**
|
|
127
|
+
* @deprecated since version v0.17.0. Import state:
|
|
128
|
+
*
|
|
129
|
+
* ```import { state } from '@rockcarver/frodo-lib';```
|
|
130
|
+
*
|
|
131
|
+
* then call functions:
|
|
132
|
+
*
|
|
133
|
+
* ```const username = state.getUsername();```
|
|
134
|
+
*/
|
|
135
|
+
declare const _default: {
|
|
136
|
+
session: {
|
|
137
|
+
setHost: (host: string) => string;
|
|
138
|
+
getHost: () => string;
|
|
139
|
+
setTenant: (host: string) => string;
|
|
140
|
+
getTenant: () => string;
|
|
141
|
+
setUsername: (username: string) => string;
|
|
142
|
+
getUsername: () => string;
|
|
143
|
+
setPassword: (password: string) => string;
|
|
144
|
+
getPassword: () => string;
|
|
145
|
+
setRealm: (realm: string) => string;
|
|
146
|
+
getRealm: () => string;
|
|
147
|
+
setDeploymentType: (type: string) => string;
|
|
148
|
+
getDeploymentType: () => string;
|
|
149
|
+
setAllowInsecureConnection: (allowInsecureConnection: boolean) => boolean;
|
|
150
|
+
getAllowInsecureConnection: () => boolean;
|
|
151
|
+
setCookieName: (name: string) => string;
|
|
152
|
+
getCookieName: () => string;
|
|
153
|
+
setCookieValue: (value: string) => string;
|
|
154
|
+
getCookieValue: () => string;
|
|
155
|
+
setAuthenticationHeaderOverrides: (overrides: Record<string, string>) => Record<string, string>;
|
|
156
|
+
getAuthenticationHeaderOverrides: () => Record<string, string>;
|
|
157
|
+
setAuthenticationService: (service: string) => string;
|
|
158
|
+
getAuthenticationService: () => string;
|
|
159
|
+
setServiceAccountId: (uuid: string) => string;
|
|
160
|
+
getServiceAccountId: () => string;
|
|
161
|
+
setServiceAccountJwk: (jwk: JwkRsa) => {
|
|
162
|
+
kty: string;
|
|
163
|
+
use?: string;
|
|
164
|
+
key_ops?: string[];
|
|
165
|
+
alg: string;
|
|
166
|
+
kid?: string;
|
|
167
|
+
x5u?: string;
|
|
168
|
+
x5c?: string;
|
|
169
|
+
x5t?: string;
|
|
170
|
+
'x5t#S256'?: string;
|
|
171
|
+
d: string;
|
|
172
|
+
dp: string;
|
|
173
|
+
dq: string;
|
|
174
|
+
e: string;
|
|
175
|
+
n: string;
|
|
176
|
+
p: string;
|
|
177
|
+
q: string;
|
|
178
|
+
qi: string;
|
|
179
|
+
};
|
|
180
|
+
getServiceAccountJwk: () => JwkRsa;
|
|
181
|
+
setUseBearerTokenForAmApis: (useBearerTokenForAmApis: boolean) => boolean;
|
|
182
|
+
getUseBearerTokenForAmApis: () => boolean;
|
|
183
|
+
setBearerToken: (token: string) => string;
|
|
184
|
+
getBearerToken: () => string;
|
|
185
|
+
setLogApiKey: (key: string) => string;
|
|
186
|
+
getLogApiKey: () => string;
|
|
187
|
+
setLogApiSecret: (secret: string) => string;
|
|
188
|
+
getLogApiSecret: () => string;
|
|
189
|
+
setAmVersion: (version: string) => string;
|
|
190
|
+
getAmVersion: () => string;
|
|
191
|
+
setFrodoVersion: (version: string) => string;
|
|
192
|
+
getFrodoVersion: () => string;
|
|
193
|
+
setConnectionProfilesPath: (path: string) => string;
|
|
194
|
+
getConnectionProfilesPath: () => string;
|
|
195
|
+
setMasterKeyPath: (path: string) => string;
|
|
196
|
+
getMasterKeyPath: () => string;
|
|
197
|
+
setOutputFile: (file: string) => string;
|
|
198
|
+
getOutputFile: () => string;
|
|
199
|
+
setDirectory: (directory: string) => string;
|
|
200
|
+
getDirectory: () => string;
|
|
201
|
+
setPrintHandler: (handler: (message: string | object, type?: string, newline?: boolean) => void) => (message: string | object, type?: string, newline?: boolean) => void;
|
|
202
|
+
getPrintHandler: () => (message: string | object, type?: string, newline?: boolean) => void;
|
|
203
|
+
setVerboseHandler: (handler: (message: string | object) => void) => (message: string | object) => void;
|
|
204
|
+
getVerboseHandler: () => (message: string | object) => void;
|
|
205
|
+
setVerbose: (verbose: boolean) => boolean;
|
|
206
|
+
getVerbose: () => boolean;
|
|
207
|
+
setDebugHandler: (handler: (message: string | object) => void) => (message: string | object) => void;
|
|
208
|
+
getDebugHandler: () => (message: string | object) => void;
|
|
209
|
+
setDebug: (debug: boolean) => boolean;
|
|
210
|
+
getDebug: () => boolean;
|
|
211
|
+
setCurlirizeHandler: (handler: (message: string) => void) => (message: string) => void;
|
|
212
|
+
getCurlirizeHandler: () => (message: string) => void;
|
|
213
|
+
setCurlirize: (curlirize: boolean) => boolean;
|
|
214
|
+
getCurlirize: () => boolean;
|
|
215
|
+
setCreateProgressHandler: (handler: (type: string, total?: number, message?: string) => void) => (type: string, total?: number, message?: string) => void;
|
|
216
|
+
getCreateProgressHandler: () => (type: string, total?: number, message?: string) => void;
|
|
217
|
+
setUpdateProgressHandler: (handler: (message: string) => void) => (message: string) => void;
|
|
218
|
+
getUpdateProgressHandler: () => (message: string) => void;
|
|
219
|
+
setStopProgressHandler: (handler: (message: string, status?: string) => void) => (message: string, status?: string) => void;
|
|
220
|
+
getStopProgressHandler: () => (message: string, status?: string) => void;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
export default _default;
|
|
@@ -0,0 +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};\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"]}
|
|
@@ -5,6 +5,17 @@ export declare function readJsonFile(file: string): any;
|
|
|
5
5
|
** AM Mocks and Utils
|
|
6
6
|
**
|
|
7
7
|
**/
|
|
8
|
+
/**
|
|
9
|
+
* Authentication Mocks
|
|
10
|
+
*/
|
|
11
|
+
export declare function getServerInfo(variation?: string): any;
|
|
12
|
+
export declare function getServerVersionInfo(variation?: string): any;
|
|
13
|
+
export declare function mockGetServerInfo(mock: MockAdapter, variation?: string): void;
|
|
14
|
+
export declare function mockGetServerVersionInfo(mock: MockAdapter, variation?: string): void;
|
|
15
|
+
export declare function getTreeStepResponse(treeId: string | undefined, authId: string | undefined): any;
|
|
16
|
+
export declare function mockStep(mock: MockAdapter): void;
|
|
17
|
+
export declare function mockAuthorize(mock: MockAdapter): void;
|
|
18
|
+
export declare function mockAccessToken(mock: MockAdapter): void;
|
|
8
19
|
/**
|
|
9
20
|
* Tree Mocks
|
|
10
21
|
*/
|
|
@@ -66,7 +77,14 @@ export declare function mockDeleteAgentByTypeAndId(mock: MockAdapter, callback:
|
|
|
66
77
|
** IDM Mocks and Utils
|
|
67
78
|
**
|
|
68
79
|
**/
|
|
69
|
-
export declare function
|
|
80
|
+
export declare function mockGetAllConfigEntities(mock: MockAdapter): void;
|
|
70
81
|
export declare function mockGetConfigEntity(mock: MockAdapter, variation?: string): void;
|
|
71
82
|
export declare function mockPutConfigEntity(mock: MockAdapter, callback: (mockEntityId: string, mockEntityObj: any) => void): void;
|
|
72
83
|
export declare function mockGetConfigEntitiesByType(mock: MockAdapter): void;
|
|
84
|
+
export declare function mockCreateManagedObject(mock: MockAdapter, callback: (mockManagedObjId: string, mockManagedObj: any) => void): void;
|
|
85
|
+
/****
|
|
86
|
+
**
|
|
87
|
+
** Mock Helpers & Utils
|
|
88
|
+
**
|
|
89
|
+
**/
|
|
90
|
+
export declare function mockAll(mock: MockAdapter): void;
|
|
@@ -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 { parseUrl } from '../../api/utils/ApiUtils';\nimport slugify from 'slugify';\nimport { getTypedFilename } from '../../ops/utils/ExportImportUtils';\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 * 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 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 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 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 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 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 expect(mockResponse.result[0].entityId).toBe(entityId);\n } catch (error) {\n // ignore errors\n }\n 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 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 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 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 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 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 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 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 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 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 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 mockListAllConfigEntities(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 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"]}
|
|
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,aAAa,QAQ5B;AAED,wBAAgB,SAAS,QAQxB;AAED,wBAAgB,QAAQ,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,OAW1C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,QAWlD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,QAsBpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,QAW9C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,QAoBlD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,QAsCzD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,QAsBxD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,IAAI,QAa7E;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,IAAI,QAa7E;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 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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function autoSetupPolly(): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/AutoSetupPolly.ts"],"names":[],"mappings":"AA6CA,MAAM,CAAC,OAAO,UAAU,cAAc,QA+BrC","file":"AutoSetupPolly.d.ts","sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\nimport pollyJest from 'setup-polly-jest';\nimport { Polly } from '@pollyjs/core';\nimport { MODES } from '@pollyjs/utils';\nimport NodeHttpAdapter from '@pollyjs/adapter-node-http';\nimport FSPersister from '@pollyjs/persister-fs';\nimport { getTokens } from '../ops/AuthenticateOps';\nimport { state } from '../index';\n\nconst { setupPolly } = pollyJest;\nPolly.register(NodeHttpAdapter);\nPolly.register(FSPersister);\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nstate.setHost('https://openam-frodo-dev.forgeblocks.com/am');\nstate.setRealm('alpha');\n\nlet recordIfMissing = true;\nlet mode = MODES.REPLAY;\n\n// resolve \"/home/sandeepc/work/ForgeRock/sources/frodo-lib/esm/api\" to\n// \"/home/sandeepc/work/ForgeRock/sources/frodo-lib/src/test/recordings\"\nconst recordingsDir = __dirname.replace(\n /^(.*\\/frodo-\\w{3})(.*)$/gi,\n '$1/src/test/mock-recordings'\n);\n\nswitch (process.env.FRODO_POLLY_MODE) {\n case 'record':\n mode = MODES.RECORD;\n await getTokens();\n break;\n case 'replay':\n mode = MODES.REPLAY;\n state.default.session.setCookieName('cookieName');\n state.default.session.setCookieValue('cookieValue');\n break;\n case 'offline':\n mode = MODES.REPLAY;\n recordIfMissing = false;\n break;\n}\n\nexport default function autoSetupPolly() {\n return setupPolly({\n adapters: ['node-http'],\n mode,\n recordIfMissing,\n flushRequestsOnStop: true,\n logLevel: 'warn',\n recordFailedRequests: true,\n persister: 'fs',\n persisterOptions: {\n fs: {\n recordingsDir,\n },\n },\n matchRequestsBy: {\n method: true,\n headers: false, // do not match headers, because \"Authorization\" header is sent only at recording time\n body: true,\n order: false,\n url: {\n protocol: true,\n username: false,\n password: false,\n hostname: true,\n port: false,\n pathname: true,\n query: true,\n hash: true,\n },\n },\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/SetupJest.ts"],"names":[],"mappings":"","file":"SetupJest.d.ts","sourcesContent":["import console from 'console';\nglobal.console = console;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/snapshotResolve.ts"],"names":[],"mappings":"","file":"snapshotResolve.d.ts","sourcesContent":["module.exports = {\n resolveSnapshotPath: (testPath, snapshotExtension) => {\n // console.log(`testPath in = ${testPath}`);\n let snapshotFilePath = '';\n if (testPath.indexOf('cjs') !== -1) {\n snapshotFilePath = testPath\n .replace('cjs', 'src')\n .concat(snapshotExtension);\n } else {\n snapshotFilePath = testPath\n .replace('esm', 'src')\n .concat(snapshotExtension);\n }\n snapshotFilePath = snapshotFilePath.replace(\n /(.*\\/src)\\/(.*)\\/(.*)\\.snap/g,\n '$1/test/snapshots/$2/$3.snap'\n );\n // console.log(`snapshotFilePath out = ${snapshotFilePath}`);\n return snapshotFilePath;\n },\n\n // resolves from snapshot to test path\n resolveTestPath: (snapshotFilePath, snapshotExtension) => {\n // console.log(`snapshotFilePath in = ${snapshotFilePath}`);\n let testFilePath = snapshotFilePath.replace('/test/snapshots/', '/');\n if (snapshotFilePath.indexOf('mjs') !== -1) {\n testFilePath = testFilePath.replace('src', 'esm');\n } else {\n testFilePath = testFilePath.replace('src', 'cjs');\n }\n testFilePath = testFilePath.substring(\n 0,\n testFilePath.indexOf(snapshotExtension)\n );\n // console.log(`testFilePath out = ${testFilePath}`);\n return testFilePath;\n },\n\n // Example test path, used for preflight consistency check of the implementation above\n testPathForConsistencyCheck:\n '/home/sandeepc/work/ForgeRock/sources/frodo-lib/cjs/ops/IdmOps.test.js',\n};\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EMAIL_TEMPLATE_TYPE = void 0;
|
|
7
|
-
exports.getEmailTemplate = getEmailTemplate;
|
|
8
|
-
exports.getEmailTemplates = getEmailTemplates;
|
|
9
|
-
exports.putEmailTemplate = putEmailTemplate;
|
|
10
|
-
|
|
11
|
-
var _IdmConfigApi = require("./IdmConfigApi");
|
|
12
|
-
|
|
13
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
14
|
-
|
|
15
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Email template type key used to build the IDM id: 'emailTemplate/<id>'
|
|
19
|
-
*/
|
|
20
|
-
var EMAIL_TEMPLATE_TYPE = 'emailTemplate';
|
|
21
|
-
/**
|
|
22
|
-
* Get all email templates
|
|
23
|
-
* @returns {Promise} a promise that resolves to an array of email template objects
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
exports.EMAIL_TEMPLATE_TYPE = EMAIL_TEMPLATE_TYPE;
|
|
27
|
-
|
|
28
|
-
function getEmailTemplates() {
|
|
29
|
-
return _getEmailTemplates.apply(this, arguments);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Get email template
|
|
33
|
-
* @param {string} templateId id/name of the email template without the type prefix
|
|
34
|
-
* @returns {Promise} a promise that resolves an email template object
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
function _getEmailTemplates() {
|
|
39
|
-
_getEmailTemplates = _asyncToGenerator(function* () {
|
|
40
|
-
return (0, _IdmConfigApi.getConfigEntitiesByType)(EMAIL_TEMPLATE_TYPE);
|
|
41
|
-
});
|
|
42
|
-
return _getEmailTemplates.apply(this, arguments);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function getEmailTemplate(_x) {
|
|
46
|
-
return _getEmailTemplate.apply(this, arguments);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Put email template
|
|
50
|
-
* @param {string} templateId id/name of the email template without the type prefix
|
|
51
|
-
* @param {Object} templateData email template object
|
|
52
|
-
* @returns {Promise} a promise that resolves to an email template object
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
function _getEmailTemplate() {
|
|
57
|
-
_getEmailTemplate = _asyncToGenerator(function* (templateId) {
|
|
58
|
-
return (0, _IdmConfigApi.getConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(templateId));
|
|
59
|
-
});
|
|
60
|
-
return _getEmailTemplate.apply(this, arguments);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function putEmailTemplate(_x2, _x3) {
|
|
64
|
-
return _putEmailTemplate.apply(this, arguments);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function _putEmailTemplate() {
|
|
68
|
-
_putEmailTemplate = _asyncToGenerator(function* (templateId, templateData) {
|
|
69
|
-
return (0, _IdmConfigApi.putConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(templateId), templateData);
|
|
70
|
-
});
|
|
71
|
-
return _putEmailTemplate.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=EmailTemplateApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTemplateApi.js","names":["EMAIL_TEMPLATE_TYPE","getEmailTemplates","getConfigEntitiesByType","getEmailTemplate","templateId","getConfigEntity","putEmailTemplate","templateData","putConfigEntity"],"sources":["api/EmailTemplateApi.ts"],"sourcesContent":["import {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from './IdmConfigApi';\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\nexport async function getEmailTemplates() {\n return getConfigEntitiesByType(EMAIL_TEMPLATE_TYPE);\n}\n\n/**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\nexport async function getEmailTemplate(templateId) {\n return getConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`);\n}\n\n/**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\nexport async function putEmailTemplate(templateId, templateData) {\n return putConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`, templateData);\n}\n"],"mappings":";;;;;;;;;;AAAA;;;;;;AAMA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAG,eAA5B;AAEP;AACA;AACA;AACA;;;;SACsBC,iB;;;AAItB;AACA;AACA;AACA;AACA;;;;yCARO,aAAmC;IACxC,OAAO,IAAAC,qCAAA,EAAwBF,mBAAxB,CAAP;EACD,C;;;;SAOqBG,gB;;;AAItB;AACA;AACA;AACA;AACA;AACA;;;;wCATO,WAAgCC,UAAhC,EAA4C;IACjD,OAAO,IAAAC,6BAAA,YAAmBL,mBAAnB,cAA0CI,UAA1C,EAAP;EACD,C;;;;SAQqBE,gB;;;;;wCAAf,WAAgCF,UAAhC,EAA4CG,YAA5C,EAA0D;IAC/D,OAAO,IAAAC,6BAAA,YAAmBR,mBAAnB,cAA0CI,UAA1C,GAAwDG,YAAxD,CAAP;EACD,C"}
|