@rockcarver/frodo-lib 0.17.2 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/cjs/api/ApiTypes.js +16 -16
  3. package/cjs/api/ApiTypes.js.map +1 -1
  4. package/cjs/api/IdmConfigApi.js +28 -7
  5. package/cjs/api/IdmConfigApi.js.map +1 -1
  6. package/cjs/api/SocialIdentityProvidersApi.js +22 -0
  7. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  8. package/cjs/index.js +3 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/ops/AgentOps.test.js.map +1 -1
  11. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  12. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  13. package/cjs/ops/IdmOps.test.js.map +1 -1
  14. package/cjs/ops/IdpOps.js +182 -275
  15. package/cjs/ops/IdpOps.js.map +1 -1
  16. package/cjs/ops/IdpOps.test.js.map +1 -1
  17. package/cjs/test/mocks/ForgeRockApiMockEngine.js +1 -108
  18. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  19. package/esm/api/ApiTypes.mjs +16 -16
  20. package/esm/api/IdmConfigApi.mjs +19 -4
  21. package/esm/api/SocialIdentityProvidersApi.mjs +16 -0
  22. package/esm/index.mjs +1 -0
  23. package/esm/ops/AgentOps.test.mjs +1 -1
  24. package/esm/ops/ConnectionProfileOps.test.mjs +94 -54
  25. package/esm/ops/EmailTemplateOps.test.mjs +140 -28
  26. package/esm/ops/IdmOps.test.mjs +159 -62
  27. package/esm/ops/IdpOps.mjs +139 -210
  28. package/esm/ops/IdpOps.test.mjs +651 -52
  29. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +1 -98
  30. package/package.json +1 -1
  31. package/types/api/ApiTypes.d.ts +21 -21
  32. package/types/api/ApiTypes.d.ts.map +1 -1
  33. package/types/api/IdmConfigApi.d.ts +11 -5
  34. package/types/api/IdmConfigApi.d.ts.map +1 -1
  35. package/types/api/SocialIdentityProvidersApi.d.ts +7 -0
  36. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  37. package/types/index.d.ts +1 -0
  38. package/types/index.d.ts.map +1 -1
  39. package/types/ops/IdpOps.d.ts +31 -24
  40. package/types/ops/IdpOps.d.ts.map +1 -1
  41. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +1 -11
  42. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.17.3] - 2022-12-30
11
+
10
12
  ## [0.17.2] - 2022-12-26
11
13
 
12
14
  ## [0.17.2-0] - 2022-12-21
@@ -899,7 +901,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
899
901
  - Fixed problem with adding connection profiles
900
902
  - Miscellaneous bug fixes
901
903
 
902
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2...HEAD
904
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.17.3...HEAD
905
+
906
+ [0.17.3]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2...v0.17.3
903
907
 
904
908
  [0.17.2]: https://github.com/rockcarver/frodo-lib/compare/v0.17.2-0...v0.17.2
905
909
 
@@ -7,26 +7,26 @@ exports.ScriptLanguage = exports.ScriptContext = exports.Saml2ProiderLocation =
7
7
  var ScriptLanguage;
8
8
  exports.ScriptLanguage = ScriptLanguage;
9
9
  (function (ScriptLanguage) {
10
- ScriptLanguage["GROOVY"] = "GROOVY";
11
- ScriptLanguage["JAVASCRIPT"] = "JAVASCRIPT";
10
+ ScriptLanguage[ScriptLanguage["GROOVY"] = 0] = "GROOVY";
11
+ ScriptLanguage[ScriptLanguage["JAVASCRIPT"] = 1] = "JAVASCRIPT";
12
12
  })(ScriptLanguage || (exports.ScriptLanguage = ScriptLanguage = {}));
13
13
  var ScriptContext;
14
14
  exports.ScriptContext = ScriptContext;
15
15
  (function (ScriptContext) {
16
- ScriptContext["OAUTH2_ACCESS_TOKEN_MODIFICATION"] = "OAUTH2_ACCESS_TOKEN_MODIFICATION";
17
- ScriptContext["AUTHENTICATION_CLIENT_SIDE"] = "AUTHENTICATION_CLIENT_SIDE";
18
- ScriptContext["AUTHENTICATION_TREE_DECISION_NODE"] = "AUTHENTICATION_TREE_DECISION_NODE";
19
- ScriptContext["AUTHENTICATION_SERVER_SIDE"] = "AUTHENTICATION_SERVER_SIDE";
20
- ScriptContext["SOCIAL_IDP_PROFILE_TRANSFORMATION"] = "SOCIAL_IDP_PROFILE_TRANSFORMATION";
21
- ScriptContext["OAUTH2_VALIDATE_SCOPE"] = "OAUTH2_VALIDATE_SCOPE";
22
- ScriptContext["CONFIG_PROVIDER_NODE"] = "CONFIG_PROVIDER_NODE";
23
- ScriptContext["OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER"] = "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER";
24
- ScriptContext["OAUTH2_EVALUATE_SCOPE"] = "OAUTH2_EVALUATE_SCOPE";
25
- ScriptContext["POLICY_CONDITION"] = "POLICY_CONDITION";
26
- ScriptContext["OIDC_CLAIMS"] = "OIDC_CLAIMS";
27
- ScriptContext["SAML2_IDP_ADAPTER"] = "SAML2_IDP_ADAPTER";
28
- ScriptContext["SAML2_IDP_ATTRIBUTE_MAPPER"] = "SAML2_IDP_ATTRIBUTE_MAPPER";
29
- ScriptContext["OAUTH2_MAY_ACT"] = "OAUTH2_MAY_ACT";
16
+ ScriptContext[ScriptContext["OAUTH2_ACCESS_TOKEN_MODIFICATION"] = 0] = "OAUTH2_ACCESS_TOKEN_MODIFICATION";
17
+ ScriptContext[ScriptContext["AUTHENTICATION_CLIENT_SIDE"] = 1] = "AUTHENTICATION_CLIENT_SIDE";
18
+ ScriptContext[ScriptContext["AUTHENTICATION_TREE_DECISION_NODE"] = 2] = "AUTHENTICATION_TREE_DECISION_NODE";
19
+ ScriptContext[ScriptContext["AUTHENTICATION_SERVER_SIDE"] = 3] = "AUTHENTICATION_SERVER_SIDE";
20
+ ScriptContext[ScriptContext["SOCIAL_IDP_PROFILE_TRANSFORMATION"] = 4] = "SOCIAL_IDP_PROFILE_TRANSFORMATION";
21
+ ScriptContext[ScriptContext["OAUTH2_VALIDATE_SCOPE"] = 5] = "OAUTH2_VALIDATE_SCOPE";
22
+ ScriptContext[ScriptContext["CONFIG_PROVIDER_NODE"] = 6] = "CONFIG_PROVIDER_NODE";
23
+ ScriptContext[ScriptContext["OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER"] = 7] = "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER";
24
+ ScriptContext[ScriptContext["OAUTH2_EVALUATE_SCOPE"] = 8] = "OAUTH2_EVALUATE_SCOPE";
25
+ ScriptContext[ScriptContext["POLICY_CONDITION"] = 9] = "POLICY_CONDITION";
26
+ ScriptContext[ScriptContext["OIDC_CLAIMS"] = 10] = "OIDC_CLAIMS";
27
+ ScriptContext[ScriptContext["SAML2_IDP_ADAPTER"] = 11] = "SAML2_IDP_ADAPTER";
28
+ ScriptContext[ScriptContext["SAML2_IDP_ATTRIBUTE_MAPPER"] = 12] = "SAML2_IDP_ATTRIBUTE_MAPPER";
29
+ ScriptContext[ScriptContext["OAUTH2_MAY_ACT"] = 13] = "OAUTH2_MAY_ACT";
30
30
  })(ScriptContext || (exports.ScriptContext = ScriptContext = {}));
