@rockcarver/frodo-lib 1.1.0 → 1.1.1
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/build.zip +0 -0
- package/cjs/api/AgentApi.js +4 -4
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js +3 -3
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +3 -3
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js +2 -2
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +4 -4
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +3 -3
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +3 -3
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +3 -3
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +3 -3
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +3 -3
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js +2 -2
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +3 -3
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +4 -4
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js +4 -4
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +3 -3
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +3 -3
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js +4 -4
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +4 -4
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js +3 -3
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +3 -3
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +3 -3
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js +2 -2
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +3 -3
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +3 -3
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +2 -2
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +3 -3
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +3 -3
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +3 -3
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js +2 -2
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/AdminFederationProvidersApi.js +3 -3
- package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +3 -3
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +3 -3
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +3 -3
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +4 -4
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js +2 -2
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +3 -3
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +4 -4
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js +2 -2
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +1 -1
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js +2 -2
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
- package/cjs/index.js +49 -49
- package/cjs/ops/AdminOps.js +8 -8
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +3 -3
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js +3 -3
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +12 -12
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js +2 -2
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +3 -3
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +8 -8
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js +2 -2
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +1 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js +2 -2
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +2 -2
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js +2 -2
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +6 -6
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js +2 -2
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +6 -6
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js +4 -4
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +17 -17
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js +4 -4
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +1 -1
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +7 -7
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +6 -6
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js +3 -3
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js +1 -1
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +3 -3
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +8 -8
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js +6 -6
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +6 -6
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js +4 -4
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +2 -2
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +6 -6
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js +2 -2
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +7 -7
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js +6 -6
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +5 -5
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js +2 -2
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +2 -2
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +3 -3
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js +3 -3
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/AdminFederationOps.js +4 -4
- package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +2 -2
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +1 -1
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +4 -4
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +3 -3
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js +3 -3
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +4 -4
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +5 -5
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +1 -1
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +3 -3
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +4 -4
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +3 -3
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js +3 -3
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js +2 -2
- package/cjs/ops/utils/ValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/Version.js +1 -1
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.test.js +1 -1
- package/cjs/ops/utils/Wordwrap.test.js.map +1 -1
- package/cjs/shared/State.test.js +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +2 -2
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +2 -2
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.js +4 -4
- package/esm/api/AgentApi.js.map +1 -1
- package/esm/api/AgentApi.test.js +3 -3
- package/esm/api/AgentApi.test.js.map +1 -1
- package/esm/api/AuthenticateApi.js +3 -3
- package/esm/api/AuthenticateApi.js.map +1 -1
- package/esm/api/AuthenticateApi.test.js +2 -4
- package/esm/api/AuthenticateApi.test.js.map +1 -1
- package/esm/api/BaseApi.js +4 -4
- package/esm/api/BaseApi.js.map +1 -1
- package/esm/api/CirclesOfTrustApi.js +3 -3
- package/esm/api/CirclesOfTrustApi.js.map +1 -1
- package/esm/api/IdmConfigApi.js +3 -3
- package/esm/api/IdmConfigApi.js.map +1 -1
- package/esm/api/IdmSystemApi.js +3 -3
- package/esm/api/IdmSystemApi.js.map +1 -1
- package/esm/api/ManagedObjectApi.js +3 -3
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/api/NodeApi.js +3 -3
- package/esm/api/NodeApi.js.map +1 -1
- package/esm/api/NodeApi.test.js +2 -2
- package/esm/api/NodeApi.test.js.map +1 -1
- package/esm/api/OAuth2ClientApi.js +3 -3
- package/esm/api/OAuth2ClientApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.js +4 -4
- package/esm/api/OAuth2OIDCApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.test.js +4 -4
- package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
- package/esm/api/OAuth2ProviderApi.js +3 -3
- package/esm/api/OAuth2ProviderApi.js.map +1 -1
- package/esm/api/PoliciesApi.js +3 -3
- package/esm/api/PoliciesApi.js.map +1 -1
- package/esm/api/PoliciesApi.test.js +4 -4
- package/esm/api/PoliciesApi.test.js.map +1 -1
- package/esm/api/PolicySetApi.js +4 -4
- package/esm/api/PolicySetApi.js.map +1 -1
- package/esm/api/PolicySetApi.test.js +3 -3
- package/esm/api/PolicySetApi.test.js.map +1 -1
- package/esm/api/RealmApi.js +3 -3
- package/esm/api/RealmApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.js +3 -3
- package/esm/api/ResourceTypesApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.test.js +2 -2
- package/esm/api/ResourceTypesApi.test.js.map +1 -1
- package/esm/api/Saml2Api.js +3 -3
- package/esm/api/Saml2Api.js.map +1 -1
- package/esm/api/ScriptApi.js +3 -3
- package/esm/api/ScriptApi.js.map +1 -1
- package/esm/api/ServerInfoApi.js +2 -2
- package/esm/api/ServerInfoApi.js.map +1 -1
- package/esm/api/ServiceApi.js +3 -3
- package/esm/api/ServiceApi.js.map +1 -1
- package/esm/api/SocialIdentityProvidersApi.js +3 -3
- package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
- package/esm/api/TreeApi.js +3 -3
- package/esm/api/TreeApi.js.map +1 -1
- package/esm/api/TreeApi.test.js +2 -2
- package/esm/api/TreeApi.test.js.map +1 -1
- package/esm/api/cloud/AdminFederationProvidersApi.js +3 -3
- package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/esm/api/cloud/EnvInfoApi.js +3 -3
- package/esm/api/cloud/EnvInfoApi.js.map +1 -1
- package/esm/api/cloud/FeatureApi.js +3 -3
- package/esm/api/cloud/FeatureApi.js.map +1 -1
- package/esm/api/cloud/LogApi.js +3 -3
- package/esm/api/cloud/LogApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.js +4 -4
- package/esm/api/cloud/SecretsApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.test.js +2 -2
- package/esm/api/cloud/SecretsApi.test.js.map +1 -1
- package/esm/api/cloud/StartupApi.js +3 -3
- package/esm/api/cloud/StartupApi.js.map +1 -1
- package/esm/api/cloud/StartupApi.test.js +1 -1
- package/esm/api/cloud/StartupApi.test.js.map +1 -1
- package/esm/api/cloud/VariablesApi.js +4 -4
- package/esm/api/cloud/VariablesApi.js.map +1 -1
- package/esm/api/cloud/VariablesApi.test.js +2 -2
- package/esm/api/cloud/VariablesApi.test.js.map +1 -1
- package/esm/api/utils/ApiUtils.js +1 -2
- package/esm/api/utils/ApiUtils.js.map +1 -1
- package/esm/api/utils/ApiUtils.test.js +2 -2
- package/esm/api/utils/ApiUtils.test.js.map +1 -1
- package/esm/ext/axios-curlirize/curlirize.js +1 -1
- package/esm/ext/axios-curlirize/curlirize.js.map +1 -1
- package/esm/index.js +49 -54
- package/esm/index.js.map +1 -1
- package/esm/ops/AdminOps.js +8 -8
- package/esm/ops/AdminOps.js.map +1 -1
- package/esm/ops/AgentOps.js +3 -3
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/AgentOps.test.js +3 -3
- package/esm/ops/AgentOps.test.js.map +1 -1
- package/esm/ops/AuthenticateOps.js +12 -12
- package/esm/ops/AuthenticateOps.js.map +1 -1
- package/esm/ops/AuthenticateOps.test.js +2 -4
- package/esm/ops/AuthenticateOps.test.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +3 -5
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js +8 -8
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.test.js +2 -2
- package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +1 -2
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.test.js +2 -2
- package/esm/ops/EmailTemplateOps.test.js.map +1 -1
- package/esm/ops/IdmOps.js +2 -3
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdmOps.test.js +2 -2
- package/esm/ops/IdmOps.test.js.map +1 -1
- package/esm/ops/IdpOps.js +8 -8
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/IdpOps.test.js +2 -2
- package/esm/ops/IdpOps.test.js.map +1 -1
- package/esm/ops/InfoOps.js +6 -6
- package/esm/ops/InfoOps.js.map +1 -1
- package/esm/ops/JoseOps.test.js +4 -4
- package/esm/ops/JoseOps.test.js.map +1 -1
- package/esm/ops/JourneyOps.js +17 -17
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/JourneyOps.test.js +4 -4
- package/esm/ops/JourneyOps.test.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js +1 -2
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/esm/ops/NodeOps.js +7 -7
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +7 -10
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.test.js +3 -3
- package/esm/ops/OAuth2ClientOps.test.js.map +1 -1
- package/esm/ops/OAuth2ProviderOps.js +1 -2
- package/esm/ops/OAuth2ProviderOps.js.map +1 -1
- package/esm/ops/OrganizationOps.js +3 -4
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +9 -12
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicyOps.test.js +6 -6
- package/esm/ops/PolicyOps.test.js.map +1 -1
- package/esm/ops/PolicySetOps.js +7 -10
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/PolicySetOps.test.js +4 -4
- package/esm/ops/PolicySetOps.test.js.map +1 -1
- package/esm/ops/RealmOps.js +2 -3
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +4 -4
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.test.js +2 -2
- package/esm/ops/ResourceTypeOps.test.js.map +1 -1
- package/esm/ops/Saml2Ops.js +7 -7
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test.js +6 -6
- package/esm/ops/Saml2Ops.test.js.map +1 -1
- package/esm/ops/ScriptOps.js +5 -5
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ScriptOps.test.js +2 -2
- package/esm/ops/ScriptOps.test.js.map +1 -1
- package/esm/ops/ServiceOps.js +2 -2
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +3 -3
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/ThemeOps.test.js +3 -3
- package/esm/ops/ThemeOps.test.js.map +1 -1
- package/esm/ops/cloud/AdminFederationOps.js +4 -4
- package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
- package/esm/ops/cloud/FeatureOps.js +2 -2
- package/esm/ops/cloud/FeatureOps.js.map +1 -1
- package/esm/ops/cloud/LogOps.js +1 -3
- package/esm/ops/cloud/LogOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.js +4 -5
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js +3 -3
- package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.test.js +3 -5
- package/esm/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/esm/ops/cloud/StartupOps.js +4 -6
- package/esm/ops/cloud/StartupOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js +5 -6
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/ops/utils/Console.js +1 -2
- package/esm/ops/utils/Console.js.map +1 -1
- package/esm/ops/utils/DataProtection.js +3 -3
- package/esm/ops/utils/DataProtection.js.map +1 -1
- package/esm/ops/utils/DataProtection.test.js +1 -1
- package/esm/ops/utils/DataProtection.test.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.js +4 -4
- package/esm/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.test.js +1 -3
- package/esm/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +3 -3
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.test.js +3 -3
- package/esm/ops/utils/OpsUtils.test.js.map +1 -1
- package/esm/ops/utils/ValidationUtils.js +2 -2
- package/esm/ops/utils/ValidationUtils.js.map +1 -1
- package/esm/ops/utils/ValidationUtils.test.js +1 -1
- package/esm/ops/utils/ValidationUtils.test.js.map +1 -1
- package/esm/ops/utils/Version.js +1 -1
- package/esm/ops/utils/Version.js.map +1 -1
- package/esm/ops/utils/Version.test.js +1 -1
- package/esm/ops/utils/Version.test.js.map +1 -1
- package/esm/ops/utils/Wordwrap.test.js +1 -1
- package/esm/ops/utils/Wordwrap.test.js.map +1 -1
- package/esm/shared/State.test.js +1 -1
- package/esm/shared/State.test.js.map +1 -1
- package/esm/test/mocks/ForgeRockApiMockEngine.js +2 -2
- package/esm/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/esm/utils/AutoSetupPolly.js +2 -2
- package/esm/utils/AutoSetupPolly.js.map +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Saml2Ops.test.js","names":["_index","require","globalConfig","_interopRequireWildcard","_ApiTypes","_ForgeRockApiMockEngine","_Base","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","state","setDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","stageProvider","_x","_stageProvider","provider","create","length","Saml2","getSaml2Provider","entityId","deleteSaml2Provider","isAxiosError","_error$response","console","log","concat","message","dir","response","data","importSaml2Provider","getSaml2ProviderImportData","_error$response2","describe","provider1","location","Saml2ProiderLocation","HOSTED","entityId64","encodeBase64Url","provider2","REMOTE","provider3","provider4","provider5","provider6","provider7","provider8","provider9","provider10","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","createSaml2ExportTemplate","toBeDefined","toMatchSnapshot","meta","any","getSaml2ProviderStubs","getProviderByLocationAndId","getProviderMetadataUrl","toMatch","RegExp","FRODO_HOST","url","URL","pathname","searchParams","URLSearchParams","search","getProviderMetadata","getSaml2ProviderStub","exportSaml2Provider","exportSaml2Providers","assertions","toBeTruthy","getRawSaml2Providers","getRawSaml2Provider","putRawSaml2Provider","importSaml2Providers","getSaml2ProvidersImportData","failures","toBe","warnings","deleteRawSaml2Provider","deleteSaml2Providers","deleteRawSaml2Providers"],"sources":["../../src/ops/Saml2Ops.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 5 phases:\n *\n * Phase 1: Record Group 1 of non-destructive tests\n * Phase 2: Record Group 2 of non-destructive tests - Import all\n * Phase 3: Record Group 1 of DESTRUCTIVE tests - Deletes by entity id\n * Phase 4: Record Group 2 of DESTRUCTIVE tests - Delete all\n * Phase 5: Record Group 3 of DESTRUCTIVE tests - Delete all raw (legacy API - pre 7.0)\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=5 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update Saml2Ops\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only Saml2Ops\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { Saml2, state } from '../index';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { Saml2ProiderLocation } from '../api/ApiTypes';\nimport {\n getSaml2ProviderImportData,\n getSaml2ProvidersImportData,\n} from '../test/mocks/ForgeRockApiMockEngine';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageProvider(provider: { entityId: string }, create = true) {\n // delete if exists, then create\n try {\n await Saml2.getSaml2Provider(provider.entityId);\n await Saml2.deleteSaml2Provider(provider.entityId);\n } catch (error) {\n if (error.isAxiosError) {\n console.log(\n `Error deleting provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n } finally {\n if (create) {\n try {\n await Saml2.importSaml2Provider(\n provider.entityId,\n getSaml2ProviderImportData(provider.entityId)\n );\n } catch (error) {\n console.log(\n `Error importing provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n }\n }\n}\n\ndescribe('Saml2Ops', () => {\n const provider1 = {\n entityId: 'iSPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('iSPAzure'),\n };\n const provider2 = {\n entityId: 'urn:federation:MicrosoftOnline',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('urn:federation:MicrosoftOnline'),\n };\n const provider3 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPFedlet',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPFedlet'),\n };\n const provider4 = {\n entityId: 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url(\n 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/'\n ),\n };\n const provider5 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPAzure'),\n };\n const provider6 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPBroadcom',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPBroadcom'),\n };\n const provider7 = {\n entityId: 'idp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('idp'),\n };\n const provider8 = {\n entityId: 'SPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('SPAzure'),\n };\n const provider9 = {\n entityId: 'volkerDevSP',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('volkerDevSP'),\n };\n const provider10 = {\n entityId: 'https://saml.mytestrun.com/sp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('https://saml.mytestrun.com/sp'),\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1'\n ) {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n }\n // Pahses 3 + 4\n else if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5);\n await stageProvider(provider6);\n await stageProvider(provider7);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n }\n });\n\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('createSaml2ExportTemplate()', () => {\n test('0: Method is implemented', () => {\n expect(Saml2.createSaml2ExportTemplate).toBeDefined();\n });\n\n test('1: Create saml2 export template', () => {\n const response = Saml2.createSaml2ExportTemplate();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getSaml2ProviderStubs()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2ProviderStubs).toBeDefined();\n });\n\n test('1: Get saml2 provider stubs', async () => {\n const response = await Saml2.getSaml2ProviderStubs();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderByLocationAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderByLocationAndId).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getProviderByLocationAndId(\n provider1.location,\n provider1.entityId64\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2.getProviderByLocationAndId(\n provider2.location,\n provider2.entityId64\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderMetadataUrl()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderMetadataUrl).toBeDefined();\n });\n\n test(`1: Get metadata url for hosted provider '${provider3.entityId}'`, async () => {\n const response = Saml2.getProviderMetadataUrl(provider3.entityId);\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider3.entityId);\n });\n\n test(`2: Get metadata url for remote provider '${provider4.entityId}'`, async () => {\n const response = Saml2.getProviderMetadataUrl(provider4.entityId);\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider4.entityId);\n });\n });\n\n describe('getProviderMetadata()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderMetadata).toBeDefined();\n });\n\n test(`1: Get metadata for hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getProviderMetadata(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get metadata for remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getProviderMetadata(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2ProviderStub()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2ProviderStub).toBeDefined();\n });\n\n test(`1: Get stub of hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getSaml2ProviderStub(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get stub of remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getSaml2ProviderStub(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2Provider).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.exportSaml2Provider).toBeDefined();\n });\n\n test(`1: Export hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.exportSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.exportSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.exportSaml2Providers).toBeDefined();\n });\n\n test('1: Export saml2 entity providers', async () => {\n const response = await Saml2.exportSaml2Providers();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.importSaml2Provider).toBeDefined();\n });\n\n test(`1: Import hosted provider '${provider5.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider5.entityId,\n getSaml2ProviderImportData(provider5.entityId)\n );\n expect(response).toBeTruthy();\n });\n\n test(`2: Import hosted provider '${provider6.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider6.entityId,\n getSaml2ProviderImportData(provider6.entityId)\n );\n expect(response).toBeTruthy();\n });\n\n test(`3: Import remote provider '${provider7.entityId}' with metadata`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider7.entityId,\n getSaml2ProviderImportData(provider7.entityId)\n );\n expect(response).toBeTruthy();\n });\n });\n\n describe('getRawProviders()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getRawSaml2Providers).toBeDefined();\n });\n });\n\n describe('getRawProvider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getRawSaml2Provider).toBeDefined();\n });\n });\n\n describe('putRawProvider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.putRawSaml2Provider).toBeDefined();\n });\n });\n }\n\n // Phase 2\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('importSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.importSaml2Providers).toBeDefined();\n });\n\n test('1: Import providers', async () => {\n expect.assertions(2);\n const response = await Saml2.importSaml2Providers(\n getSaml2ProvidersImportData()\n );\n expect(response.failures).toBe(0);\n expect(response.warnings).toBe(0);\n });\n });\n }\n\n // Phase 3\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete hosted provider '${provider3.entityId}'`, async () => {\n const response = await Saml2.deleteSaml2Provider(provider3.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.deleteSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteRawSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteRawSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete raw hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.deleteRawSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete raw remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2.deleteRawSaml2Provider(provider2.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 4\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all providers`, async () => {\n const response = await Saml2.deleteSaml2Providers();\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 5\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5')\n ) {\n describe('deleteRawSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteRawSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all raw providers`, async () => {\n const response = await Saml2.deleteRawSaml2Providers();\n expect(response).toMatchSnapshot();\n });\n });\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Saml2Ops.test.js","names":["autoSetupPolly","state","setDeploymentType","globalConfig","CLOUD_DEPLOYMENT_TYPE_KEY","stageProvider","_x","_stageProvider","apply","arguments","_asyncToGenerator","provider","create","length","undefined","Saml2","getSaml2Provider","entityId","deleteSaml2Provider","error","isAxiosError","_error$response","console","log","concat","message","dir","response","data","importSaml2Provider","getSaml2ProviderImportData","_error$response2","describe","provider1","location","Saml2ProiderLocation","HOSTED","entityId64","encodeBase64Url","provider2","REMOTE","provider3","provider4","provider5","provider6","provider7","provider8","provider9","provider10","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","createSaml2ExportTemplate","toBeDefined","toMatchSnapshot","meta","any","Object","getSaml2ProviderStubs","getProviderByLocationAndId","getProviderMetadataUrl","toMatch","RegExp","FRODO_HOST","url","URL","pathname","searchParams","URLSearchParams","search","get","getProviderMetadata","getSaml2ProviderStub","exportSaml2Provider","exportSaml2Providers","assertions","toBeTruthy","getRawSaml2Providers","getRawSaml2Provider","putRawSaml2Provider","importSaml2Providers","getSaml2ProvidersImportData","failures","toBe","warnings","deleteRawSaml2Provider","deleteSaml2Providers","deleteRawSaml2Providers"],"sources":["../../src/ops/Saml2Ops.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 5 phases:\n *\n * Phase 1: Record Group 1 of non-destructive tests\n * Phase 2: Record Group 2 of non-destructive tests - Import all\n * Phase 3: Record Group 1 of DESTRUCTIVE tests - Deletes by entity id\n * Phase 4: Record Group 2 of DESTRUCTIVE tests - Delete all\n * Phase 5: Record Group 3 of DESTRUCTIVE tests - Delete all raw (legacy API - pre 7.0)\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=5 FRODO_HOST=frodo-dev npm run test:record Saml2Ops\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update Saml2Ops\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only Saml2Ops\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { Saml2, state } from '../index';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { Saml2ProiderLocation } from '../api/ApiTypes';\nimport {\n getSaml2ProviderImportData,\n getSaml2ProvidersImportData,\n} from '../test/mocks/ForgeRockApiMockEngine';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageProvider(provider: { entityId: string }, create = true) {\n // delete if exists, then create\n try {\n await Saml2.getSaml2Provider(provider.entityId);\n await Saml2.deleteSaml2Provider(provider.entityId);\n } catch (error) {\n if (error.isAxiosError) {\n console.log(\n `Error deleting provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n } finally {\n if (create) {\n try {\n await Saml2.importSaml2Provider(\n provider.entityId,\n getSaml2ProviderImportData(provider.entityId)\n );\n } catch (error) {\n console.log(\n `Error importing provider '${provider.entityId}': ${error.message}`\n );\n console.dir(error.response?.data);\n }\n }\n }\n}\n\ndescribe('Saml2Ops', () => {\n const provider1 = {\n entityId: 'iSPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('iSPAzure'),\n };\n const provider2 = {\n entityId: 'urn:federation:MicrosoftOnline',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('urn:federation:MicrosoftOnline'),\n };\n const provider3 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPFedlet',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPFedlet'),\n };\n const provider4 = {\n entityId: 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url(\n 'https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/'\n ),\n };\n const provider5 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPAzure'),\n };\n const provider6 = {\n entityId: 'https://idc.scheuber.io/am/saml2/IDPBroadcom',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('https://idc.scheuber.io/am/saml2/IDPBroadcom'),\n };\n const provider7 = {\n entityId: 'idp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('idp'),\n };\n const provider8 = {\n entityId: 'SPAzure',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('SPAzure'),\n };\n const provider9 = {\n entityId: 'volkerDevSP',\n location: Saml2ProiderLocation.HOSTED,\n entityId64: encodeBase64Url('volkerDevSP'),\n };\n const provider10 = {\n entityId: 'https://saml.mytestrun.com/sp',\n location: Saml2ProiderLocation.REMOTE,\n entityId64: encodeBase64Url('https://saml.mytestrun.com/sp'),\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1'\n ) {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n } else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5'\n ) {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n }\n // Pahses 3 + 4\n else if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1);\n await stageProvider(provider2);\n await stageProvider(provider3);\n await stageProvider(provider4);\n await stageProvider(provider5);\n await stageProvider(provider6);\n await stageProvider(provider7);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageProvider(provider1, false);\n await stageProvider(provider2, false);\n await stageProvider(provider3, false);\n await stageProvider(provider4, false);\n await stageProvider(provider5, false);\n await stageProvider(provider6, false);\n await stageProvider(provider7, false);\n await stageProvider(provider8, false);\n await stageProvider(provider9, false);\n await stageProvider(provider10, false);\n }\n });\n\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('createSaml2ExportTemplate()', () => {\n test('0: Method is implemented', () => {\n expect(Saml2.createSaml2ExportTemplate).toBeDefined();\n });\n\n test('1: Create saml2 export template', () => {\n const response = Saml2.createSaml2ExportTemplate();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getSaml2ProviderStubs()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2ProviderStubs).toBeDefined();\n });\n\n test('1: Get saml2 provider stubs', async () => {\n const response = await Saml2.getSaml2ProviderStubs();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderByLocationAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderByLocationAndId).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getProviderByLocationAndId(\n provider1.location,\n provider1.entityId64\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2.getProviderByLocationAndId(\n provider2.location,\n provider2.entityId64\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getProviderMetadataUrl()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderMetadataUrl).toBeDefined();\n });\n\n test(`1: Get metadata url for hosted provider '${provider3.entityId}'`, async () => {\n const response = Saml2.getProviderMetadataUrl(provider3.entityId);\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider3.entityId);\n });\n\n test(`2: Get metadata url for remote provider '${provider4.entityId}'`, async () => {\n const response = Saml2.getProviderMetadataUrl(provider4.entityId);\n expect(response).toMatch(\n new RegExp(\n `^${\n process.env.FRODO_HOST ||\n 'https://openam-frodo-dev.forgeblocks.com'\n }`\n )\n );\n const url = new URL(response);\n expect(url.pathname).toMatch('/am/saml2/jsp/exportmetadata.jsp');\n const searchParams = new URLSearchParams(url.search);\n expect(searchParams.get('entityid')).toMatch(provider4.entityId);\n });\n });\n\n describe('getProviderMetadata()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getProviderMetadata).toBeDefined();\n });\n\n test(`1: Get metadata for hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getProviderMetadata(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get metadata for remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getProviderMetadata(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2ProviderStub()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2ProviderStub).toBeDefined();\n });\n\n test(`1: Get stub of hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getSaml2ProviderStub(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get stub of remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getSaml2ProviderStub(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getSaml2Provider).toBeDefined();\n });\n\n test(`1: Get hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.getSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.getSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.exportSaml2Provider).toBeDefined();\n });\n\n test(`1: Export hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.exportSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.exportSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.exportSaml2Providers).toBeDefined();\n });\n\n test('1: Export saml2 entity providers', async () => {\n const response = await Saml2.exportSaml2Providers();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.importSaml2Provider).toBeDefined();\n });\n\n test(`1: Import hosted provider '${provider5.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider5.entityId,\n getSaml2ProviderImportData(provider5.entityId)\n );\n expect(response).toBeTruthy();\n });\n\n test(`2: Import hosted provider '${provider6.entityId}'`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider6.entityId,\n getSaml2ProviderImportData(provider6.entityId)\n );\n expect(response).toBeTruthy();\n });\n\n test(`3: Import remote provider '${provider7.entityId}' with metadata`, async () => {\n expect.assertions(1);\n const response = await Saml2.importSaml2Provider(\n provider7.entityId,\n getSaml2ProviderImportData(provider7.entityId)\n );\n expect(response).toBeTruthy();\n });\n });\n\n describe('getRawProviders()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getRawSaml2Providers).toBeDefined();\n });\n });\n\n describe('getRawProvider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.getRawSaml2Provider).toBeDefined();\n });\n });\n\n describe('putRawProvider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.putRawSaml2Provider).toBeDefined();\n });\n });\n }\n\n // Phase 2\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('importSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.importSaml2Providers).toBeDefined();\n });\n\n test('1: Import providers', async () => {\n expect.assertions(2);\n const response = await Saml2.importSaml2Providers(\n getSaml2ProvidersImportData()\n );\n expect(response.failures).toBe(0);\n expect(response.warnings).toBe(0);\n });\n });\n }\n\n // Phase 3\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete hosted provider '${provider3.entityId}'`, async () => {\n const response = await Saml2.deleteSaml2Provider(provider3.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete remote provider '${provider4.entityId}'`, async () => {\n const response = await Saml2.deleteSaml2Provider(provider4.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteRawSaml2Provider()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteRawSaml2Provider).toBeDefined();\n });\n\n test(`1: Delete raw hosted provider '${provider1.entityId}'`, async () => {\n const response = await Saml2.deleteRawSaml2Provider(provider1.entityId);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete raw remote provider '${provider2.entityId}'`, async () => {\n const response = await Saml2.deleteRawSaml2Provider(provider2.entityId);\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 4\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all providers`, async () => {\n const response = await Saml2.deleteSaml2Providers();\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 5\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '5')\n ) {\n describe('deleteRawSaml2Providers()', () => {\n test('0: Method is implemented', async () => {\n expect(Saml2.deleteRawSaml2Providers).toBeDefined();\n });\n\n test(`1: Delete all raw providers`, async () => {\n const response = await Saml2.deleteRawSaml2Providers();\n expect(response).toMatchSnapshot();\n });\n });\n }\n});\n"],"mappings":"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"}
|
package/cjs/ops/ScriptOps.js
CHANGED
|
@@ -14,11 +14,11 @@ exports.getScripts = getScripts;
|
|
|
14
14
|
exports.importScripts = importScripts;
|
|
15
15
|
exports.putScript = putScript;
|
|
16
16
|
var _uuid = require("uuid");
|
|
17
|
-
var _OpsUtils = require("./utils/OpsUtils");
|
|
18
|
-
var _Console = require("./utils/Console");
|
|
19
|
-
var _ScriptApi = require("../api/ScriptApi");
|
|
20
|
-
var _ExportImportUtils = require("./utils/ExportImportUtils");
|
|
21
|
-
var _ValidationUtils = require("./utils/ValidationUtils");
|
|
17
|
+
var _OpsUtils = require("./utils/OpsUtils.js");
|
|
18
|
+
var _Console = require("./utils/Console.js");
|
|
19
|
+
var _ScriptApi = require("../api/ScriptApi.js");
|
|
20
|
+
var _ExportImportUtils = require("./utils/ExportImportUtils.js");
|
|
21
|
+
var _ValidationUtils = require("./utils/ValidationUtils.js");
|
|
22
22
|
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); } }
|
|
23
23
|
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); }); }; }
|
|
24
24
|
/**
|
package/cjs/ops/ScriptOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptOps.js","names":["_uuid","require","_OpsUtils","_Console","_ScriptApi","_ExportImportUtils","_ValidationUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createScriptExportTemplate","meta","getMetadata","script","getScripts","_getScripts2","result","_getScripts","getScript","_x","_getScript2","scriptId","response","_getScript","getScriptByName","_x2","_getScriptByName2","name","_getScriptByName","length","Error","concat","putScript","_x3","_x4","_putScript2","scriptData","Array","isArray","convertTextArrayToBase64","_putScript","_error$response","status","printMessage","newName","applyNameCollisionPolicy","deleteScript","_x5","_deleteScript2","_deleteScript","exportScript","_x6","_exportScript","debugMessage","convertBase64TextToArray","exportData","_id","exportScriptByName","_x7","_exportScriptByName","exportScripts","_exportScripts","scriptList","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","importScripts","_x8","_x9","_importScripts","importData","reUuid","shouldValidateScript","outcome","existingId","Object","keys","scriptSkeleton","newId","uuidv4","validateScriptDecoded","message"],"sources":["../../src/ops/ScriptOps.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { applyNameCollisionPolicy } from './utils/OpsUtils';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getScript as _getScript,\n getScriptByName as _getScriptByName,\n getScripts as _getScripts,\n putScript as _putScript,\n deleteScript as _deleteScript,\n} from '../api/ScriptApi';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n getMetadata,\n} from './utils/ExportImportUtils';\nimport { ScriptSkeleton } from '../api/ApiTypes';\nimport { ExportMetaData } from '../ops/OpsTypes';\nimport { validateScriptDecoded } from './utils/ValidationUtils';\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {ScriptExportInterface} an empty idp export template\n */\nexport function createScriptExportTemplate(): ScriptExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n } as ScriptExportInterface;\n}\n\n/**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts(): Promise<ScriptSkeleton[]> {\n const { result } = await _getScripts();\n return result;\n}\n\n/**\n * Get script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScript(scriptId: string): Promise<ScriptSkeleton> {\n const response = await _getScript(scriptId);\n return response;\n}\n\n/**\n * Get script by name\n * @param {string} name name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScriptByName(name: string): Promise<ScriptSkeleton> {\n const { result } = await _getScriptByName(name);\n switch (result.length) {\n case 1:\n return result[0];\n case 0:\n throw new Error(`Script '${name}' not found`);\n default:\n throw new Error(`${result.length} scripts '${name}' found`);\n }\n}\n\n/**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\nexport async function putScript(\n scriptId: string,\n scriptData: ScriptSkeleton\n): Promise<boolean> {\n try {\n if (Array.isArray(scriptData.script)) {\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n }\n const result = await _putScript(scriptId, scriptData);\n return result;\n } catch (error) {\n if (error.response?.status === 409) {\n printMessage(\n `createOrUpdateScript WARNING: script with name ${scriptData.name} already exists, using renaming policy... <name> => <name - imported (n)>`,\n 'warn'\n );\n const newName = applyNameCollisionPolicy(scriptData.name);\n scriptData.name = newName;\n const result = await putScript(scriptId, scriptData);\n printMessage(`Saved script as ${newName}`, 'warn');\n return result;\n }\n throw error;\n }\n}\n\n/**\n * Delete script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function deleteScript(scriptId: string): Promise<ScriptSkeleton> {\n const response = await _deleteScript(scriptId);\n return response;\n}\n\n/**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScript(\n scriptId: string\n): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptById: start`);\n const scriptData = await _getScript(scriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate();\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptById: end`);\n return exportData;\n}\n\n/**\n * Export script by name\n * @param {string} name script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScriptByName(\n name: string\n): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptByName: start`);\n const scriptData = await getScriptByName(name);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate();\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptByName: end`);\n return exportData;\n}\n\n/**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScripts(): Promise<ScriptExportInterface> {\n const scriptList = await getScripts();\n const exportData = createScriptExportTemplate();\n createProgressIndicator(\n scriptList.length,\n `Exporting ${scriptList.length} scripts...`\n );\n for (const script of scriptList) {\n updateProgressIndicator(`Reading script ${script.name}`);\n const scriptData = await getScriptByName(script.name);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[scriptData._id] = scriptData;\n }\n stopProgressIndicator(`Exported ${scriptList.length} scripts.`);\n return exportData;\n}\n\n/**\n * Import scripts\n * @param {string} name Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\nexport async function importScripts(\n name: string,\n importData: ScriptExportInterface,\n reUuid = false,\n shouldValidateScript = false\n): Promise<boolean> {\n let outcome = true;\n debugMessage(`ScriptOps.importScriptsFromFile: start`);\n for (const existingId of Object.keys(importData.script)) {\n const scriptSkeleton = importData.script[existingId];\n let newId = existingId;\n if (reUuid) {\n newId = uuidv4();\n debugMessage(\n `ScriptOps.importScriptsFromFile: Re-uuid-ing script ${scriptSkeleton.name} ${existingId} => ${newId}...`\n );\n scriptSkeleton._id = newId;\n }\n if (name) {\n debugMessage(\n `ScriptOps.importScriptsFromFile: Renaming script ${scriptSkeleton.name} => ${name}...`\n );\n scriptSkeleton.name = name;\n }\n if (shouldValidateScript) {\n if (!validateScriptDecoded(scriptSkeleton)) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': Script is not valid`,\n 'error'\n );\n continue;\n }\n }\n try {\n await putScript(newId, scriptSkeleton);\n } catch (error) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': ${error.message}`,\n 'error'\n );\n debugMessage(error);\n }\n if (name) break;\n }\n debugMessage(`ScriptOps.importScriptsFromFile: end`);\n return outcome;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScriptOps.js","names":["_uuid","require","_OpsUtils","_Console","_ScriptApi","_ExportImportUtils","_ValidationUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createScriptExportTemplate","meta","getMetadata","script","getScripts","_getScripts2","result","_getScripts","getScript","_x","_getScript2","scriptId","response","_getScript","getScriptByName","_x2","_getScriptByName2","name","_getScriptByName","length","Error","concat","putScript","_x3","_x4","_putScript2","scriptData","Array","isArray","convertTextArrayToBase64","_putScript","_error$response","status","printMessage","newName","applyNameCollisionPolicy","deleteScript","_x5","_deleteScript2","_deleteScript","exportScript","_x6","_exportScript","debugMessage","convertBase64TextToArray","exportData","_id","exportScriptByName","_x7","_exportScriptByName","exportScripts","_exportScripts","scriptList","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","importScripts","_x8","_x9","_importScripts","importData","reUuid","shouldValidateScript","outcome","existingId","Object","keys","scriptSkeleton","newId","uuidv4","validateScriptDecoded","message"],"sources":["../../src/ops/ScriptOps.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { applyNameCollisionPolicy } from './utils/OpsUtils';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getScript as _getScript,\n getScriptByName as _getScriptByName,\n getScripts as _getScripts,\n putScript as _putScript,\n deleteScript as _deleteScript,\n} from '../api/ScriptApi';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n getMetadata,\n} from './utils/ExportImportUtils';\nimport { ScriptSkeleton } from '../api/ApiTypes';\nimport { ExportMetaData } from '../ops/OpsTypes';\nimport { validateScriptDecoded } from './utils/ValidationUtils';\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {ScriptExportInterface} an empty idp export template\n */\nexport function createScriptExportTemplate(): ScriptExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n } as ScriptExportInterface;\n}\n\n/**\n * Get all scripts\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts(): Promise<ScriptSkeleton[]> {\n const { result } = await _getScripts();\n return result;\n}\n\n/**\n * Get script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScript(scriptId: string): Promise<ScriptSkeleton> {\n const response = await _getScript(scriptId);\n return response;\n}\n\n/**\n * Get script by name\n * @param {string} name name of the script\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function getScriptByName(name: string): Promise<ScriptSkeleton> {\n const { result } = await _getScriptByName(name);\n switch (result.length) {\n case 1:\n return result[0];\n case 0:\n throw new Error(`Script '${name}' not found`);\n default:\n throw new Error(`${result.length} scripts '${name}' found`);\n }\n}\n\n/**\n * Create or update script\n * @param {string} scriptId script uuid\n * @param {ScriptSkeleton} scriptData script object\n * @returns {Promise<boolean>} a status object\n */\nexport async function putScript(\n scriptId: string,\n scriptData: ScriptSkeleton\n): Promise<boolean> {\n try {\n if (Array.isArray(scriptData.script)) {\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n }\n const result = await _putScript(scriptId, scriptData);\n return result;\n } catch (error) {\n if (error.response?.status === 409) {\n printMessage(\n `createOrUpdateScript WARNING: script with name ${scriptData.name} already exists, using renaming policy... <name> => <name - imported (n)>`,\n 'warn'\n );\n const newName = applyNameCollisionPolicy(scriptData.name);\n scriptData.name = newName;\n const result = await putScript(scriptId, scriptData);\n printMessage(`Saved script as ${newName}`, 'warn');\n return result;\n }\n throw error;\n }\n}\n\n/**\n * Delete script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptSkeleton>} promise that resolves to a script object\n */\nexport async function deleteScript(scriptId: string): Promise<ScriptSkeleton> {\n const response = await _deleteScript(scriptId);\n return response;\n}\n\n/**\n * Export script by id\n * @param {string} scriptId script uuid\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScript(\n scriptId: string\n): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptById: start`);\n const scriptData = await _getScript(scriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate();\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptById: end`);\n return exportData;\n}\n\n/**\n * Export script by name\n * @param {string} name script name\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScriptByName(\n name: string\n): Promise<ScriptExportInterface> {\n debugMessage(`ScriptOps.exportScriptByName: start`);\n const scriptData = await getScriptByName(name);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n const exportData = createScriptExportTemplate();\n exportData.script[scriptData._id] = scriptData;\n debugMessage(`ScriptOps.exportScriptByName: end`);\n return exportData;\n}\n\n/**\n * Export all scripts\n * @returns {Promise<ScriptExportInterface>} a promise that resolved to a ScriptExportInterface object\n */\nexport async function exportScripts(): Promise<ScriptExportInterface> {\n const scriptList = await getScripts();\n const exportData = createScriptExportTemplate();\n createProgressIndicator(\n scriptList.length,\n `Exporting ${scriptList.length} scripts...`\n );\n for (const script of scriptList) {\n updateProgressIndicator(`Reading script ${script.name}`);\n const scriptData = await getScriptByName(script.name);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[scriptData._id] = scriptData;\n }\n stopProgressIndicator(`Exported ${scriptList.length} scripts.`);\n return exportData;\n}\n\n/**\n * Import scripts\n * @param {string} name Optional name of script. If supplied, only the script of that name is imported\n * @param {ScriptExportInterface} importData Script import data\n * @param {boolean} reUuid true to generate a new uuid for each script on import, false otherwise\n * @returns {Promise<boolean>} true if no errors occurred during import, false otherwise\n */\nexport async function importScripts(\n name: string,\n importData: ScriptExportInterface,\n reUuid = false,\n shouldValidateScript = false\n): Promise<boolean> {\n let outcome = true;\n debugMessage(`ScriptOps.importScriptsFromFile: start`);\n for (const existingId of Object.keys(importData.script)) {\n const scriptSkeleton = importData.script[existingId];\n let newId = existingId;\n if (reUuid) {\n newId = uuidv4();\n debugMessage(\n `ScriptOps.importScriptsFromFile: Re-uuid-ing script ${scriptSkeleton.name} ${existingId} => ${newId}...`\n );\n scriptSkeleton._id = newId;\n }\n if (name) {\n debugMessage(\n `ScriptOps.importScriptsFromFile: Renaming script ${scriptSkeleton.name} => ${name}...`\n );\n scriptSkeleton.name = name;\n }\n if (shouldValidateScript) {\n if (!validateScriptDecoded(scriptSkeleton)) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': Script is not valid`,\n 'error'\n );\n continue;\n }\n }\n try {\n await putScript(newId, scriptSkeleton);\n } catch (error) {\n outcome = false;\n printMessage(\n `Error importing script '${scriptSkeleton.name}': ${error.message}`,\n 'error'\n );\n debugMessage(error);\n }\n if (name) break;\n }\n debugMessage(`ScriptOps.importScriptsFromFile: end`);\n return outcome;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _index = require("../index");
|
|
4
|
-
var _AutoSetupPolly = require("../utils/AutoSetupPolly");
|
|
3
|
+
var _index = require("../index.js");
|
|
4
|
+
var _AutoSetupPolly = require("../utils/AutoSetupPolly.js");
|
|
5
5
|
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); } }
|
|
6
6
|
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); }); }; } /**
|
|
7
7
|
* To record and update snapshots, you must perform 3 steps in order:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptOps.test.js","names":["_index","require","_AutoSetupPolly","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","stageScript","_x","_stageScript","script","create","length","Script","getScript","id","deleteScript","putScript","data","describe","script1","name","_id","description","default","language","context","createdBy","creationDate","lastModifiedBy","lastModifiedDate","script2","script3","script4","script5","import1","meta","origin","originAmVersion","exportedBy","exportDate","exportTool","exportToolVersion","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","test","expect","createScriptExportTemplate","toBeDefined","response","toMatchSnapshot","any","Object","getScripts","concat","getScriptByName","exportScript","exportScriptByName","exportScripts","importScripts","assertions","outcome","toBeTruthy"],"sources":["../../src/ops/ScriptOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record ScriptOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update ScriptOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only ScriptOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { Script } from '../index';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\nimport { ScriptSkeleton } from '../../types/api/ApiTypes';\n\nautoSetupPolly();\n\nasync function stageScript(\n script: { id: string; name: string; data: ScriptSkeleton },\n create = true\n) {\n // delete if exists, then create\n try {\n await Script.getScript(script.id);\n await Script.deleteScript(script.id);\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await Script.putScript(script.id, script.data);\n }\n }\n}\n\ndescribe('ScriptOps', () => {\n const script1 = {\n id: 'c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d',\n name: 'FrodoTestScript1',\n data: {\n _id: 'c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d',\n name: 'FrodoTestScript1',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script2 = {\n id: 'b7259916-71ed-4675-8c5a-de86a80e4aed',\n name: 'FrodoTestScript2',\n data: {\n _id: 'b7259916-71ed-4675-8c5a-de86a80e4aed',\n name: 'FrodoTestScript2',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script3 = {\n id: '3b2f6836-184c-4ee9-8a1d-557cb01837a5',\n name: 'FrodoTestScript3',\n data: {\n _id: '3b2f6836-184c-4ee9-8a1d-557cb01837a5',\n name: 'FrodoTestScript3',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script4 = {\n id: '10643e95-873a-4ec0-b713-a7f56760d179',\n name: 'FrodoTestScript4',\n data: {\n _id: '10643e95-873a-4ec0-b713-a7f56760d179',\n name: 'FrodoTestScript4',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script5 = {\n id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n data: {\n _id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const import1: { name: string; data: Script.ScriptExportInterface } = {\n name: 'FrodoTestScript5',\n data: {\n meta: {\n origin: 'https://openam-frodo-dev.forgeblocks.com/am',\n originAmVersion: '7.3.0',\n exportedBy: 'volker.scheuber@forgerock.com',\n exportDate: '2023-01-02T20:04:41.662Z',\n exportTool: 'frodo',\n exportToolVersion: 'v0.17.1 [v18.5.0]',\n },\n script: {\n '5b3e4dd2-8060-4029-9ec1-6867932ab939': {\n _id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n },\n },\n },\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageScript(script1);\n await stageScript(script2);\n await stageScript(script3, false);\n await stageScript(script4);\n await stageScript(script5, false);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageScript(script1, false);\n await stageScript(script2, false);\n await stageScript(script3, false);\n await stageScript(script4, false);\n await stageScript(script5, false);\n }\n });\n\n describe('createScriptExportTemplate()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.createScriptExportTemplate).toBeDefined();\n });\n\n test(`1: Create script export template`, async () => {\n const response = Script.createScriptExportTemplate();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScripts).toBeDefined();\n });\n\n test(`1: Get scripts`, async () => {\n const response = await Script.getScripts();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScript).toBeDefined();\n });\n\n test(`1: Get script by id '${script1.id}'`, async () => {\n const response = await Script.getScript(script1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getScriptByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScriptByName).toBeDefined();\n });\n\n test(`1: Get script by name '${script1.name}'`, async () => {\n const response = await Script.getScriptByName(script1.name);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.putScript).toBeDefined();\n });\n\n test(`1: Put script '${script3.id}'`, async () => {\n const response = await Script.putScript(script3.id, script3.data);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScript).toBeDefined();\n });\n\n test(`1: Export script by id ${script1.id}`, async () => {\n const response = await Script.exportScript(script1.id);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportScriptByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScriptByName).toBeDefined();\n });\n\n test(`1: Export script by name ${script1.name}`, async () => {\n const response = await Script.exportScriptByName(script1.name);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScripts).toBeDefined();\n });\n\n test('1: Export all scripts', async () => {\n const response = await Script.exportScripts();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.importScripts).toBeDefined();\n });\n\n test(`1: Import all scripts`, async () => {\n expect.assertions(1);\n const outcome = await Script.importScripts('', import1.data);\n expect(outcome).toBeTruthy();\n });\n\n test(`2: Import script by name`, async () => {\n expect.assertions(1);\n const outcome = await Script.importScripts(import1.name, import1.data);\n expect(outcome).toBeTruthy();\n });\n });\n});\n"],"mappings":";;AA+BA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAyD,SAAAE,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA,YAhCzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA,IAAAC,8BAAc,EAAC,CAAC;AAAC,SAEFC,WAAWA,CAAAC,EAAA;EAAA,OAAAC,YAAA,CAAAN,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAO,aAAA;EAAAA,YAAA,GAAAX,iBAAA,CAA1B,WACEY,MAA0D,EAE1D;IAAA,IADAC,MAAM,GAAAT,SAAA,CAAAU,MAAA,QAAAV,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAI;IAEb;IACA,IAAI;MACF,MAAMW,aAAM,CAACC,SAAS,CAACJ,MAAM,CAACK,EAAE,CAAC;MACjC,MAAMF,aAAM,CAACG,YAAY,CAACN,MAAM,CAACK,EAAE,CAAC;IACtC,CAAC,CAAC,OAAOrB,KAAK,EAAE;MACd;IAAA,CACD,SAAS;MACR,IAAIiB,MAAM,EAAE;QACV,MAAME,aAAM,CAACI,SAAS,CAACP,MAAM,CAACK,EAAE,EAAEL,MAAM,CAACQ,IAAI,CAAC;MAChD;IACF;EACF,CAAC;EAAA,OAAAT,YAAA,CAAAN,KAAA,OAAAD,SAAA;AAAA;AAEDiB,QAAQ,CAAC,WAAW,EAAE,MAAM;EAC1B,IAAMC,OAAO,GAAG;IACdL,EAAE,EAAE,sCAAsC;IAC1CM,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJI,GAAG,EAAE,sCAAsC;MAC3CD,IAAI,EAAE,kBAAkB;MACxBE,WAAW,EAAE,+CAA+C;MAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;MACDc,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,YAAY;MACtBC,OAAO,EAAE,mCAAmC;MAC5CC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE,CAAC;MACfC,cAAc,EAAE,MAAM;MACtBC,gBAAgB,EAAE;IACpB;EACF,CAAC;EACD,IAAMC,OAAO,GAAG;IACdhB,EAAE,EAAE,sCAAsC;IAC1CM,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJI,GAAG,EAAE,sCAAsC;MAC3CD,IAAI,EAAE,kBAAkB;MACxBE,WAAW,EAAE,+CAA+C;MAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;MACDc,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,YAAY;MACtBC,OAAO,EAAE,mCAAmC;MAC5CC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE,CAAC;MACfC,cAAc,EAAE,MAAM;MACtBC,gBAAgB,EAAE;IACpB;EACF,CAAC;EACD,IAAME,OAAO,GAAG;IACdjB,EAAE,EAAE,sCAAsC;IAC1CM,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJI,GAAG,EAAE,sCAAsC;MAC3CD,IAAI,EAAE,kBAAkB;MACxBE,WAAW,EAAE,+CAA+C;MAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;MACDc,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,YAAY;MACtBC,OAAO,EAAE,mCAAmC;MAC5CC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE,CAAC;MACfC,cAAc,EAAE,MAAM;MACtBC,gBAAgB,EAAE;IACpB;EACF,CAAC;EACD,IAAMG,OAAO,GAAG;IACdlB,EAAE,EAAE,sCAAsC;IAC1CM,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJI,GAAG,EAAE,sCAAsC;MAC3CD,IAAI,EAAE,kBAAkB;MACxBE,WAAW,EAAE,+CAA+C;MAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;MACDc,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,YAAY;MACtBC,OAAO,EAAE,mCAAmC;MAC5CC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE,CAAC;MACfC,cAAc,EAAE,MAAM;MACtBC,gBAAgB,EAAE;IACpB;EACF,CAAC;EACD,IAAMI,OAAO,GAAG;IACdnB,EAAE,EAAE,sCAAsC;IAC1CM,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJI,GAAG,EAAE,sCAAsC;MAC3CD,IAAI,EAAE,kBAAkB;MACxBE,WAAW,EAAE,+CAA+C;MAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;MACDc,OAAO,EAAE,KAAK;MACdC,QAAQ,EAAE,YAAY;MACtBC,OAAO,EAAE,mCAAmC;MAC5CC,SAAS,EAAE,MAAM;MACjBC,YAAY,EAAE,CAAC;MACfC,cAAc,EAAE,MAAM;MACtBC,gBAAgB,EAAE;IACpB;EACF,CAAC;EACD,IAAMK,OAA6D,GAAG;IACpEd,IAAI,EAAE,kBAAkB;IACxBH,IAAI,EAAE;MACJkB,IAAI,EAAE;QACJC,MAAM,EAAE,6CAA6C;QACrDC,eAAe,EAAE,OAAO;QACxBC,UAAU,EAAE,+BAA+B;QAC3CC,UAAU,EAAE,0BAA0B;QACtCC,UAAU,EAAE,OAAO;QACnBC,iBAAiB,EAAE;MACrB,CAAC;MACDhC,MAAM,EAAE;QACN,sCAAsC,EAAE;UACtCY,GAAG,EAAE,sCAAsC;UAC3CD,IAAI,EAAE,kBAAkB;UACxBE,WAAW,EAAE,+CAA+C;UAC5Db,MAAM,EAAE,CACN,mBAAmB,EACnB,IAAI,EACJ,0CAA0C,EAC1C,KAAK,EACL,kDAAkD,EAClD,gDAAgD,EAChD,KAAK,EACL,+EAA+E,EAC/E,KAAK,EACL,qEAAqE,EACrE,YAAY,EACZ,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gDAAgD,EAChD,4BAA4B,EAC5B,OAAO,EACP,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR;UACDc,OAAO,EAAE,KAAK;UACdC,QAAQ,EAAE,YAAY;UACtBC,OAAO,EAAE,mCAAmC;UAC5CC,SAAS,EAAE,MAAM;UACjBC,YAAY,EAAE,CAAC;UACfC,cAAc,EAAE,MAAM;UACtBC,gBAAgB,EAAE;QACpB;MACF;IACF;EACF,CAAC;EACD;EACAa,SAAS,eAAA7C,iBAAA,CAAC,aAAY;IACpB,IAAI8C,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,MAAMvC,WAAW,CAACa,OAAO,CAAC;MAC1B,MAAMb,WAAW,CAACwB,OAAO,CAAC;MAC1B,MAAMxB,WAAW,CAACyB,OAAO,EAAE,KAAK,CAAC;MACjC,MAAMzB,WAAW,CAAC0B,OAAO,CAAC;MAC1B,MAAM1B,WAAW,CAAC2B,OAAO,EAAE,KAAK,CAAC;IACnC;EACF,CAAC,EAAC;EACF;EACAa,QAAQ,eAAAjD,iBAAA,CAAC,aAAY;IACnB,IAAI8C,OAAO,CAACC,GAAG,CAACC,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,MAAMvC,WAAW,CAACa,OAAO,EAAE,KAAK,CAAC;MACjC,MAAMb,WAAW,CAACwB,OAAO,EAAE,KAAK,CAAC;MACjC,MAAMxB,WAAW,CAACyB,OAAO,EAAE,KAAK,CAAC;MACjC,MAAMzB,WAAW,CAAC0B,OAAO,EAAE,KAAK,CAAC;MACjC,MAAM1B,WAAW,CAAC2B,OAAO,EAAE,KAAK,CAAC;IACnC;EACF,CAAC,EAAC;EAEFf,QAAQ,CAAC,8BAA8B,EAAE,MAAM;IAC7C6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAACqC,0BAA0B,CAAC,CAACC,WAAW,CAAC,CAAC;IACzD,CAAC,EAAC;IAEFH,IAAI,kDAAAlD,iBAAA,CAAqC,aAAY;MACnD,IAAMsD,QAAQ,GAAGvC,aAAM,CAACqC,0BAA0B,CAAC,CAAC;MACpDD,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC;QAC/BjB,IAAI,EAAEa,MAAM,CAACK,GAAG,CAACC,MAAM;MACzB,CAAC,CAAC;IACJ,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC7B6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAAC2C,UAAU,CAAC,CAACL,WAAW,CAAC,CAAC;IACzC,CAAC,EAAC;IAEFH,IAAI,gCAAAlD,iBAAA,CAAmB,aAAY;MACjC,IAAMsD,QAAQ,SAASvC,aAAM,CAAC2C,UAAU,CAAC,CAAC;MAC1CP,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFlC,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC5B6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAACC,SAAS,CAAC,CAACqC,WAAW,CAAC,CAAC;IACxC,CAAC,EAAC;IAEFH,IAAI,yBAAAS,MAAA,CAAyBrC,OAAO,CAACL,EAAE,qBAAAjB,iBAAA,CAAK,aAAY;MACtD,IAAMsD,QAAQ,SAASvC,aAAM,CAACC,SAAS,CAACM,OAAO,CAACL,EAAE,CAAC;MACnDkC,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFlC,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClC6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAAC6C,eAAe,CAAC,CAACP,WAAW,CAAC,CAAC;IAC9C,CAAC,EAAC;IAEFH,IAAI,2BAAAS,MAAA,CAA2BrC,OAAO,CAACC,IAAI,qBAAAvB,iBAAA,CAAK,aAAY;MAC1D,IAAMsD,QAAQ,SAASvC,aAAM,CAAC6C,eAAe,CAACtC,OAAO,CAACC,IAAI,CAAC;MAC3D4B,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFlC,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC5B6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAACI,SAAS,CAAC,CAACkC,WAAW,CAAC,CAAC;IACxC,CAAC,EAAC;IAEFH,IAAI,mBAAAS,MAAA,CAAmBzB,OAAO,CAACjB,EAAE,qBAAAjB,iBAAA,CAAK,aAAY;MAChD,IAAMsD,QAAQ,SAASvC,aAAM,CAACI,SAAS,CAACe,OAAO,CAACjB,EAAE,EAAEiB,OAAO,CAACd,IAAI,CAAC;MACjE+B,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFlC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/B6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAAC8C,YAAY,CAAC,CAACR,WAAW,CAAC,CAAC;IAC3C,CAAC,EAAC;IAEFH,IAAI,2BAAAS,MAAA,CAA2BrC,OAAO,CAACL,EAAE,gBAAAjB,iBAAA,CAAI,aAAY;MACvD,IAAMsD,QAAQ,SAASvC,aAAM,CAAC8C,YAAY,CAACvC,OAAO,CAACL,EAAE,CAAC;MACtDkC,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC;QAC/BjB,IAAI,EAAEa,MAAM,CAACK,GAAG,CAACC,MAAM;MACzB,CAAC,CAAC;IACJ,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACrC6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAAC+C,kBAAkB,CAAC,CAACT,WAAW,CAAC,CAAC;IACjD,CAAC,EAAC;IAEFH,IAAI,6BAAAS,MAAA,CAA6BrC,OAAO,CAACC,IAAI,gBAAAvB,iBAAA,CAAI,aAAY;MAC3D,IAAMsD,QAAQ,SAASvC,aAAM,CAAC+C,kBAAkB,CAACxC,OAAO,CAACC,IAAI,CAAC;MAC9D4B,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC;QAC/BjB,IAAI,EAAEa,MAAM,CAACK,GAAG,CAACC,MAAM;MACzB,CAAC,CAAC;IACJ,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAChC6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAACgD,aAAa,CAAC,CAACV,WAAW,CAAC,CAAC;IAC5C,CAAC,EAAC;IAEFH,IAAI,CAAC,uBAAuB,eAAAlD,iBAAA,CAAE,aAAY;MACxC,IAAMsD,QAAQ,SAASvC,aAAM,CAACgD,aAAa,CAAC,CAAC;MAC7CZ,MAAM,CAACG,QAAQ,CAAC,CAACC,eAAe,CAAC;QAC/BjB,IAAI,EAAEa,MAAM,CAACK,GAAG,CAACC,MAAM;MACzB,CAAC,CAAC;IACJ,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAChC6B,IAAI,CAAC,0BAA0B,eAAAlD,iBAAA,CAAE,aAAY;MAC3CmD,MAAM,CAACpC,aAAM,CAACiD,aAAa,CAAC,CAACX,WAAW,CAAC,CAAC;IAC5C,CAAC,EAAC;IAEFH,IAAI,uCAAAlD,iBAAA,CAA0B,aAAY;MACxCmD,MAAM,CAACc,UAAU,CAAC,CAAC,CAAC;MACpB,IAAMC,OAAO,SAASnD,aAAM,CAACiD,aAAa,CAAC,EAAE,EAAE3B,OAAO,CAACjB,IAAI,CAAC;MAC5D+B,MAAM,CAACe,OAAO,CAAC,CAACC,UAAU,CAAC,CAAC;IAC9B,CAAC,EAAC;IAEFjB,IAAI,0CAAAlD,iBAAA,CAA6B,aAAY;MAC3CmD,MAAM,CAACc,UAAU,CAAC,CAAC,CAAC;MACpB,IAAMC,OAAO,SAASnD,aAAM,CAACiD,aAAa,CAAC3B,OAAO,CAACd,IAAI,EAAEc,OAAO,CAACjB,IAAI,CAAC;MACtE+B,MAAM,CAACe,OAAO,CAAC,CAACC,UAAU,CAAC,CAAC;IAC9B,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ScriptOps.test.js","names":["autoSetupPolly","stageScript","_x","_stageScript","apply","arguments","_asyncToGenerator","script","create","length","undefined","Script","getScript","id","deleteScript","error","putScript","data","describe","script1","name","_id","description","default","language","context","createdBy","creationDate","lastModifiedBy","lastModifiedDate","script2","script3","script4","script5","import1","meta","origin","originAmVersion","exportedBy","exportDate","exportTool","exportToolVersion","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","test","expect","createScriptExportTemplate","toBeDefined","response","toMatchSnapshot","any","Object","getScripts","concat","getScriptByName","exportScript","exportScriptByName","exportScripts","importScripts","assertions","outcome","toBeTruthy"],"sources":["../../src/ops/ScriptOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record ScriptOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update ScriptOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only ScriptOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { Script } from '../index';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\nimport { ScriptSkeleton } from '../../types/api/ApiTypes';\n\nautoSetupPolly();\n\nasync function stageScript(\n script: { id: string; name: string; data: ScriptSkeleton },\n create = true\n) {\n // delete if exists, then create\n try {\n await Script.getScript(script.id);\n await Script.deleteScript(script.id);\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await Script.putScript(script.id, script.data);\n }\n }\n}\n\ndescribe('ScriptOps', () => {\n const script1 = {\n id: 'c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d',\n name: 'FrodoTestScript1',\n data: {\n _id: 'c9cb4b1e-1cd3-4e5b-8f56-140f83ba9f6d',\n name: 'FrodoTestScript1',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script2 = {\n id: 'b7259916-71ed-4675-8c5a-de86a80e4aed',\n name: 'FrodoTestScript2',\n data: {\n _id: 'b7259916-71ed-4675-8c5a-de86a80e4aed',\n name: 'FrodoTestScript2',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script3 = {\n id: '3b2f6836-184c-4ee9-8a1d-557cb01837a5',\n name: 'FrodoTestScript3',\n data: {\n _id: '3b2f6836-184c-4ee9-8a1d-557cb01837a5',\n name: 'FrodoTestScript3',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script4 = {\n id: '10643e95-873a-4ec0-b713-a7f56760d179',\n name: 'FrodoTestScript4',\n data: {\n _id: '10643e95-873a-4ec0-b713-a7f56760d179',\n name: 'FrodoTestScript4',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const script5 = {\n id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n data: {\n _id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n } as ScriptSkeleton,\n };\n const import1: { name: string; data: Script.ScriptExportInterface } = {\n name: 'FrodoTestScript5',\n data: {\n meta: {\n origin: 'https://openam-frodo-dev.forgeblocks.com/am',\n originAmVersion: '7.3.0',\n exportedBy: 'volker.scheuber@forgerock.com',\n exportDate: '2023-01-02T20:04:41.662Z',\n exportTool: 'frodo',\n exportToolVersion: 'v0.17.1 [v18.5.0]',\n },\n script: {\n '5b3e4dd2-8060-4029-9ec1-6867932ab939': {\n _id: '5b3e4dd2-8060-4029-9ec1-6867932ab939',\n name: 'FrodoTestScript5',\n description: 'Check if username has already been collected.',\n script: [\n '/* Check Username',\n ' *',\n ' * Author: volker.scheuber@forgerock.com',\n ' * ',\n ' * Check if username has already been collected.',\n ' * Return \"known\" if yes, \"unknown\" otherwise.',\n ' * ',\n ' * This script does not need to be parametrized. It will work properly as is.',\n ' * ',\n ' * The Scripted Decision Node needs the following outcomes defined:',\n ' * - known',\n ' * - unknown',\n ' */',\n '(function () {',\n ' if (null != sharedState.get(\"username\")) {',\n ' outcome = \"known\";',\n ' }',\n ' else {',\n ' outcome = \"unknown\";',\n ' }',\n '}());',\n ],\n default: false,\n language: 'JAVASCRIPT',\n context: 'AUTHENTICATION_TREE_DECISION_NODE',\n createdBy: 'null',\n creationDate: 0,\n lastModifiedBy: 'null',\n lastModifiedDate: 0,\n },\n },\n },\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageScript(script1);\n await stageScript(script2);\n await stageScript(script3, false);\n await stageScript(script4);\n await stageScript(script5, false);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageScript(script1, false);\n await stageScript(script2, false);\n await stageScript(script3, false);\n await stageScript(script4, false);\n await stageScript(script5, false);\n }\n });\n\n describe('createScriptExportTemplate()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.createScriptExportTemplate).toBeDefined();\n });\n\n test(`1: Create script export template`, async () => {\n const response = Script.createScriptExportTemplate();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('getScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScripts).toBeDefined();\n });\n\n test(`1: Get scripts`, async () => {\n const response = await Script.getScripts();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScript).toBeDefined();\n });\n\n test(`1: Get script by id '${script1.id}'`, async () => {\n const response = await Script.getScript(script1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getScriptByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.getScriptByName).toBeDefined();\n });\n\n test(`1: Get script by name '${script1.name}'`, async () => {\n const response = await Script.getScriptByName(script1.name);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.putScript).toBeDefined();\n });\n\n test(`1: Put script '${script3.id}'`, async () => {\n const response = await Script.putScript(script3.id, script3.data);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportScript()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScript).toBeDefined();\n });\n\n test(`1: Export script by id ${script1.id}`, async () => {\n const response = await Script.exportScript(script1.id);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportScriptByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScriptByName).toBeDefined();\n });\n\n test(`1: Export script by name ${script1.name}`, async () => {\n const response = await Script.exportScriptByName(script1.name);\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.exportScripts).toBeDefined();\n });\n\n test('1: Export all scripts', async () => {\n const response = await Script.exportScripts();\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importScripts()', () => {\n test('0: Method is implemented', async () => {\n expect(Script.importScripts).toBeDefined();\n });\n\n test(`1: Import all scripts`, async () => {\n expect.assertions(1);\n const outcome = await Script.importScripts('', import1.data);\n expect(outcome).toBeTruthy();\n });\n\n test(`2: Import script by name`, async () => {\n expect.assertions(1);\n const outcome = await Script.importScripts(import1.name, import1.data);\n expect(outcome).toBeTruthy();\n });\n });\n});\n"],"mappings":"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"}
|
package/cjs/ops/ServiceOps.js
CHANGED
|
@@ -12,8 +12,8 @@ exports.getFullServices = getFullServices;
|
|
|
12
12
|
exports.getListOfServices = getListOfServices;
|
|
13
13
|
exports.importService = importService;
|
|
14
14
|
exports.importServices = importServices;
|
|
15
|
-
var _ServiceApi = require("../api/ServiceApi");
|
|
16
|
-
var _Console = require("./utils/Console");
|
|
15
|
+
var _ServiceApi = require("../api/ServiceApi.js");
|
|
16
|
+
var _Console = require("./utils/Console.js");
|
|
17
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
19
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOps.js","names":["_ServiceApi","require","_Console","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","createServiceExportTemplate","meta","service","getListOfServices","_getListOfServices2","globalConfig","debugMessage","services","_getListOfServices","result","getFullServices","_getFullServices","concat","serviceList","fullServiceData","all","map","_ref","listItem","nextDescendents","getService","_id","getServiceDescendents","_error$response","_error$response2","_error$response2$data","response","status","data","message","_error$response3","_error$response3$data","printMessage","_x13","putFullService","_x","_x2","_x3","_putFullService","serviceId","clean","_rev","enabled","deleteFullService","_error$response4","_error$response5","_error$response5$data","_error$response6","_error$response6$data","putService","_ref2","descendent","type","_type","descendentId","putServiceNextDescendent","_error$response7","_error$response7$data","_x14","putFullServices","_x4","_x5","_putFullServices","serviceEntries","results","id","_error$response8","_error$response8$data","_error$response9","_error$response9$data","detail","JSON","stringify","_x6","_deleteFullService","serviceNextDescendentData","nextDescendent","deleteServiceNextDescendent","deleteService","deleteFullServices","_deleteFullServices","_ref3","serviceListItem","_error$response10","_error$response11","_error$response11$dat","_error$response12","_error$response12$dat","_x15","_error$response13","_error$response13$dat","exportService","_x7","_exportService","exportData","_error$response14","_error$response14$dat","exportServices","_exportServices","_error$response15","_error$response15$dat","importService","_x8","_x9","_x10","_importService","importData","serviceData","importServices","_x11","_x12","_importServices","entries","_error$response16","_error$response16$dat","_error$response17","_error$response17$dat"],"sources":["../../src/ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\nexport async function getListOfServices(globalConfig = false) {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices(globalConfig)).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices(\n globalConfig = false\n): Promise<FullService[]> {\n debugMessage(\n `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`\n );\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService(listItem._id, globalConfig),\n getServiceDescendents(listItem._id, globalConfig),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns promise resolving to a service object\n */\nasync function putFullService(\n serviceId: string,\n fullServiceData: FullService,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(\n `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`\n );\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService(serviceId, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService(serviceId, fullServiceData, globalConfig);\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent(\n serviceId,\n type,\n descendentId,\n descendent,\n globalConfig\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices(\n serviceEntries: [string, FullService][],\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton[]> {\n debugMessage(\n `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`\n );\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService(id, data, clean, globalConfig);\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullService(\n serviceId: string,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`\n );\n const serviceNextDescendentData = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent(\n serviceId,\n nextDescendent._type._id,\n nextDescendent._id,\n globalConfig\n )\n )\n );\n\n await deleteService(serviceId, globalConfig);\n debugMessage(`ServiceOps.deleteFullService: end`);\n}\n\n/**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullServices(globalConfig = false) {\n debugMessage(\n `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`\n );\n try {\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService(serviceListItem._id, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService(\n serviceId: string,\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService(serviceId, globalConfig);\n service.nextDescendents = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function exportServices(\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(\n `ServiceOps.exportServices: start, globalConfig=${globalConfig}`\n );\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices(globalConfig);\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService(\n serviceId,\n serviceData,\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function importServices(\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.importServices: start, globalConfig=${globalConfig}`\n );\n try {\n const result = await putFullServices(\n Object.entries(importData.service),\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServiceOps.js","names":["createServiceExportTemplate","meta","service","getListOfServices","_getListOfServices2","apply","arguments","_asyncToGenerator","globalConfig","length","undefined","debugMessage","services","_getListOfServices","result","getFullServices","_getFullServices","concat","serviceList","fullServiceData","Promise","all","map","_ref","listItem","nextDescendents","getService","_id","getServiceDescendents","_objectSpread","error","_error$response","_error$response2","_error$response2$data","response","status","data","message","_error$response3","_error$response3$data","printMessage","_x13","filter","putFullService","_x","_x2","_x3","_putFullService","serviceId","clean","_rev","enabled","deleteFullService","_error$response4","_error$response5","_error$response5$data","_error$response6","_error$response6$data","putService","_ref2","descendent","type","_type","descendentId","putServiceNextDescendent","_error$response7","_error$response7$data","_x14","putFullServices","_x4","_x5","_putFullServices","serviceEntries","results","id","push","_error$response8","_error$response8$data","_error$response9","_error$response9$data","detail","JSON","stringify","_x6","_deleteFullService","serviceNextDescendentData","nextDescendent","deleteServiceNextDescendent","deleteService","deleteFullServices","_deleteFullServices","_ref3","serviceListItem","_error$response10","_error$response11","_error$response11$dat","_error$response12","_error$response12$dat","_x15","_error$response13","_error$response13$dat","exportService","_x7","_exportService","exportData","_error$response14","_error$response14$dat","exportServices","_exportServices","_error$response15","_error$response15$dat","importService","_x8","_x9","_x10","_importService","importData","serviceData","importServices","_x11","_x12","_importServices","Object","entries","_error$response16","_error$response16$dat","_error$response17","_error$response17$dat"],"sources":["../../src/ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\nexport async function getListOfServices(globalConfig = false) {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices(globalConfig)).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices(\n globalConfig = false\n): Promise<FullService[]> {\n debugMessage(\n `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`\n );\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService(listItem._id, globalConfig),\n getServiceDescendents(listItem._id, globalConfig),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns promise resolving to a service object\n */\nasync function putFullService(\n serviceId: string,\n fullServiceData: FullService,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(\n `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`\n );\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService(serviceId, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService(serviceId, fullServiceData, globalConfig);\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent(\n serviceId,\n type,\n descendentId,\n descendent,\n globalConfig\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices(\n serviceEntries: [string, FullService][],\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton[]> {\n debugMessage(\n `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`\n );\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService(id, data, clean, globalConfig);\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullService(\n serviceId: string,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`\n );\n const serviceNextDescendentData = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent(\n serviceId,\n nextDescendent._type._id,\n nextDescendent._id,\n globalConfig\n )\n )\n );\n\n await deleteService(serviceId, globalConfig);\n debugMessage(`ServiceOps.deleteFullService: end`);\n}\n\n/**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullServices(globalConfig = false) {\n debugMessage(\n `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`\n );\n try {\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService(serviceListItem._id, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService(\n serviceId: string,\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService(serviceId, globalConfig);\n service.nextDescendents = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function exportServices(\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(\n `ServiceOps.exportServices: start, globalConfig=${globalConfig}`\n );\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices(globalConfig);\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService(\n serviceId,\n serviceData,\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function importServices(\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.importServices: start, globalConfig=${globalConfig}`\n );\n try {\n const result = await putFullServices(\n Object.entries(importData.service),\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|