31
31
  var Saml2ProiderLocation;
32
32
  exports.Saml2ProiderLocation = Saml2ProiderLocation;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IA6EYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
1
+ {"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]:\n | string\n | number\n | boolean\n | string[]\n | ObjectSkeletonInterface\n | object\n | null;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY,\n JAVASCRIPT,\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION,\n AUTHENTICATION_CLIENT_SIDE,\n AUTHENTICATION_TREE_DECISION_NODE,\n AUTHENTICATION_SERVER_SIDE,\n SOCIAL_IDP_PROFILE_TRANSFORMATION,\n OAUTH2_VALIDATE_SCOPE,\n CONFIG_PROVIDER_NODE,\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER,\n OAUTH2_EVALUATE_SCOPE,\n POLICY_CONDITION,\n OIDC_CLAIMS,\n SAML2_IDP_ADAPTER,\n SAML2_IDP_ATTRIBUTE_MAPPER,\n OAUTH2_MAY_ACT,\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n default: boolean;\n script: string | string[];\n language: keyof typeof ScriptLanguage;\n context: keyof typeof ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IAoFYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.deleteConfigEntity = deleteConfigEntity;
6
7
  exports.getAllConfigEntities = getAllConfigEntities;
7
8
  exports.getConfigEntitiesByType = getConfigEntitiesByType;
8
9
  exports.getConfigEntity = getConfigEntity;
@@ -31,7 +32,7 @@ function getAllConfigEntities() {
31
32
  }
32
33
  /**
33
34
  * Get IDM config entities by type
34
- * @param {String} type the desired type of config entity
35
+ * @param {string} type the desired type of config entity
35
36
  * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type
36
37
  */
37
38
  function _getAllConfigEntities() {
@@ -85,11 +86,9 @@ function putConfigEntity(_x3, _x4) {
85
86
  return _putConfigEntity.apply(this, arguments);
86
87
  }
87
88
  /**
88
- * Query managed objects
89
- * @param {String} type managed object type
90
- * @param {[String]} fields fields to retrieve
91
- * @param {String} pageCookie paged results cookie
92
- * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
89
+ * Delete IDM config entity
90
+ * @param {string} entityId config entity id
91
+ * @returns {Promise<unknown>} a promise that resolves to an IDM config entity
93
92
  */
94
93
  function _putConfigEntity() {
95
94
  _putConfigEntity = _asyncToGenerator(function* (entityId, entityData) {
@@ -105,7 +104,29 @@ function _putConfigEntity() {
105
104
  });
106
105
  return _putConfigEntity.apply(this, arguments);
107
106
  }
108
- function queryAllManagedObjectsByType(_x5, _x6, _x7) {
107
+ function deleteConfigEntity(_x5) {
108
+ return _deleteConfigEntity.apply(this, arguments);
109
+ }
110
+ /**
111
+ * Query managed objects
112
+ * @param {string} type managed object type
113
+ * @param {string[]} fields fields to retrieve
114
+ * @param {string} pageCookie paged results cookie
115
+ * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
116
+ */
117
+ function _deleteConfigEntity() {
118
+ _deleteConfigEntity = _asyncToGenerator(function* (entityId) {
119
+ var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(state.getHost()), entityId);
120
+ var {
121
+ data
122
+ } = yield (0, _BaseApi.generateIdmApi)().delete(urlString, {
123
+ withCredentials: true
124
+ });
125
+ return data;
126
+ });
127
+ return _deleteConfigEntity.apply(this, arguments);
128
+ }
129
+ function queryAllManagedObjectsByType(_x6, _x7, _x8) {
109
130
  return _queryAllManagedObjectsByType.apply(this, arguments);
110
131
  }
111
132
  function _queryAllManagedObjectsByType() {
@@ -1 +1 @@
1
- {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","state","getHost","data","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {String} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {[String]} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type,\n fields,\n pageCookie\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","state","getHost","data","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","deleteConfigEntity","delete","withCredentials","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity(entityId: string) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type: string,\n fields: string[],\n pageCookie: string\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.deleteProviderByTypeAndId = deleteProviderByTypeAndId;
6
7
  exports.getProviderByTypeAndId = getProviderByTypeAndId;
7
8
  exports.getSocialIdentityProviderTypes = getSocialIdentityProviderTypes;
8
9
  exports.getSocialIdentityProviders = getSocialIdentityProviders;
@@ -119,6 +120,12 @@ function _getProviderByTypeAndId() {
119
120
  function putProviderByTypeAndId(_x4, _x5, _x6) {
120
121
  return _putProviderByTypeAndId.apply(this, arguments);
121
122
  }
123
+ /**
124
+ * Delete social identity provider by type and id
125
+ * @param {string} providerId provider type
126
+ * @param {string} providerId provider id
127
+ * @returns {Promise<unknown>} a promise that resolves to a social identity provider
128
+ */
122
129
  function _putProviderByTypeAndId() {
123
130
  _putProviderByTypeAndId = _asyncToGenerator(function* (type, id, providerData) {
124
131
  // until we figure out a way to use transport keys in Frodo,
@@ -134,4 +141,19 @@ function _putProviderByTypeAndId() {
134
141
  });
135
142
  return _putProviderByTypeAndId.apply(this, arguments);
136
143
  }
144
+ function deleteProviderByTypeAndId(_x7, _x8) {
145
+ return _deleteProviderByTypeAndId.apply(this, arguments);
146
+ }
147
+ function _deleteProviderByTypeAndId() {
148
+ _deleteProviderByTypeAndId = _asyncToGenerator(function* (type, providerId) {
149
+ var urlString = _util.default.format(providerByTypeAndIdURLTemplate, state.getHost(), (0, _ApiUtils.getCurrentRealmPath)(), type, providerId);
150
+ var {
151
+ data
152
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).delete(urlString, {
153
+ withCredentials: true
154
+ });
155
+ return data;
156
+ });
157
+ return _deleteProviderByTypeAndId.apply(this, arguments);
158
+ }
137
159
  //# sourceMappingURL=SocialIdentityProvidersApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocialIdentityProvidersApi.js","names":["getAllProviderTypesURLTemplate","providerByTypeAndIdURLTemplate","getAllProvidersURLTemplate","getProvidersByTypeURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getSocialIdentityProviderTypes","urlString","util","format","state","getHost","data","generateAmApi","get","withCredentials","getSocialIdentityProvidersByType","type","getSocialIdentityProviders","post","getProviderByTypeAndId","id","putProviderByTypeAndId","providerData","cleanData","deleteDeepByKey","put"],"sources":["api/SocialIdentityProvidersApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst getAllProviderTypesURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=getAllTypes';\nconst providerByTypeAndIdURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s/%s';\nconst getAllProvidersURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=nextdescendents';\nconst getProvidersByTypeURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services/SocialIdentityProviders`,\n apiVersion,\n };\n};\n\n/**\n * Get social identity provider types\n * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types\n */\nexport async function getSocialIdentityProviderTypes() {\n const urlString = util.format(\n getAllProviderTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity providers by type\n * @param {String} type social identity provider type\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type\n */\nexport async function getSocialIdentityProvidersByType(type) {\n const urlString = util.format(\n getProvidersByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders() {\n const urlString = util.format(\n getAllProvidersURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {*} type social identity provider type\n * @param {*} id social identity provider id/name\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function getProviderByTypeAndId(type, id) {\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {String} type social identity provider type\n * @param {String} id social identity provider id/name\n * @param {Object} providerData a social identity provider object\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function putProviderByTypeAndId(type, id, providerData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(providerData, '-encrypted');\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SocialIdentityProvidersApi.js","names":["getAllProviderTypesURLTemplate","providerByTypeAndIdURLTemplate","getAllProvidersURLTemplate","getProvidersByTypeURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getSocialIdentityProviderTypes","urlString","util","format","state","getHost","data","generateAmApi","get","withCredentials","getSocialIdentityProvidersByType","type","getSocialIdentityProviders","post","getProviderByTypeAndId","id","putProviderByTypeAndId","providerData","cleanData","deleteDeepByKey","put","deleteProviderByTypeAndId","providerId","delete"],"sources":["api/SocialIdentityProvidersApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst getAllProviderTypesURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=getAllTypes';\nconst providerByTypeAndIdURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s/%s';\nconst getAllProvidersURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=nextdescendents';\nconst getProvidersByTypeURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services/SocialIdentityProviders`,\n apiVersion,\n };\n};\n\n/**\n * Get social identity provider types\n * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types\n */\nexport async function getSocialIdentityProviderTypes() {\n const urlString = util.format(\n getAllProviderTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity providers by type\n * @param {String} type social identity provider type\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type\n */\nexport async function getSocialIdentityProvidersByType(type) {\n const urlString = util.format(\n getProvidersByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders() {\n const urlString = util.format(\n getAllProvidersURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {*} type social identity provider type\n * @param {*} id social identity provider id/name\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function getProviderByTypeAndId(type, id) {\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {String} type social identity provider type\n * @param {String} id social identity provider id/name\n * @param {Object} providerData a social identity provider object\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function putProviderByTypeAndId(type, id, providerData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(providerData, '-encrypted');\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete social identity provider by type and id\n * @param {string} providerId provider type\n * @param {string} providerId provider id\n * @returns {Promise<unknown>} a promise that resolves to a social identity provider\n */\nexport async function deleteProviderByTypeAndId(\n type: string,\n providerId: string\n) {\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n providerId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "FrodoMockAdapter", {
10
10
  return _BaseApi.FrodoMockAdapter;
11
11
  }
12
12
  });
13
- exports.state = exports.constants = exports.VariablesRaw = exports.Variables = exports.ValidationUtils = exports.Utils = exports.TypesRaw = exports.Types = exports.TreeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.ServiceAccount = exports.Service = exports.SecretsRaw = exports.Secrets = exports.Script = exports.Saml2 = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.Node = exports.ManagedObject = exports.Log = exports.LibVersion = exports.Journey = exports.Jose = exports.Idp = exports.IdmConfigRaw = exports.Idm = void 0;
13
+ exports.state = exports.constants = exports.VariablesRaw = exports.Variables = exports.ValidationUtils = exports.Utils = exports.TypesRaw = exports.Types = exports.TreeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.SocialIdentityProvidersRaw = exports.ServiceAccount = exports.Service = exports.SecretsRaw = exports.Secrets = exports.Script = exports.Saml2 = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.Node = exports.ManagedObject = exports.Log = exports.LibVersion = exports.Journey = exports.Jose = exports.Idp = exports.IdmConfigRaw = exports.Idm = void 0;
14
14
  var _colors = _interopRequireDefault(require("colors"));
15
15
  var _AgentRaw = _interopRequireWildcard(require("./api/AgentApi"));
16
16
  exports.AgentRaw = _AgentRaw;
@@ -22,6 +22,8 @@ var _OAuth2OIDCApi = _interopRequireWildcard(require("./api/OAuth2OIDCApi"));
22
22
  exports.OAuth2OIDCApi = _OAuth2OIDCApi;
23
23
  var _SecretsRaw = _interopRequireWildcard(require("./api/SecretsApi"));
24
24
  exports.SecretsRaw = _SecretsRaw;
25
+ var _SocialIdentityProvidersRaw = _interopRequireWildcard(require("./api/SocialIdentityProvidersApi"));
26
+ exports.SocialIdentityProvidersRaw = _SocialIdentityProvidersRaw;
25
27
  var _StartupRaw = _interopRequireWildcard(require("./api/StartupApi"));
26
28
  exports.StartupRaw = _StartupRaw;
27
29
  var _TreeRaw = _interopRequireWildcard(require("./api/TreeApi"));
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Color","enable"],"sources":["index.ts"],"sourcesContent":["import Color from 'colors';\n\nColor.enable();\n\n// Api Layer\nexport * as AgentRaw from './api/AgentApi';\nexport * as AuthenticateRaw from './api/AuthenticateApi';\nexport * as NodeRaw from './api/NodeApi';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as TypesRaw from './api/ApiTypes';\nexport * as VariablesRaw from './api/VariablesApi';\nexport * as IdmConfigRaw from './api/IdmConfigApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Agent from './ops/AgentOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Jose from './ops/JoseOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as Node from './ops/NodeOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Service from './ops/ServiceOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as ServiceAccount from './ops/ServiceAccountOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Types from './ops/OpsTypes';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\nexport * as ValidationUtils from './ops/utils/ValidationUtils';\nexport * as LibVersion from './ops/utils/Version';\nexport * as ExportImportUtils from './ops/utils/ExportImportUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './shared/State';\nexport * as constants from './storage/StaticStorage';\n\n// Mock Engine\nexport * as ForgeRockApiMockEngine from './test/mocks/ForgeRockApiMockEngine';\nexport { FrodoMockAdapter } from './api/BaseApi';\n"],"mappings":";;;;;;;;;;;;;AAAA;AAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyD3B;AAAiD;AAAA;AAAA;AAvDjDA,eAAK,CAACC,MAAM,EAAE;;AAEd"}
1
+ {"version":3,"file":"index.js","names":["Color","enable"],"sources":["index.ts"],"sourcesContent":["import Color from 'colors';\n\nColor.enable();\n\n// Api Layer\nexport * as AgentRaw from './api/AgentApi';\nexport * as AuthenticateRaw from './api/AuthenticateApi';\nexport * as NodeRaw from './api/NodeApi';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as SocialIdentityProvidersRaw from './api/SocialIdentityProvidersApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as TypesRaw from './api/ApiTypes';\nexport * as VariablesRaw from './api/VariablesApi';\nexport * as IdmConfigRaw from './api/IdmConfigApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Agent from './ops/AgentOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Jose from './ops/JoseOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as Node from './ops/NodeOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Service from './ops/ServiceOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as ServiceAccount from './ops/ServiceAccountOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Types from './ops/OpsTypes';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\nexport * as ValidationUtils from './ops/utils/ValidationUtils';\nexport * as LibVersion from './ops/utils/Version';\nexport * as ExportImportUtils from './ops/utils/ExportImportUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './shared/State';\nexport * as constants from './storage/StaticStorage';\n\n// Mock Engine\nexport * as ForgeRockApiMockEngine from './test/mocks/ForgeRockApiMockEngine';\nexport { FrodoMockAdapter } from './api/BaseApi';\n"],"mappings":";;;;;;;;;;;;;AAAA;AAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0D3B;AAAiD;AAAA;AAAA;AAxDjDA,eAAK,CAACC,MAAM,EAAE;;AAEd"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentOps.test.js","names":["jest","setTimeout","autoSetupPolly","stageAgent","agent","create","AgentRaw","getAgentByTypeAndId","type","id","deleteAgentByTypeAndId","error","putAgentByTypeAndId","getAgent","describe","gateway1","gateway2","gateway3","gateway4","gateway5","gateway6","gateway7","gateway8","gateway9","java1","java2","java3","java4","java5","java6","java7","java8","java9","web1","web2","web3","web4","web5","web6","web7","web8","web9","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","FRODO_RECORD_PHASE","test","expect","Agent","createAgentExportTemplate","toBeDefined","response","toMatchSnapshot","getAgents","getIdentityGatewayAgents","getIdentityGatewayAgent","putIdentityGatewayAgent","getJavaAgents","getJavaAgent","putJavaAgent","getWebAgents","getWebAgent","putWebAgent","exportAgents","exportIdentityGatewayAgents","exportJavaAgents","exportWebAgents","exportAgent","exportIdentityGatewayAgent","exportJavaAgent","exportWebAgent","importAgents","agents","exportData","agentId","Object","keys","toBeTruthy","importIdentityGatewayAgents","assertions","importJavaAgents","importWebAgents","importAgent","importIdentityGatewayAgent","message","importJavaAgent","importWebAgent","deleteAgent","deleteIdentityGatewayAgent","deleteJavaAgent","deleteWebAgent","deleteIdentityGatewayAgents","deleteJavaAgents","deleteWebAgents","deleteAgents"],"sources":["ops/AgentOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 5 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Record Non-destructive tests\n * Phase 2: Record Group 1 of DESTRUCTIVE tests - Deletes by ID\n * Phase 3: Record Group 2 of DESTRUCTIVE tests - Deletes by type\n * Phase 4: Record Group 3 of DESTRUCTIVE tests - Delete all\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 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 and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record AgentOps\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE AGENTS!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record AgentOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record AgentOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record AgentOps\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 must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentOps\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 AgentOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { jest } from '@jest/globals';\nimport { Agent, AgentRaw } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\n// Increase timeout for this test as pipeline keeps failing with error:\n// Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.\njest.setTimeout(30000);\n\nautoSetupPolly();\n\nasync function stageAgent(agent: { id: string; type: string }, create = true) {\n // setup gateway1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(agent.type, agent.id);\n await AgentRaw.deleteAgentByTypeAndId(agent.type, agent.id);\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await AgentRaw.putAgentByTypeAndId(\n agent.type,\n agent.id,\n getAgent(agent.type, agent.id)\n );\n }\n }\n}\n\ndescribe('AgentOps', () => {\n const gateway1 = {\n id: 'FrodoOpsTestGatewayAgent1',\n type: 'IdentityGatewayAgent',\n };\n const gateway2 = {\n id: 'FrodoOpsTestGatewayAgent2',\n type: 'IdentityGatewayAgent',\n };\n const gateway3 = {\n id: 'FrodoOpsTestGatewayAgent3',\n type: 'IdentityGatewayAgent',\n };\n const gateway4 = {\n id: 'FrodoOpsTestGatewayAgent4',\n type: 'IdentityGatewayAgent',\n };\n const gateway5 = {\n id: 'FrodoOpsTestGatewayAgent5',\n type: 'IdentityGatewayAgent',\n };\n const gateway6 = {\n id: 'FrodoOpsTestGatewayAgent6',\n type: 'IdentityGatewayAgent',\n };\n const gateway7 = {\n id: 'FrodoOpsTestGatewayAgent7',\n type: 'IdentityGatewayAgent',\n };\n const gateway8 = {\n id: 'FrodoOpsTestGatewayAgent8',\n type: 'IdentityGatewayAgent',\n };\n const gateway9 = {\n id: 'FrodoOpsTestGatewayAgent9',\n type: 'IdentityGatewayAgent',\n };\n const java1 = {\n id: 'FrodoOpsTestJavaAgent1',\n type: 'J2EEAgent',\n };\n const java2 = {\n id: 'FrodoOpsTestJavaAgent2',\n type: 'J2EEAgent',\n };\n const java3 = {\n id: 'FrodoOpsTestJavaAgent3',\n type: 'J2EEAgent',\n };\n const java4 = {\n id: 'FrodoOpsTestJavaAgent4',\n type: 'J2EEAgent',\n };\n const java5 = {\n id: 'FrodoOpsTestJavaAgent5',\n type: 'J2EEAgent',\n };\n const java6 = {\n id: 'FrodoOpsTestJavaAgent6',\n type: 'J2EEAgent',\n };\n const java7 = {\n id: 'FrodoOpsTestJavaAgent7',\n type: 'J2EEAgent',\n };\n const java8 = {\n id: 'FrodoOpsTestJavaAgent8',\n type: 'J2EEAgent',\n };\n const java9 = {\n id: 'FrodoOpsTestJavaAgent9',\n type: 'J2EEAgent',\n };\n const web1 = {\n id: 'FrodoOpsTestWebAgent1',\n type: 'WebAgent',\n };\n const web2 = {\n id: 'FrodoOpsTestWebAgent2',\n type: 'WebAgent',\n };\n const web3 = {\n id: 'FrodoOpsTestWebAgent3',\n type: 'WebAgent',\n };\n const web4 = {\n id: 'FrodoOpsTestWebAgent4',\n type: 'WebAgent',\n };\n const web5 = {\n id: 'FrodoOpsTestWebAgent5',\n type: 'WebAgent',\n };\n const web6 = {\n id: 'FrodoOpsTestWebAgent6',\n type: 'WebAgent',\n };\n const web7 = {\n id: 'FrodoOpsTestWebAgent7',\n type: 'WebAgent',\n };\n const web8 = {\n id: 'FrodoOpsTestWebAgent8',\n type: 'WebAgent',\n };\n const web9 = {\n id: 'FrodoOpsTestWebAgent9',\n type: 'WebAgent',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageAgent(gateway1);\n await stageAgent(gateway2, false);\n await stageAgent(gateway3, false);\n await stageAgent(gateway4, false);\n await stageAgent(gateway5, false);\n await stageAgent(gateway6, false);\n await stageAgent(gateway7);\n await stageAgent(gateway8);\n await stageAgent(gateway9);\n\n await stageAgent(java1);\n await stageAgent(java2, false);\n await stageAgent(java3, false);\n await stageAgent(java4, false);\n await stageAgent(java5, false);\n await stageAgent(java6, false);\n await stageAgent(java7);\n await stageAgent(java8);\n await stageAgent(java9);\n\n await stageAgent(web1);\n await stageAgent(web2, false);\n await stageAgent(web3, false);\n await stageAgent(web4, false);\n await stageAgent(web5, false);\n await stageAgent(web6, false);\n await stageAgent(web7);\n await stageAgent(web8);\n await stageAgent(web9);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageAgent(gateway1, false);\n await stageAgent(gateway2, false);\n await stageAgent(gateway3, false);\n await stageAgent(gateway4, false);\n await stageAgent(gateway5, false);\n await stageAgent(gateway6, false);\n await stageAgent(gateway7, false);\n await stageAgent(gateway8, false);\n await stageAgent(gateway9, false);\n\n await stageAgent(java1, false);\n await stageAgent(java2, false);\n await stageAgent(java3, false);\n await stageAgent(java4, false);\n await stageAgent(java5, false);\n await stageAgent(java6, false);\n await stageAgent(java7, false);\n await stageAgent(java8, false);\n await stageAgent(java9, false);\n\n await stageAgent(web1, false);\n await stageAgent(web2, false);\n await stageAgent(web3, false);\n await stageAgent(web4, false);\n await stageAgent(web5, false);\n await stageAgent(web6, false);\n await stageAgent(web7, false);\n await stageAgent(web8, false);\n await stageAgent(web9, 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('createAgentExportTemplate()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.createAgentExportTemplate).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = Agent.createAgentExportTemplate();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await Agent.getAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgent).toBeDefined();\n });\n\n test(`1: Get agent '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.getAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get agent '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.getAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get agent '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.getAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get agent by type '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get agent by type '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(java1.type, java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get agent by type '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Get gateway agents', async () => {\n const response = await Agent.getIdentityGatewayAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await Agent.getIdentityGatewayAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await Agent.putIdentityGatewayAgent(\n gateway2.id,\n getAgent(gateway2.type, gateway2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getJavaAgents).toBeDefined();\n });\n\n test('1: Get java agents', async () => {\n const response = await Agent.getJavaAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getJavaAgent).toBeDefined();\n });\n\n test(`1: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await Agent.getJavaAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putJavaAgent).toBeDefined();\n });\n\n test(`1: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await Agent.putJavaAgent(\n java2.id,\n getAgent(java2.type, java2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getWebAgents).toBeDefined();\n });\n\n test('1: Get web agents', async () => {\n const response = await Agent.getWebAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getWebAgent).toBeDefined();\n });\n\n test(`1: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await Agent.getWebAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putWebAgent).toBeDefined();\n });\n\n test(`1: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await Agent.putWebAgent(\n web2.id,\n getAgent(web2.type, web2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportAgents).toBeDefined();\n });\n\n test('1: Export all agents', async () => {\n const response = await Agent.exportAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Export gateway agents', async () => {\n const response = await Agent.exportIdentityGatewayAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgents).toBeDefined();\n });\n\n test('1: Export java agents', async () => {\n const response = await Agent.exportJavaAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgents).toBeDefined();\n });\n\n test('1: Export web agents', async () => {\n const response = await Agent.exportWebAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportAgent).toBeDefined();\n });\n\n test(`1: Export agent '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.exportAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Export agent '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.exportAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Export agent '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.exportAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Export ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await Agent.exportIdentityGatewayAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgent).toBeDefined();\n });\n\n test(`1: Export ${java1.type} '${java1.id}'`, async () => {\n const response = await Agent.exportJavaAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportWebAgent).toBeDefined();\n });\n\n test(`1: Export ${web1.type} '${web1.id}'`, async () => {\n const response = await Agent.exportWebAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('importAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importAgents).toBeDefined();\n });\n\n test('1: Import all agents', async () => {\n const agents = {\n [gateway3.id]: gateway3.type,\n [java3.id]: java3.type,\n [web3.id]: web3.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importAgents(exportData);\n expect(true).toBeTruthy();\n });\n });\n\n describe('importIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Import all gateway agents', async () => {\n const agents = {\n [gateway4.id]: gateway4.type,\n [gateway5.id]: gateway5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importIdentityGatewayAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import gateway agents with wrong type', async () => {\n const agents = {\n [java4.id]: java4.type,\n [web4.id]: web4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importIdentityGatewayAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importJavaAgents).toBeDefined();\n });\n\n test('1: Import all java agents', async () => {\n const agents = {\n [java4.id]: java4.type,\n [java5.id]: java5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importJavaAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agents with wrong type', async () => {\n const agents = {\n [web4.id]: web4.type,\n [gateway4.id]: gateway4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importJavaAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importWebAgents).toBeDefined();\n });\n\n test('1: Import all web agents', async () => {\n const agents = {\n [web4.id]: web4.type,\n [web5.id]: web5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importWebAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import web agents with wrong type', async () => {\n const agents = {\n [gateway4.id]: gateway4.type,\n [java4.id]: java4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importWebAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importAgent).toBeDefined();\n });\n\n test('1: Import gateway agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway6.id] = getAgent(gateway6.type, gateway6.id);\n await Agent.importAgent(gateway6.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java6.id] = getAgent(java6.type, java6.id);\n await Agent.importAgent(java6.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('3: Import web agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web6.id] = getAgent(web6.type, web6.id);\n await Agent.importAgent(web6.id, exportData);\n expect(true).toBeTruthy();\n });\n });\n\n describe('importIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Import ${gateway7.type} '${gateway7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway7.id] = getAgent(gateway7.type, gateway7.id);\n await Agent.importIdentityGatewayAgent(gateway7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import gateway agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java7.id] = getAgent(java7.type, java7.id);\n expect.assertions(1);\n try {\n await Agent.importIdentityGatewayAgent(java7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('importJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importJavaAgents).toBeDefined();\n });\n\n test(`1: Import ${java7.type} '${java7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java7.id] = getAgent(java7.type, java7.id);\n await Agent.importJavaAgent(java7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web7.id] = getAgent(web7.type, web7.id);\n expect.assertions(1);\n try {\n await Agent.importJavaAgent(web7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('importWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importWebAgent).toBeDefined();\n });\n\n test(`1: Import ${web7.type} '${web7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web7.id] = getAgent(web7.type, web7.id);\n await Agent.importWebAgent(web7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import web agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway7.id] = getAgent(gateway7.type, gateway7.id);\n expect.assertions(1);\n try {\n await Agent.importWebAgent(gateway7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\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('deleteAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteAgent).toBeDefined();\n });\n\n test(`1: Delete agent '${gateway8.id}' (${gateway8.type})`, async () => {\n await Agent.deleteAgent(gateway8.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent '${java8.id}' (${java8.type})`, async () => {\n await Agent.deleteAgent(java8.id);\n expect(true).toBeTruthy();\n });\n\n test(`3: Delete agent '${web8.id}' (${web8.type})`, async () => {\n await Agent.deleteAgent(web8.id);\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Delete ${gateway9.type} '${gateway9.id}'`, async () => {\n await Agent.deleteIdentityGatewayAgent(gateway9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${java9.id}' (${java9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteIdentityGatewayAgent(java9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteJavaAgent).toBeDefined();\n });\n\n test(`1: Delete ${java9.type} '${java9.id}'`, async () => {\n await Agent.deleteJavaAgent(java9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${web9.id}' (${web9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteJavaAgent(web9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteWebAgent()', () => {\n test('deleteWebAgent() 0: Method is implemented', async () => {\n expect(Agent.deleteWebAgent).toBeDefined();\n });\n\n test(`1: Delete ${web9.type} '${web9.id}'`, async () => {\n await Agent.deleteWebAgent(web9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${gateway9.id}' (${gateway9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteWebAgent(gateway9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\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('deleteIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Delete all gateway agents', async () => {\n await Agent.deleteIdentityGatewayAgents();\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteJavaAgents).toBeDefined();\n });\n\n test('1: Delete all java agents', async () => {\n await Agent.deleteJavaAgents();\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteWebAgents).toBeDefined();\n });\n\n test('1: Delete all web agents', async () => {\n await Agent.deleteWebAgents();\n expect(true).toBeTruthy();\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('deleteAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteAgents).toBeDefined();\n });\n\n test('1: Delete all agents', async () => {\n expect.assertions(1);\n await Agent.deleteAgents();\n expect(true).toBeTruthy();\n });\n });\n }\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentOps.test.js","names":["jest","setTimeout","autoSetupPolly","stageAgent","agent","create","AgentRaw","getAgentByTypeAndId","type","id","deleteAgentByTypeAndId","error","putAgentByTypeAndId","getAgent","describe","gateway1","gateway2","gateway3","gateway4","gateway5","gateway6","gateway7","gateway8","gateway9","java1","java2","java3","java4","java5","java6","java7","java8","java9","web1","web2","web3","web4","web5","web6","web7","web8","web9","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","FRODO_RECORD_PHASE","test","expect","Agent","createAgentExportTemplate","toBeDefined","response","toMatchSnapshot","getAgents","getIdentityGatewayAgents","getIdentityGatewayAgent","putIdentityGatewayAgent","getJavaAgents","getJavaAgent","putJavaAgent","getWebAgents","getWebAgent","putWebAgent","exportAgents","exportIdentityGatewayAgents","exportJavaAgents","exportWebAgents","exportAgent","exportIdentityGatewayAgent","exportJavaAgent","exportWebAgent","importAgents","agents","exportData","agentId","Object","keys","toBeTruthy","importIdentityGatewayAgents","assertions","importJavaAgents","importWebAgents","importAgent","importIdentityGatewayAgent","message","importJavaAgent","importWebAgent","deleteAgent","deleteIdentityGatewayAgent","deleteJavaAgent","deleteWebAgent","deleteIdentityGatewayAgents","deleteJavaAgents","deleteWebAgents","deleteAgents"],"sources":["ops/AgentOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 5 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Record Non-destructive tests\n * Phase 2: Record Group 1 of DESTRUCTIVE tests - Deletes by ID\n * Phase 3: Record Group 2 of DESTRUCTIVE tests - Deletes by type\n * Phase 4: Record Group 3 of DESTRUCTIVE tests - Delete all\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 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 and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record AgentOps\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE AGENTS!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record AgentOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record AgentOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record AgentOps\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 must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentOps\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 AgentOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { jest } from '@jest/globals';\nimport { Agent, AgentRaw } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\n// Increase timeout for this test as pipeline keeps failing with error:\n// Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.\njest.setTimeout(30000);\n\nautoSetupPolly();\n\nasync function stageAgent(agent: { id: string; type: string }, create = true) {\n // delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(agent.type, agent.id);\n await AgentRaw.deleteAgentByTypeAndId(agent.type, agent.id);\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await AgentRaw.putAgentByTypeAndId(\n agent.type,\n agent.id,\n getAgent(agent.type, agent.id)\n );\n }\n }\n}\n\ndescribe('AgentOps', () => {\n const gateway1 = {\n id: 'FrodoOpsTestGatewayAgent1',\n type: 'IdentityGatewayAgent',\n };\n const gateway2 = {\n id: 'FrodoOpsTestGatewayAgent2',\n type: 'IdentityGatewayAgent',\n };\n const gateway3 = {\n id: 'FrodoOpsTestGatewayAgent3',\n type: 'IdentityGatewayAgent',\n };\n const gateway4 = {\n id: 'FrodoOpsTestGatewayAgent4',\n type: 'IdentityGatewayAgent',\n };\n const gateway5 = {\n id: 'FrodoOpsTestGatewayAgent5',\n type: 'IdentityGatewayAgent',\n };\n const gateway6 = {\n id: 'FrodoOpsTestGatewayAgent6',\n type: 'IdentityGatewayAgent',\n };\n const gateway7 = {\n id: 'FrodoOpsTestGatewayAgent7',\n type: 'IdentityGatewayAgent',\n };\n const gateway8 = {\n id: 'FrodoOpsTestGatewayAgent8',\n type: 'IdentityGatewayAgent',\n };\n const gateway9 = {\n id: 'FrodoOpsTestGatewayAgent9',\n type: 'IdentityGatewayAgent',\n };\n const java1 = {\n id: 'FrodoOpsTestJavaAgent1',\n type: 'J2EEAgent',\n };\n const java2 = {\n id: 'FrodoOpsTestJavaAgent2',\n type: 'J2EEAgent',\n };\n const java3 = {\n id: 'FrodoOpsTestJavaAgent3',\n type: 'J2EEAgent',\n };\n const java4 = {\n id: 'FrodoOpsTestJavaAgent4',\n type: 'J2EEAgent',\n };\n const java5 = {\n id: 'FrodoOpsTestJavaAgent5',\n type: 'J2EEAgent',\n };\n const java6 = {\n id: 'FrodoOpsTestJavaAgent6',\n type: 'J2EEAgent',\n };\n const java7 = {\n id: 'FrodoOpsTestJavaAgent7',\n type: 'J2EEAgent',\n };\n const java8 = {\n id: 'FrodoOpsTestJavaAgent8',\n type: 'J2EEAgent',\n };\n const java9 = {\n id: 'FrodoOpsTestJavaAgent9',\n type: 'J2EEAgent',\n };\n const web1 = {\n id: 'FrodoOpsTestWebAgent1',\n type: 'WebAgent',\n };\n const web2 = {\n id: 'FrodoOpsTestWebAgent2',\n type: 'WebAgent',\n };\n const web3 = {\n id: 'FrodoOpsTestWebAgent3',\n type: 'WebAgent',\n };\n const web4 = {\n id: 'FrodoOpsTestWebAgent4',\n type: 'WebAgent',\n };\n const web5 = {\n id: 'FrodoOpsTestWebAgent5',\n type: 'WebAgent',\n };\n const web6 = {\n id: 'FrodoOpsTestWebAgent6',\n type: 'WebAgent',\n };\n const web7 = {\n id: 'FrodoOpsTestWebAgent7',\n type: 'WebAgent',\n };\n const web8 = {\n id: 'FrodoOpsTestWebAgent8',\n type: 'WebAgent',\n };\n const web9 = {\n id: 'FrodoOpsTestWebAgent9',\n type: 'WebAgent',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageAgent(gateway1);\n await stageAgent(gateway2, false);\n await stageAgent(gateway3, false);\n await stageAgent(gateway4, false);\n await stageAgent(gateway5, false);\n await stageAgent(gateway6, false);\n await stageAgent(gateway7);\n await stageAgent(gateway8);\n await stageAgent(gateway9);\n\n await stageAgent(java1);\n await stageAgent(java2, false);\n await stageAgent(java3, false);\n await stageAgent(java4, false);\n await stageAgent(java5, false);\n await stageAgent(java6, false);\n await stageAgent(java7);\n await stageAgent(java8);\n await stageAgent(java9);\n\n await stageAgent(web1);\n await stageAgent(web2, false);\n await stageAgent(web3, false);\n await stageAgent(web4, false);\n await stageAgent(web5, false);\n await stageAgent(web6, false);\n await stageAgent(web7);\n await stageAgent(web8);\n await stageAgent(web9);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageAgent(gateway1, false);\n await stageAgent(gateway2, false);\n await stageAgent(gateway3, false);\n await stageAgent(gateway4, false);\n await stageAgent(gateway5, false);\n await stageAgent(gateway6, false);\n await stageAgent(gateway7, false);\n await stageAgent(gateway8, false);\n await stageAgent(gateway9, false);\n\n await stageAgent(java1, false);\n await stageAgent(java2, false);\n await stageAgent(java3, false);\n await stageAgent(java4, false);\n await stageAgent(java5, false);\n await stageAgent(java6, false);\n await stageAgent(java7, false);\n await stageAgent(java8, false);\n await stageAgent(java9, false);\n\n await stageAgent(web1, false);\n await stageAgent(web2, false);\n await stageAgent(web3, false);\n await stageAgent(web4, false);\n await stageAgent(web5, false);\n await stageAgent(web6, false);\n await stageAgent(web7, false);\n await stageAgent(web8, false);\n await stageAgent(web9, 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('createAgentExportTemplate()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.createAgentExportTemplate).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = Agent.createAgentExportTemplate();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await Agent.getAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgent).toBeDefined();\n });\n\n test(`1: Get agent '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.getAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get agent '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.getAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get agent '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.getAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get agent by type '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get agent by type '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(java1.type, java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get agent by type '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.getAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Get gateway agents', async () => {\n const response = await Agent.getIdentityGatewayAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await Agent.getIdentityGatewayAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await Agent.putIdentityGatewayAgent(\n gateway2.id,\n getAgent(gateway2.type, gateway2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getJavaAgents).toBeDefined();\n });\n\n test('1: Get java agents', async () => {\n const response = await Agent.getJavaAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getJavaAgent).toBeDefined();\n });\n\n test(`1: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await Agent.getJavaAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putJavaAgent).toBeDefined();\n });\n\n test(`1: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await Agent.putJavaAgent(\n java2.id,\n getAgent(java2.type, java2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getWebAgents).toBeDefined();\n });\n\n test('1: Get web agents', async () => {\n const response = await Agent.getWebAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.getWebAgent).toBeDefined();\n });\n\n test(`1: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await Agent.getWebAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.putWebAgent).toBeDefined();\n });\n\n test(`1: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await Agent.putWebAgent(\n web2.id,\n getAgent(web2.type, web2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportAgents).toBeDefined();\n });\n\n test('1: Export all agents', async () => {\n const response = await Agent.exportAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Export gateway agents', async () => {\n const response = await Agent.exportIdentityGatewayAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgents).toBeDefined();\n });\n\n test('1: Export java agents', async () => {\n const response = await Agent.exportJavaAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgents).toBeDefined();\n });\n\n test('1: Export web agents', async () => {\n const response = await Agent.exportWebAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportAgent).toBeDefined();\n });\n\n test(`1: Export agent '${gateway1.id}' (${gateway1.type})`, async () => {\n const response = await Agent.exportAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Export agent '${java1.id}' (${java1.type})`, async () => {\n const response = await Agent.exportAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Export agent '${web1.id}' (${web1.type})`, async () => {\n const response = await Agent.exportAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Export ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await Agent.exportIdentityGatewayAgent(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportJavaAgent).toBeDefined();\n });\n\n test(`1: Export ${java1.type} '${java1.id}'`, async () => {\n const response = await Agent.exportJavaAgent(java1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('exportWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.exportWebAgent).toBeDefined();\n });\n\n test(`1: Export ${web1.type} '${web1.id}'`, async () => {\n const response = await Agent.exportWebAgent(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('importAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importAgents).toBeDefined();\n });\n\n test('1: Import all agents', async () => {\n const agents = {\n [gateway3.id]: gateway3.type,\n [java3.id]: java3.type,\n [web3.id]: web3.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importAgents(exportData);\n expect(true).toBeTruthy();\n });\n });\n\n describe('importIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Import all gateway agents', async () => {\n const agents = {\n [gateway4.id]: gateway4.type,\n [gateway5.id]: gateway5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importIdentityGatewayAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import gateway agents with wrong type', async () => {\n const agents = {\n [java4.id]: java4.type,\n [web4.id]: web4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importIdentityGatewayAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importJavaAgents).toBeDefined();\n });\n\n test('1: Import all java agents', async () => {\n const agents = {\n [java4.id]: java4.type,\n [java5.id]: java5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importJavaAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agents with wrong type', async () => {\n const agents = {\n [web4.id]: web4.type,\n [gateway4.id]: gateway4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importJavaAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importWebAgents).toBeDefined();\n });\n\n test('1: Import all web agents', async () => {\n const agents = {\n [web4.id]: web4.type,\n [web5.id]: web5.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n await Agent.importWebAgents(exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import web agents with wrong type', async () => {\n const agents = {\n [gateway4.id]: gateway4.type,\n [java4.id]: java4.type,\n };\n const exportData = Agent.createAgentExportTemplate();\n for (const agentId of Object.keys(agents)) {\n exportData.agents[agentId] = getAgent(agents[agentId], agentId);\n }\n expect.assertions(1);\n try {\n await Agent.importWebAgents(exportData);\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('importAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importAgent).toBeDefined();\n });\n\n test('1: Import gateway agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway6.id] = getAgent(gateway6.type, gateway6.id);\n await Agent.importAgent(gateway6.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java6.id] = getAgent(java6.type, java6.id);\n await Agent.importAgent(java6.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('3: Import web agent', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web6.id] = getAgent(web6.type, web6.id);\n await Agent.importAgent(web6.id, exportData);\n expect(true).toBeTruthy();\n });\n });\n\n describe('importIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Import ${gateway7.type} '${gateway7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway7.id] = getAgent(gateway7.type, gateway7.id);\n await Agent.importIdentityGatewayAgent(gateway7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import gateway agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java7.id] = getAgent(java7.type, java7.id);\n expect.assertions(1);\n try {\n await Agent.importIdentityGatewayAgent(java7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('importJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importJavaAgents).toBeDefined();\n });\n\n test(`1: Import ${java7.type} '${java7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[java7.id] = getAgent(java7.type, java7.id);\n await Agent.importJavaAgent(java7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import java agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web7.id] = getAgent(web7.type, web7.id);\n expect.assertions(1);\n try {\n await Agent.importJavaAgent(web7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('importWebAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.importWebAgent).toBeDefined();\n });\n\n test(`1: Import ${web7.type} '${web7.id}'`, async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[web7.id] = getAgent(web7.type, web7.id);\n await Agent.importWebAgent(web7.id, exportData);\n expect(true).toBeTruthy();\n });\n\n test('2: Import web agent with wrong type', async () => {\n const exportData = Agent.createAgentExportTemplate();\n exportData.agents[gateway7.id] = getAgent(gateway7.type, gateway7.id);\n expect.assertions(1);\n try {\n await Agent.importWebAgent(gateway7.id, exportData);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\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('deleteAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteAgent).toBeDefined();\n });\n\n test(`1: Delete agent '${gateway8.id}' (${gateway8.type})`, async () => {\n await Agent.deleteAgent(gateway8.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent '${java8.id}' (${java8.type})`, async () => {\n await Agent.deleteAgent(java8.id);\n expect(true).toBeTruthy();\n });\n\n test(`3: Delete agent '${web8.id}' (${web8.type})`, async () => {\n await Agent.deleteAgent(web8.id);\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteIdentityGatewayAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteIdentityGatewayAgent).toBeDefined();\n });\n\n test(`1: Delete ${gateway9.type} '${gateway9.id}'`, async () => {\n await Agent.deleteIdentityGatewayAgent(gateway9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${java9.id}' (${java9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteIdentityGatewayAgent(java9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteJavaAgent()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteJavaAgent).toBeDefined();\n });\n\n test(`1: Delete ${java9.type} '${java9.id}'`, async () => {\n await Agent.deleteJavaAgent(java9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${web9.id}' (${web9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteJavaAgent(web9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteWebAgent()', () => {\n test('deleteWebAgent() 0: Method is implemented', async () => {\n expect(Agent.deleteWebAgent).toBeDefined();\n });\n\n test(`1: Delete ${web9.type} '${web9.id}'`, async () => {\n await Agent.deleteWebAgent(web9.id);\n expect(true).toBeTruthy();\n });\n\n test(`2: Delete agent of wrong type '${gateway9.id}' (${gateway9.type})`, async () => {\n expect.assertions(1);\n try {\n await Agent.deleteWebAgent(gateway9.id);\n } catch (error) {\n expect(error.message).toMatchSnapshot();\n }\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('deleteIdentityGatewayAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteIdentityGatewayAgents).toBeDefined();\n });\n\n test('1: Delete all gateway agents', async () => {\n await Agent.deleteIdentityGatewayAgents();\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteJavaAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteJavaAgents).toBeDefined();\n });\n\n test('1: Delete all java agents', async () => {\n await Agent.deleteJavaAgents();\n expect(true).toBeTruthy();\n });\n });\n\n describe('deleteWebAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteWebAgents).toBeDefined();\n });\n\n test('1: Delete all web agents', async () => {\n await Agent.deleteWebAgents();\n expect(true).toBeTruthy();\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('deleteAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(Agent.deleteAgents).toBeDefined();\n });\n\n test('1: Delete all agents', async () => {\n expect.assertions(1);\n await Agent.deleteAgents();\n expect(true).toBeTruthy();\n });\n });\n }\n});\n"],"mappings":"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"}