diff --git a/src/cli/app/app-delete.ts b/src/cli/app/app-delete.ts index 2e359a098..4cd40a7d6 100644 --- a/src/cli/app/app-delete.ts +++ b/src/cli/app/app-delete.ts @@ -19,11 +19,17 @@ export default function setup() { .addOption( new Option( '-i, --app-id ', - 'Application name. If specified, -a and -A are ignored.' + 'Application id. If specified, -n and -a are ignored.' ) ) .addOption( - new Option('-a, --all', 'Delete all applications. Ignored with -i.') + new Option( + '-n, --app-name ', + 'Application name. If specified, -a is ignored.' + ) + ) + .addOption( + new Option('-a, --all', 'Delete all applications. Ignored with -i or -n.') ) .addOption( new Option( @@ -53,10 +59,17 @@ export default function setup() { options, command ); - // delete app by name - if (options.appId && (await getTokens(false, true, deploymentTypes))) { + // -i/--app-id or -n/--app-name + if ( + (options.appId || options.appName) && + (await getTokens(false, true, deploymentTypes)) + ) { verboseMessage('Deleting application...'); - const outcome = await deleteApplication(options.appId, options.deep); + const outcome = await deleteApplication( + options.appId, + options.appName, + options.deep + ); if (!outcome) process.exitCode = 1; } // -a/--all diff --git a/src/cli/app/app-describe.ts b/src/cli/app/app-describe.ts index 06e5d3cfc..b65782a61 100644 --- a/src/cli/app/app-describe.ts +++ b/src/cli/app/app-describe.ts @@ -11,7 +11,13 @@ export default function setup() { program .description('Describe application.') - .addOption(new Option('-i, --app-id ', 'Application name.')) + .addOption( + new Option( + '-i, --app-id ', + 'Application id. If specified, -n is ignored.' + ) + ) + .addOption(new Option('-n, --app-name ', 'Application name.')) .addHelpText( 'after', `Important Note:\n`['brightYellow'] + diff --git a/src/cli/app/app-export.ts b/src/cli/app/app-export.ts index b20757f52..c8e900dec 100644 --- a/src/cli/app/app-export.ts +++ b/src/cli/app/app-export.ts @@ -19,7 +19,13 @@ export default function setup() { .description('Export applications.') .addOption( new Option( - '-i, --app-id ', + '-i, --app-id ', + 'Application id. If specified, -n, -a, and -A are ignored.' + ) + ) + .addOption( + new Option( + '-n, --app-name ', 'Application name. If specified, -a and -A are ignored.' ) ) @@ -27,13 +33,13 @@ export default function setup() { .addOption( new Option( '-a, --all', - 'Export all applications to a single file. Ignored with -i.' + 'Export all applications to a single file. Ignored with -i or -n.' ) ) .addOption( new Option( '-A, --all-separate', - 'Export all applications to separate files (*.application.json) in the current directory. Ignored with -i or -a.' + 'Export all applications to separate files (*.application.json) in the current directory. Ignored with -i, -n, or -a.' ) ) .addOption( @@ -75,11 +81,15 @@ export default function setup() { options, command ); - // export - if (options.appId && (await getTokens(false, true, deploymentTypes))) { + // -i/--app-id or -n/--app-name + if ( + (options.appId || options.appName) && + (await getTokens(false, true, deploymentTypes)) + ) { verboseMessage('Exporting application...'); const outcome = await exportApplicationToFile( options.appId, + options.appName, options.file, options.metadata, { diff --git a/src/cli/app/app-import.ts b/src/cli/app/app-import.ts index ace0c5202..25448b128 100644 --- a/src/cli/app/app-import.ts +++ b/src/cli/app/app-import.ts @@ -21,6 +21,12 @@ export default function setup() { .addOption( new Option( '-i, --app-id ', + 'Application id. If specified, only one application is imported and the options -n, -a, and -A are ignored.' + ) + ) + .addOption( + new Option( + '-n, --app-name ', 'Application name. If specified, only one application is imported and the options -a and -A are ignored.' ) ) @@ -28,13 +34,13 @@ export default function setup() { .addOption( new Option( '-a, --all', - 'Import all applications from single file. Ignored with -i.' + 'Import all applications from single file. Ignored with -i or -n.' ) ) .addOption( new Option( '-A, --all-separate', - 'Import all applications from separate files (*.app.json) in the current directory. Ignored with -i or -a.' + 'Import all applications from separate files (*.app.json) in the current directory. Ignored with -i, -n, or -a.' ) ) .addOption( @@ -76,15 +82,18 @@ export default function setup() { options, command ); - // import by id + // -i/--app-id or -n/--app-name if ( options.file && - options.appId && + (options.appId || options.appName) && (await getTokens(false, true, deploymentTypes)) ) { - verboseMessage(`Importing application "${options.appId}"...`); + verboseMessage( + `Importing application "${options.appName ?? options.appId}"...` + ); const outcome = await importApplicationFromFile( options.appId, + options.appName, options.file, { deps: options.deps, diff --git a/src/ops/ApplicationOps.ts b/src/ops/ApplicationOps.ts index 1bd52bcc7..d5bf48b24 100644 --- a/src/ops/ApplicationOps.ts +++ b/src/ops/ApplicationOps.ts @@ -26,11 +26,13 @@ const { } = frodo.utils; const { readApplications: _readApplications, + deleteApplication: _deleteApplication, deleteApplicationByName: _deleteApplicationByName, deleteApplications: _deleteApplications, exportApplication: _exportApplication, exportApplicationByName: _exportApplicationByName, exportApplications: _exportApplications, + importApplication: _importApplication, importApplicationByName: _importApplicationByName, importFirstApplication: _importFirstApplication, importApplications: _importApplications, @@ -89,32 +91,35 @@ export async function listApplications(long = false): Promise { /** * Delete application - * @param {string} applicationName application name + * @param {string | undefined} applicationId application id + * @param {string | undefined} applicationName application name * @param {boolean} deep deep delete (include dependencies) * @returns {Promise} true if successful, false otherwise */ export async function deleteApplication( - applicationName: string, + applicationId: string | undefined, + applicationName: string | undefined, deep: boolean ): Promise { + const name = applicationName ?? applicationId; let spinnerId: string; try { debugMessage(`cli.ApplicationOps.deleteApplication: begin`); spinnerId = createProgressIndicator( 'indeterminate', 0, - `Deleting ${applicationName}...` + `Deleting ${name}...` ); - await _deleteApplicationByName(applicationName, deep); - stopProgressIndicator(spinnerId, `Deleted ${applicationName}`, 'success'); + if (applicationId) { + await _deleteApplication(applicationId, deep); + } else { + await _deleteApplicationByName(applicationName, deep); + } + stopProgressIndicator(spinnerId, `Deleted ${name}`, 'success'); debugMessage(`cli.ApplicationOps.deleteApplication: end`); return true; } catch (error) { - stopProgressIndicator( - spinnerId, - `Error deleting ${applicationName}`, - 'fail' - ); + stopProgressIndicator(spinnerId, `Error deleting ${name}`, 'fail'); printError(error); } return false; @@ -151,46 +156,47 @@ export async function deleteApplications(deep: boolean): Promise { /** * Export application to file - * @param {string} applicationName application name + * @param {string | undefined} applicationId application id + * @param {string | undefined} applicationName application name * @param {string} file file name * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true * @param {ApplicationExportOptions} options export options * @returns {Promise} true if successful, false otherwise */ export async function exportApplicationToFile( - applicationName: string, + applicationId: string | undefined, + applicationName: string | undefined, file: string, includeMeta: boolean, options: ApplicationExportOptions = { useStringArrays: true, deps: true } ) { + const name = applicationName ?? applicationId; let spinnerId: string; try { debugMessage(`cli.ApplicationOps.exportApplicationToFile: begin`); spinnerId = createProgressIndicator( 'indeterminate', 0, - `Exporting ${applicationName}...` + `Exporting ${name}...` ); - let fileName = getTypedFilename(applicationName, 'application'); + let fileName = getTypedFilename(name, 'application'); if (file) { fileName = file; } const filePath = getFilePath(fileName, true); - const exportData = await _exportApplicationByName(applicationName, options); + const exportData = applicationId + ? await _exportApplication(applicationId, options) + : await _exportApplicationByName(applicationName, options); saveJsonToFile(exportData, filePath, includeMeta); stopProgressIndicator( spinnerId, - `Exported ${applicationName} to ${filePath}.`, + `Exported ${name} to ${filePath}.`, 'success' ); debugMessage(`cli.ApplicationOps.exportApplicationToFile: end`); return true; } catch (error) { - stopProgressIndicator( - spinnerId, - `Error exporting ${applicationName}`, - 'fail' - ); + stopProgressIndicator(spinnerId, `Error exporting ${name}`, 'fail'); printError(error); } return false; @@ -317,17 +323,20 @@ export async function exportApplicationsToFiles( /** * Import application from file - * @param {string} applicationName client id + * @param {string | undefined} applicationId application id + * @param {string | undefined} applicationName application name * @param {string} file file name * @param {ApplicationImportOptions} options import options * @returns {Promise} true if successful, false otherwise */ export async function importApplicationFromFile( - applicationName: string, + applicationId: string | undefined, + applicationName: string | undefined, file: string, options: ApplicationImportOptions = { deps: true } ): Promise { let spinnerId: string; + const name = applicationName ?? applicationId; try { debugMessage(`cli.ApplicationOps.importApplicationFromFile: begin`); spinnerId = createProgressIndicator( @@ -337,16 +346,16 @@ export async function importApplicationFromFile( ); const data = fs.readFileSync(getFilePath(file), 'utf8'); const fileData = JSON.parse(data); - await _importApplicationByName(applicationName, fileData, options); - stopProgressIndicator(spinnerId, `Imported ${applicationName}`, 'success'); + if (applicationId) { + await _importApplication(applicationId, fileData, options); + } else { + await _importApplicationByName(applicationName, fileData, options); + } + stopProgressIndicator(spinnerId, `Imported ${name}`, 'success'); debugMessage(`cli.ApplicationOps.importApplicationFromFile: end`); return true; } catch (error) { - stopProgressIndicator( - spinnerId, - `Error importing ${applicationName}`, - 'fail' - ); + stopProgressIndicator(spinnerId, `Error importing ${name}`, 'fail'); printError(error); } return false; diff --git a/src/ops/PromoteOps.ts b/src/ops/PromoteOps.ts index 4ca85319d..2927d1c97 100644 --- a/src/ops/PromoteOps.ts +++ b/src/ops/PromoteOps.ts @@ -937,7 +937,11 @@ async function deleteSwitch( verboseMessage( `Deleting Managed Application with name ${managedApplication.name}` ); - const outcome = await deleteApplication(managedApplication.name, true); + const outcome = await deleteApplication( + managedApplication._id, + managedApplication.name, + true + ); logmessages.push(`delete managedApplication ${deleteFilePath}`); logmessages.push(`outcome: ${outcome}`); logmessages.push(' '); diff --git a/test/client_cli/en/__snapshots__/app-delete.test.js.snap b/test/client_cli/en/__snapshots__/app-delete.test.js.snap index 277078eb7..f943ad681 100644 --- a/test/client_cli/en/__snapshots__/app-delete.test.js.snap +++ b/test/client_cli/en/__snapshots__/app-delete.test.js.snap @@ -12,13 +12,13 @@ Arguments: password Password. Options: - -a, --all Delete all applications. Ignored with -i. + -a, --all Delete all applications. Ignored with -i or -n. --curlirize Output all network calls in curl format. -D, --directory Set the working directory. --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. --flush-cache Flush token cache. -h, --help Help - -i, --app-id Application name. If specified, -a and -A are ignored. + -i, --app-id Application id. If specified, -n and -a are ignored. --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). @@ -28,6 +28,7 @@ Options: cloud: A ForgeRock Identity Cloud environment. forgeops: A ForgeOps CDK or CDM deployment. The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + -n, --app-name Application name. If specified, -a is ignored. --no-cache Disable token cache for this operation. --no-deep No deep delete. This leaves orphaned configuration artifacts behind. --passphrase The passphrase for the Amster private key if it is encrypted. diff --git a/test/client_cli/en/__snapshots__/app-export.test.js.snap b/test/client_cli/en/__snapshots__/app-export.test.js.snap index 0f3ff4e09..9ff21041b 100644 --- a/test/client_cli/en/__snapshots__/app-export.test.js.snap +++ b/test/client_cli/en/__snapshots__/app-export.test.js.snap @@ -12,15 +12,15 @@ Arguments: password Password. Options: - -a, --all Export all applications to a single file. Ignored with -i. - -A, --all-separate Export all applications to separate files (*.application.json) in the current directory. Ignored with -i or -a. + -a, --all Export all applications to a single file. Ignored with -i or -n. + -A, --all-separate Export all applications to separate files (*.application.json) in the current directory. Ignored with -i, -n, or -a. --curlirize Output all network calls in curl format. -D, --directory Set the working directory. --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. -f, --file Name of the export file. --flush-cache Flush token cache. -h, --help Help - -i, --app-id Application name. If specified, -a and -A are ignored. + -i, --app-id Application id. If specified, -n, -a, and -A are ignored. --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). @@ -30,6 +30,7 @@ Options: cloud: A ForgeRock Identity Cloud environment. forgeops: A ForgeOps CDK or CDM deployment. The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + -n, --app-name Application name. If specified, -a and -A are ignored. -N, --no-metadata Does not include metadata in the export file. --no-cache Disable token cache for this operation. --no-deps Do not include any dependencies (scripts). diff --git a/test/client_cli/en/__snapshots__/app-import.test.js.snap b/test/client_cli/en/__snapshots__/app-import.test.js.snap index 40e152704..7f634cbf5 100644 --- a/test/client_cli/en/__snapshots__/app-import.test.js.snap +++ b/test/client_cli/en/__snapshots__/app-import.test.js.snap @@ -12,15 +12,15 @@ Arguments: password Password. Options: - -a, --all Import all applications from single file. Ignored with -i. - -A, --all-separate Import all applications from separate files (*.app.json) in the current directory. Ignored with -i or -a. + -a, --all Import all applications from single file. Ignored with -i or -n. + -A, --all-separate Import all applications from separate files (*.app.json) in the current directory. Ignored with -i, -n, or -a. --curlirize Output all network calls in curl format. -D, --directory Set the working directory. --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. -f, --file Name of the file to import. --flush-cache Flush token cache. -h, --help Help - -i, --app-id Application name. If specified, only one application is imported and the options -a and -A are ignored. + -i, --app-id Application id. If specified, only one application is imported and the options -n, -a, and -A are ignored. --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). @@ -30,6 +30,7 @@ Options: cloud: A ForgeRock Identity Cloud environment. forgeops: A ForgeOps CDK or CDM deployment. The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + -n, --app-name Application name. If specified, only one application is imported and the options -a and -A are ignored. --no-cache Disable token cache for this operation. --no-deps Do not include any dependencies (scripts). --passphrase The passphrase for the Amster private key if it is encrypted. diff --git a/test/e2e/__snapshots__/app-export.e2e.test.js.snap b/test/e2e/__snapshots__/app-export.e2e.test.js.snap index b720bc1e8..8e0d1c7ae 100644 --- a/test/e2e/__snapshots__/app-export.e2e.test.js.snap +++ b/test/e2e/__snapshots__/app-export.e2e.test.js.snap @@ -6,7 +6,6 @@ exports[`frodo app export "frodo app export --all -f my-allAlphaApplications.app exports[`frodo app export "frodo app export --all -f my-allAlphaApplications.application.json": should export all apps to a single file named my-allAlphaApplications.application.json: my-allAlphaApplications.application.json 1`] = ` { - "application": {}, "connector": { "EncoreADv2": { "_id": "provisioner.openicf/EncoreADv2", @@ -3193,13 +3192,33 @@ target.manager = {"_ref":"managed/alpha_user/"+queryResult.result[0]._id,"_refPr } `; -exports[`frodo app export "frodo app export --app-id EncoreADv2": should export the app with app id "EncoreADv2" 1`] = `0`; +exports[`frodo app export "frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301": should export the app with app id "325bd28a-7c57-43fd-9241-30ee086b4301" 1`] = `0`; -exports[`frodo app export "frodo app export --app-id EncoreADv2": should export the app with app id "EncoreADv2" 2`] = `""`; +exports[`frodo app export "frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301": should export the app with app id "325bd28a-7c57-43fd-9241-30ee086b4301" 2`] = `""`; -exports[`frodo app export "frodo app export --app-id EncoreADv2": should export the app with app id "EncoreADv2": EncoreADv2.application.json 1`] = ` +exports[`frodo app export "frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301": should export the app with app id "325bd28a-7c57-43fd-9241-30ee086b4301": 325bd28a-7c57-43fd-9241-30ee086b4301.application.json 1`] = ` +{ + "managedApplication": { + "325bd28a-7c57-43fd-9241-30ee086b4301": { + "_id": "325bd28a-7c57-43fd-9241-30ee086b4301", + "description": "test2", + "name": "test2", + "ssoEntities": {}, + "templateName": "bookmark", + "templateVersion": "1.0", + "url": "https://google.com", + }, + }, + "meta": Any, +} +`; + +exports[`frodo app export "frodo app export --app-name EncoreADv2": should export the app with app name "EncoreADv2" 1`] = `0`; + +exports[`frodo app export "frodo app export --app-name EncoreADv2": should export the app with app name "EncoreADv2" 2`] = `""`; + +exports[`frodo app export "frodo app export --app-name EncoreADv2": should export the app with app name "EncoreADv2": EncoreADv2.application.json 1`] = ` { - "application": {}, "connector": { "EncoreADv2": { "_id": "provisioner.openicf/EncoreADv2", @@ -4495,7 +4514,6 @@ exports[`frodo app export "frodo app export --file forgeopsAlphaBravoPrefixApps. exports[`frodo app export "frodo app export --file forgeopsAlphaBravoPrefixApps.application.json --all --use-realm-prefix-on-managed-objects --type forgeops": should export all "bravo_application" apps to a single file: forgeopsAlphaBravoPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "5f84d0f4-427b-43de-91bf-faa9692f7f2b": { "_id": "5f84d0f4-427b-43de-91bf-faa9692f7f2b", @@ -4515,7 +4533,6 @@ exports[`frodo app export "frodo app export --file forgeopsAlphaPrefixApps.appli exports[`frodo app export "frodo app export --file forgeopsAlphaPrefixApps.application.json --all --use-realm-prefix-on-managed-objects --type forgeops": should export all "alpha_application" apps to a single file: forgeopsAlphaPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "08ee500b-0d11-495d-87d6-8ba13953fbe7": { "_id": "08ee500b-0d11-495d-87d6-8ba13953fbe7", @@ -4535,7 +4552,6 @@ exports[`frodo app export "frodo app export --file forgeopsRootPrefixApps.applic exports[`frodo app export "frodo app export --file forgeopsRootPrefixApps.application.json --all --use-realm-prefix-on-managed-objects --type forgeops": should export all "application" apps to a single file: forgeopsRootPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "a025007c-dd49-4542-a87f-c1e09bbbdc35": { "_id": "a025007c-dd49-4542-a87f-c1e09bbbdc35", @@ -4557,7 +4573,6 @@ exports[`frodo app export "frodo app export -A": should export all apps to separ exports[`frodo app export "frodo app export -A": should export all apps to separate files: EncoreADv2.application.json 1`] = ` { - "application": {}, "connector": { "EncoreADv2": { "_id": "provisioner.openicf/EncoreADv2", @@ -5849,7 +5864,6 @@ if (!idFound) { exports[`frodo app export "frodo app export -A": should export all apps to separate files: HRLite.application.json 1`] = ` { - "application": {}, "connector": { "HRLite": { "_id": "provisioner.openicf/HRLite", @@ -6449,7 +6463,6 @@ target.manager = {"_ref":"managed/alpha_user/"+queryResult.result[0]._id,"_refPr exports[`frodo app export "frodo app export -A": should export all apps to separate files: benefits.application.json 1`] = ` { - "application": {}, "managedApplication": { "bc48b94e-83d0-4f3a-b37a-d6f19c608a33": { "_id": "bc48b94e-83d0-4f3a-b37a-d6f19c608a33", @@ -6808,7 +6821,6 @@ exports[`frodo app export "frodo app export -A": should export all apps to separ exports[`frodo app export "frodo app export -A": should export all apps to separate files: company.application.json 1`] = ` { - "application": {}, "managedApplication": { "234ae748-fcd5-459d-96a6-dd8d67f16080": { "_id": "234ae748-fcd5-459d-96a6-dd8d67f16080", @@ -7167,7 +7179,6 @@ exports[`frodo app export "frodo app export -A": should export all apps to separ exports[`frodo app export "frodo app export -A": should export all apps to separate files: engineering.application.json 1`] = ` { - "application": {}, "managedApplication": { "55bb522b-7348-4ab6-b0b3-5d3936359ce6": { "_id": "55bb522b-7348-4ab6-b0b3-5d3936359ce6", @@ -7526,7 +7537,6 @@ exports[`frodo app export "frodo app export -A": should export all apps to separ exports[`frodo app export "frodo app export -A": should export all apps to separate files: sales.application.json 1`] = ` { - "application": {}, "managedApplication": { "d1488dc0-11c0-49ab-bc4c-3f45876917dc": { "_id": "d1488dc0-11c0-49ab-bc4c-3f45876917dc", @@ -7889,7 +7899,6 @@ exports[`frodo app export "frodo app export -a --file my-other-allAlphaApplicati exports[`frodo app export "frodo app export -a --file my-other-allAlphaApplications.application.json": should export all apps to a single file named my-other-allAlphaApplications.application.json: my-other-allAlphaApplications.application.json 1`] = ` { - "application": {}, "connector": { "EncoreADv2": { "_id": "provisioner.openicf/EncoreADv2", @@ -11082,7 +11091,6 @@ exports[`frodo app export "frodo app export -a --no-deps -f my-yet-another-allAl exports[`frodo app export "frodo app export -a --no-deps -f my-yet-another-allAlphaApplications.application.json": should export all apps to a single file with no dependencies into a file named my-yet-another-allAlphaApplications.application.json: my-yet-another-allAlphaApplications.application.json 1`] = ` { - "application": {}, "managedApplication": { "234ae748-fcd5-459d-96a6-dd8d67f16080": { "_id": "234ae748-fcd5-459d-96a6-dd8d67f16080", @@ -11468,7 +11476,6 @@ exports[`frodo app export "frodo app export -a": should export all apps to a sin exports[`frodo app export "frodo app export -a": should export all apps to a single file: allAlphaApplications.application.json 1`] = ` { - "application": {}, "connector": { "EncoreADv2": { "_id": "provisioner.openicf/EncoreADv2", @@ -14661,7 +14668,6 @@ exports[`frodo app export "frodo app export -f forgeopsAlphaBravoNoPrefixApps.ap exports[`frodo app export "frodo app export -f forgeopsAlphaBravoNoPrefixApps.application.json -am forgeops": should export all "application" apps to a single file: forgeopsAlphaBravoNoPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "a025007c-dd49-4542-a87f-c1e09bbbdc35": { "_id": "a025007c-dd49-4542-a87f-c1e09bbbdc35", @@ -14683,7 +14689,6 @@ exports[`frodo app export "frodo app export -f forgeopsAlphaNoPrefixApps.applica exports[`frodo app export "frodo app export -f forgeopsAlphaNoPrefixApps.application.json -am forgeops": should export all "application" apps to a single file: forgeopsAlphaNoPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "a025007c-dd49-4542-a87f-c1e09bbbdc35": { "_id": "a025007c-dd49-4542-a87f-c1e09bbbdc35", @@ -14705,7 +14710,6 @@ exports[`frodo app export "frodo app export -f forgeopsRootNoPrefixApps.applicat exports[`frodo app export "frodo app export -f forgeopsRootNoPrefixApps.application.json -am forgeops": should export all "application" apps to a single file: forgeopsRootNoPrefixApps.application.json 1`] = ` { - "application": {}, "managedApplication": { "a025007c-dd49-4542-a87f-c1e09bbbdc35": { "_id": "a025007c-dd49-4542-a87f-c1e09bbbdc35", @@ -14721,13 +14725,33 @@ exports[`frodo app export "frodo app export -f forgeopsRootNoPrefixApps.applicat } `; -exports[`frodo app export "frodo app export -i HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app id "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json 1`] = `0`; +exports[`frodo app export "frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5": should export the app with app id "0d86aa45-b73e-4924-9165-8c7f47eb19b5" 1`] = `0`; + +exports[`frodo app export "frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5": should export the app with app id "0d86aa45-b73e-4924-9165-8c7f47eb19b5" 2`] = `""`; + +exports[`frodo app export "frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5": should export the app with app id "0d86aa45-b73e-4924-9165-8c7f47eb19b5": 0d86aa45-b73e-4924-9165-8c7f47eb19b5.application.json 1`] = ` +{ + "managedApplication": { + "0d86aa45-b73e-4924-9165-8c7f47eb19b5": { + "_id": "0d86aa45-b73e-4924-9165-8c7f47eb19b5", + "description": "test", + "name": "test", + "ssoEntities": {}, + "templateName": "bookmark", + "templateVersion": "1.0", + "url": "https://google.com", + }, + }, + "meta": Any, +} +`; + +exports[`frodo app export "frodo app export -n HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app name "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json 1`] = `0`; -exports[`frodo app export "frodo app export -i HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app id "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json 2`] = `""`; +exports[`frodo app export "frodo app export -n HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app name "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json 2`] = `""`; -exports[`frodo app export "frodo app export -i HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app id "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json: my-nodeps-HRLite.application.json 1`] = ` +exports[`frodo app export "frodo app export -n HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app name "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json: my-nodeps-HRLite.application.json 1`] = ` { - "application": {}, "managedApplication": { "c7932f33-a3ac-4192-8dee-11fb96df0874": { "_id": "c7932f33-a3ac-4192-8dee-11fb96df0874", @@ -14781,13 +14805,12 @@ exports[`frodo app export "frodo app export -i HRLite --no-deps -f my-nodeps-HRL } `; -exports[`frodo app export "frodo app export -i HRLite -f my-HRLite.application.json": should export the app with app id "HRLite" into file named my-HRLite.application.json 1`] = `0`; +exports[`frodo app export "frodo app export -n HRLite -f my-HRLite.application.json": should export the app with app name "HRLite" into file named my-HRLite.application.json 1`] = `0`; -exports[`frodo app export "frodo app export -i HRLite -f my-HRLite.application.json": should export the app with app id "HRLite" into file named my-HRLite.application.json 2`] = `""`; +exports[`frodo app export "frodo app export -n HRLite -f my-HRLite.application.json": should export the app with app name "HRLite" into file named my-HRLite.application.json 2`] = `""`; -exports[`frodo app export "frodo app export -i HRLite -f my-HRLite.application.json": should export the app with app id "HRLite" into file named my-HRLite.application.json: my-HRLite.application.json 1`] = ` +exports[`frodo app export "frodo app export -n HRLite -f my-HRLite.application.json": should export the app with app name "HRLite" into file named my-HRLite.application.json: my-HRLite.application.json 1`] = ` { - "application": {}, "connector": { "HRLite": { "_id": "provisioner.openicf/HRLite", @@ -15385,13 +15408,12 @@ target.manager = {"_ref":"managed/alpha_user/"+queryResult.result[0]._id,"_refPr } `; -exports[`frodo app export "frodo app export -i HRLite": should export the app with app id "HRLite" 1`] = `0`; +exports[`frodo app export "frodo app export -n HRLite": should export the app with app name "HRLite" 1`] = `0`; -exports[`frodo app export "frodo app export -i HRLite": should export the app with app id "HRLite" 2`] = `""`; +exports[`frodo app export "frodo app export -n HRLite": should export the app with app name "HRLite" 2`] = `""`; -exports[`frodo app export "frodo app export -i HRLite": should export the app with app id "HRLite": HRLite.application.json 1`] = ` +exports[`frodo app export "frodo app export -n HRLite": should export the app with app name "HRLite": HRLite.application.json 1`] = ` { - "application": {}, "connector": { "HRLite": { "_id": "provisioner.openicf/HRLite", diff --git a/test/e2e/__snapshots__/app-import.e2e.test.js.snap b/test/e2e/__snapshots__/app-import.e2e.test.js.snap index 332dfe929..2da453ba8 100644 --- a/test/e2e/__snapshots__/app-import.e2e.test.js.snap +++ b/test/e2e/__snapshots__/app-import.e2e.test.js.snap @@ -10,7 +10,9 @@ exports[`frodo app import "frodo app import --all --file test/e2e/exports/all/fo exports[`frodo app import "frodo app import --all-separate --directory test/e2e/exports/all-separate/cloud/realm/root-alpha/application": should import all applications from the directory "test/e2e/exports/all-separate/cloud/realm/root-alpha/application" 1`] = `""`; -exports[`frodo app import "frodo app import --app-id testLDAP --file test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the id "testLDAP" from the file "test/e2e/exports/all/allAlphaApplications.application.json" 1`] = `""`; +exports[`frodo app import "frodo app import --app-id e124e6f6-e25a-4180-a6c3-ff8b782a422c --file test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the id "e124e6f6-e25a-4180-a6c3-ff8b782a422c" from the file "test/e2e/exports/all/allAlphaApplications.application.json" 1`] = `""`; + +exports[`frodo app import "frodo app import --app-name testLDAP --file test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the name "testLDAP" from the file "test/e2e/exports/all/allAlphaApplications.application.json" 1`] = `""`; exports[`frodo app import "frodo app import --file test/e2e/exports/all/allAlphaApplications.application.json": should import the first application from the file "test/e2e/exports/all/allAlphaApplications.application.json" 1`] = `""`; @@ -20,7 +22,9 @@ exports[`frodo app import "frodo app import --no-deps -af test/e2e/exports/all/a exports[`frodo app import "frodo app import --no-deps -f test/e2e/exports/all/allAlphaApplications.application.json": should import the first application from the file "test/e2e/exports/all/allAlphaApplications.application.json" with no dependencies 1`] = `""`; -exports[`frodo app import "frodo app import --no-deps -i testLDAP -f test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the id "testLDAP" from the file "test/e2e/exports/all/allAlphaApplications.application.json" with no dependencies 1`] = `""`; +exports[`frodo app import "frodo app import --no-deps -i e124e6f6-e25a-4180-a6c3-ff8b782a422c -f test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the id "e124e6f6-e25a-4180-a6c3-ff8b782a422c" from the file "test/e2e/exports/all/allAlphaApplications.application.json" with no dependencies 1`] = `""`; + +exports[`frodo app import "frodo app import --no-deps -n testLDAP -f test/e2e/exports/all/allAlphaApplications.application.json": should import the application with the name "testLDAP" from the file "test/e2e/exports/all/allAlphaApplications.application.json" with no dependencies 1`] = `""`; exports[`frodo app import "frodo app import -af test/e2e/exports/all/forgeopsRootApps.application.json -m forgeops": should import the 'application' apps into forgeops" 1`] = `""`; diff --git a/test/e2e/app-export.e2e.test.js b/test/e2e/app-export.e2e.test.js index c42c232c0..7fb026b26 100644 --- a/test/e2e/app-export.e2e.test.js +++ b/test/e2e/app-export.e2e.test.js @@ -48,11 +48,13 @@ /* // Cloud -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -i HRLite -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export --app-id EncoreADv2 -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -i HRLite -f my-HRLite.application.json -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -i HRLite --no-deps -f my-nodeps-HRLite.application.json -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -Ni HRLite -D appExportTestDir1 +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5 +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301 +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -n HRLite +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export --app-name EncoreADv2 +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -n HRLite -f my-HRLite.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -n HRLite --no-deps -f my-nodeps-HRLite.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -Nn HRLite -D appExportTestDir1 FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -a FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export --all -f my-allAlphaApplications.application.json FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-volker-demo.forgeblocks.com/am frodo app export -a --file my-other-allAlphaApplications.application.json @@ -78,34 +80,46 @@ const forgeopsEnv = getEnv(fc); const type = 'application'; describe('frodo app export', () => { - test('"frodo app export -i HRLite": should export the app with app id "HRLite"', async () => { + test('"frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5": should export the app with app id "0d86aa45-b73e-4924-9165-8c7f47eb19b5"', async () => { + const exportFile = '0d86aa45-b73e-4924-9165-8c7f47eb19b5.application.json'; + const CMD = `frodo app export -i 0d86aa45-b73e-4924-9165-8c7f47eb19b5`; + await testExport(CMD, env, type, exportFile); + }); + + test('"frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301": should export the app with app id "325bd28a-7c57-43fd-9241-30ee086b4301"', async () => { + const exportFile = '325bd28a-7c57-43fd-9241-30ee086b4301.application.json'; + const CMD = `frodo app export --app-id 325bd28a-7c57-43fd-9241-30ee086b4301`; + await testExport(CMD, env, type, exportFile); + }); + + test('"frodo app export -n HRLite": should export the app with app name "HRLite"', async () => { const exportFile = 'HRLite.application.json'; - const CMD = `frodo app export -i HRLite`; + const CMD = `frodo app export -n HRLite`; await testExport(CMD, env, type, exportFile); }); - test('"frodo app export --app-id EncoreADv2": should export the app with app id "EncoreADv2"', async () => { + test('"frodo app export --app-name EncoreADv2": should export the app with app name "EncoreADv2"', async () => { const exportFile = 'EncoreADv2.application.json'; - const CMD = `frodo app export --app-id EncoreADv2`; + const CMD = `frodo app export --app-name EncoreADv2`; await testExport(CMD, env, type, exportFile); }); - test('"frodo app export -i HRLite -f my-HRLite.application.json": should export the app with app id "HRLite" into file named my-HRLite.application.json', async () => { + test('"frodo app export -n HRLite -f my-HRLite.application.json": should export the app with app name "HRLite" into file named my-HRLite.application.json', async () => { const exportFile = 'my-HRLite.application.json'; - const CMD = `frodo app export -i HRLite -f ${exportFile}`; + const CMD = `frodo app export -n HRLite -f ${exportFile}`; await testExport(CMD, env, type, exportFile); }); - test('"frodo app export -i HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app id "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json', async () => { + test('"frodo app export -n HRLite --no-deps -f my-nodeps-HRLite.application.json": should export the app with app name "HRLite" with no dependencies into a file named my-nodeps-HRLite.application.json', async () => { const exportFile = 'my-nodeps-HRLite.application.json'; - const CMD = `frodo app export -i HRLite --no-deps -f ${exportFile}`; + const CMD = `frodo app export -n HRLite --no-deps -f ${exportFile}`; await testExport(CMD, env, type, exportFile); }); // TODO: Generate mocks for this test (skip for the meantime) - test.skip('"frodo app export -Ni HRLite -D appExportTestDir1": should export the app with app id "HRLite" into the directory appExportTestDir1', async () => { + test.skip('"frodo app export -Nn HRLite -D appExportTestDir1": should export the app with app name "HRLite" into the directory appExportTestDir1', async () => { const exportDirectory = 'appExportTestDir1'; - const CMD = `frodo app export -Ni HRLite -D ${exportDirectory}`; + const CMD = `frodo app export -Nn HRLite -D ${exportDirectory}`; await testExport(CMD, env, type, undefined, exportDirectory, false); }); diff --git a/test/e2e/app-import.e2e.test.js b/test/e2e/app-import.e2e.test.js index a495671a9..3e9292772 100644 --- a/test/e2e/app-import.e2e.test.js +++ b/test/e2e/app-import.e2e.test.js @@ -48,8 +48,10 @@ /* // Cloud -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --no-deps -i testLDAP -f test/e2e/exports/all/allAlphaApplications.application.json -FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --app-id testLDAP --file test/e2e/exports/all/allAlphaApplications.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --no-deps -i e124e6f6-e25a-4180-a6c3-ff8b782a422c -f test/e2e/exports/all/allAlphaApplications.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --app-id e124e6f6-e25a-4180-a6c3-ff8b782a422c --file test/e2e/exports/all/allAlphaApplications.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --no-deps -n testLDAP -f test/e2e/exports/all/allAlphaApplications.application.json +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --app-name testLDAP --file test/e2e/exports/all/allAlphaApplications.application.json FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --no-deps -f test/e2e/exports/all/allAlphaApplications.application.json FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --file test/e2e/exports/all/allAlphaApplications.application.json FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo app import --no-deps -af test/e2e/exports/all/allAlphaApplications.application.json @@ -85,14 +87,27 @@ const forgeopsBravoApplicationsExport = `${allDirectory}/forgeopsBravoApps.appli describe('frodo app import', () => { - test(`"frodo app import --no-deps -i testLDAP -f ${allAlphaApplicationsExport}": should import the application with the id "testLDAP" from the file "${allAlphaApplicationsExport}" with no dependencies`, async () => { - const CMD = `frodo app import --no-deps -i testLDAP -f ${allAlphaApplicationsExport}`; + test(`"frodo app import --no-deps -i e124e6f6-e25a-4180-a6c3-ff8b782a422c -f ${allAlphaApplicationsExport}": should import the application with the id "e124e6f6-e25a-4180-a6c3-ff8b782a422c" from the file "${allAlphaApplicationsExport}" with no dependencies`, async () => { + const CMD = `frodo app import --no-deps -i e124e6f6-e25a-4180-a6c3-ff8b782a422c -f ${allAlphaApplicationsExport}`; const { stdout } = await exec(CMD, env); expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); }); - test(`"frodo app import --app-id testLDAP --file ${allAlphaApplicationsExport}": should import the application with the id "testLDAP" from the file "${allAlphaApplicationsExport}"`, async () => { - const CMD = `frodo app import --app-id testLDAP --file ${allAlphaApplicationsExport}`; + test(`"frodo app import --app-id e124e6f6-e25a-4180-a6c3-ff8b782a422c --file ${allAlphaApplicationsExport}": should import the application with the id "e124e6f6-e25a-4180-a6c3-ff8b782a422c" from the file "${allAlphaApplicationsExport}"`, async () => { + const CMD = `frodo app import --app-id e124e6f6-e25a-4180-a6c3-ff8b782a422c --file ${allAlphaApplicationsExport}`; + const { stdout } = await exec(CMD, env); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); + + + test(`"frodo app import --no-deps -n testLDAP -f ${allAlphaApplicationsExport}": should import the application with the name "testLDAP" from the file "${allAlphaApplicationsExport}" with no dependencies`, async () => { + const CMD = `frodo app import --no-deps -n testLDAP -f ${allAlphaApplicationsExport}`; + const { stdout } = await exec(CMD, env); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); + + test(`"frodo app import --app-name testLDAP --file ${allAlphaApplicationsExport}": should import the application with the name "testLDAP" from the file "${allAlphaApplicationsExport}"`, async () => { + const CMD = `frodo app import --app-name testLDAP --file ${allAlphaApplicationsExport}`; const { stdout } = await exec(CMD, env); expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); }); diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/am_1076162899/recording.har index aa8811442..ae1bbb117 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/am_1076162899/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/am_1076162899/recording.har @@ -20,38 +20,42 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "accept-api-version", "value": "resource=1.1" }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 346, + "headersSize": 387, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 553, + "bodySize": 585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 553, - "text": "{\"_id\":\"*\",\"_rev\":\"1428750677\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"735966d7c67d814\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + "size": 585, + "text": "{\"_id\":\"*\",\"_rev\":\"-494299414\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[],\"cloudOnlyFeaturesEnabled\":true}" }, "cookies": [], "headers": [ @@ -89,7 +93,7 @@ }, { "name": "etag", - "value": "\"1428750677\"" + "value": "\"-494299414\"" }, { "name": "expires", @@ -105,15 +109,15 @@ }, { "name": "content-length", - "value": "553" + "value": "585" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -138,8 +142,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:48.854Z", - "time": 149, + "startedDateTime": "2026-02-18T22:04:13.387Z", + "time": 112, "timings": { "blocked": -1, "connect": -1, @@ -147,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 149 + "wait": 112 } }, { @@ -163,16 +167,16 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "accept-api-version", @@ -182,23 +186,27 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1554, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 275, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"version\",\"_rev\":\"-718638044\",\"version\":\"7.5.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.5.0-SNAPSHOT Build cbdf0302eac3978c68f50b853a4495a622999003 (2024-March-06 09:56)\",\"revision\":\"cbdf0302eac3978c68f50b853a4495a622999003\",\"date\":\"2024-March-06 09:56\"}" + "size": 280, + "text": "{\"_id\":\"version\",\"_rev\":\"103025458\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build 363328899230d72a7c5f4fdd6cafc3675d109ccd (2026-February-13 10:03)\",\"revision\":\"363328899230d72a7c5f4fdd6cafc3675d109ccd\",\"date\":\"2026-February-13 10:03\"}" }, "cookies": [], "headers": [ @@ -236,7 +244,7 @@ }, { "name": "etag", - "value": "\"-718638044\"" + "value": "\"103025458\"" }, { "name": "expires", @@ -252,15 +260,15 @@ }, { "name": "content-length", - "value": "275" + "value": "280" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -279,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:49.141Z", - "time": 72, + "startedDateTime": "2026-02-18T22:04:13.636Z", + "time": 79, "timings": { "blocked": -1, "connect": -1, @@ -294,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 79 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/oauth2_393036114/recording.har index 5a23fd487..3545a743f 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/oauth2_393036114/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1140, + "bodySize": 1329, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "accept-api-version", @@ -37,30 +37,34 @@ }, { "name": "content-length", - "value": 1140 + "value": "1329" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 401, + "headersSize": 442, "httpVersion": "HTTP/1.1", "method": "POST", "postData": { "mimeType": "application/x-www-form-urlencoded", "params": [], - "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idm:* fr:idc:esv:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:content-security-policy:* fr:idc:esv:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1276, + "bodySize": 1787, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1276, - "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:idm:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1787, + "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:content-security-policy:* fr:idc:esv:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ @@ -90,15 +94,15 @@ }, { "name": "content-length", - "value": "1276" + "value": "1787" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -123,8 +127,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:49.026Z", - "time": 107, + "startedDateTime": "2026-02-18T22:04:13.520Z", + "time": 108, "timings": { "blocked": -1, "connect": -1, @@ -132,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 107 + "wait": 108 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/openidm_3290118515/recording.har index e0c38844b..67f31b8b6 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/openidm_3290118515/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-id_4268273935/openidm_3290118515/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "28b788a164509f9291d0055762972ae4", + "_id": "9cb8561357870863838a9948da32d1e8", "_order": 0, "cache": {}, "request": { @@ -20,27 +20,31 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1566, + "headersSize": 1927, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -49,20 +53,24 @@ "value": "*" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/svcacct/dc837f84-3643-4c5d-9c05-acb73c7d02f4?_fields=%2A" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/d58969ef-43d8-4e07-917e-c089baccc5c6?_fields=%2A" }, "response": { - "bodySize": 1174, + "bodySize": 1371, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1174, - "text": "{\"_id\":\"dc837f84-3643-4c5d-9c05-acb73c7d02f4\",\"_rev\":\"f75d6945-1081-4e40-ac38-a36141369e72-1834\",\"accountStatus\":\"Active\",\"name\":\"Frodo-SA-1700696937262\",\"description\":\"volker.scheuber@forgerock.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idm:*\",\"fr:idc:esv:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"pIA_JyWzCR6VGELlXc-Mx0G0_0DAyOZZf1n2QS8rDGc\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"kfxhNrv5Z3nbUozwuZCHVwgUKqhDnHfGh_AgY2v1ihpRpsYnakhxYWW8i1iCya9vBvi4YZGeYjdyH7rqvB1_ZzGPRpPUBca5bEJA2xWAt-5rsKebrRhdgmo_dd0JVWnS5wVSM9lg73SXR5nVCtHJsQNCxFpBT-NXdf-bL-xY0hI2JvQg1IH9mrxJIKqF9eqoyxy3BoXgV2YgOP8xGsqIuweOJx-KBVQ5EqqVuACgrku-p6Wii2WPS8qXz6x4ORJmJ85Lo87hgUwsCg3tlxnV5PCs68BgvMTQmGgop5S4m8psmN7XmbCsxBtoZJoU8eRDwQnz9_IT5wPjSuCrwLPkHYukL565J6QesEEBDDe9S8UBgikWamR6sNpFgHUPymkQ7xPZeZOxMMURfAOBHE3qmwxhtUCxlNSkg8IiosWmvwfTIqLTv56ZPNAINJ9DNKlGY0tvIVjM5lg2Jw_6f_XCbje6ZM2vPVeU5l6Pl7gkkYKa2PN9VgN9RHerFZzCovSDhrffV0syyc31K1oAW7NSUflPNWgYmOlAO3rgZzNIeqtbu3xQ_bKSFwyDB262Vpmz8b3sXAQ_5kKbgduy5O5Sw6pQvL5EDSjS_pmgPeFruu3swYaPgRwopHFeZ4ojitJF4QtWSTgGc2GjLd6VPJAp5nn70IYM3tztYDS7uvrmrqc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1371, + "text": "{\"_id\":\"d58969ef-43d8-4e07-917e-c089baccc5c6\",\"_rev\":\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1769559161870\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"6brYsnEbcq6_ySR4MeoetfKy8Nv1rUHqDz0Fe9h387Y\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"jaYF1DcbCZSp1Dxi3O9lGIfnqEb-s-fXLnPEyLcj9oHYahbQY-d_M0YCLDdFtMfxNzFXAnCgHLUxyVLOwkLpCPlVs1x-YBtHvvD83Qu4sdWerslZago0aBZshyVPg8sn0ERhngAlFDhOWxJaztmj24scD7CiZ0DGoL36SpcHnmv0Pv6hedHv3AViuCYEcGxKyWkC_E9vsQq02TMTZzQrOy0pk92KZMkcpGtMlfV4y3CI8tmsL2GCZm3_5kFBz-qQHPcjl8Qpj2GwqHaKqFMK7r2jKpKzYIQXof-w9zWZZg4oJzNyY3G0PhkPB-diBEBr1MApmt-1lWakhDWki3U3CXTrXoVGNu_6FkvorXFsSNjawLJVFRszRHFy87a08XM5_40DffDzig4UL-IVjRGHNR8pdeckBvjMaxgOG3wcd_lWqOMbALnqdhyVKBcDuewfeb6IU3h7bQOvzWzTZvKZcaErbCrVJmyG808CvxDoAtffr_wbjoJ_V6RvRcKhcaJjZY8aPgaN29sU_jQwU67tWB9_Smc6lxNoYxAz05vmpgOi4vOwploO7pHqWcmvBqC0mBqcCORSjub61fLzMcOAqAtyJiHHDYKdWBN5tgmLLxtUObkk4cdHojMpCs8QOq7GDWYuSZkBjp3Q_KfXe_AZQ8Th6r3-2xMssfE18P3-ZPc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" + }, + { + "name": "vary", + "value": "Origin" }, { "name": "cache-control", @@ -86,7 +94,7 @@ }, { "name": "etag", - "value": "\"f75d6945-1081-4e40-ac38-a36141369e72-1834\"" + "value": "\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\"" }, { "name": "expires", @@ -106,11 +114,11 @@ }, { "name": "content-length", - "value": "1174" + "value": "1371" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -129,14 +137,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 668, + "headersSize": 682, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:49.223Z", - "time": 71, + "startedDateTime": "2026-02-18T22:04:13.699Z", + "time": 124, "timings": { "blocked": -1, "connect": -1, @@ -144,12 +152,12 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 124 } }, { - "_id": "28d80a3cb3bd69d4e89ca208e141a014", - "_order": 0, + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 1, "cache": {}, "request": { "bodySize": 0, @@ -160,57 +168,57 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1727, + "headersSize": 1927, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ - { - "name": "_queryFilter", - "value": "name eq 'EncoreADv2'" - }, - { - "name": "_pageSize", - "value": "1000" - }, { "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + "value": "*" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=name%20eq%20%27EncoreADv2%27&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/d58969ef-43d8-4e07-917e-c089baccc5c6?_fields=%2A" }, "response": { - "bodySize": 3247, + "bodySize": 1371, "content": { "mimeType": "application/json;charset=utf-8", - "size": 3247, - "text": "{\"result\":[{\"_id\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\",\"_rev\":\"6f7f7140-16a0-47f8-9d9d-b519ed0530ca-1008\",\"authoritative\":false,\"description\":\"Encore Workforce AD\",\"icon\":\"\",\"templateName\":\"active.directory\",\"templateVersion\":\"2.0\",\"connectorId\":\"EncoreADv2\",\"mappingNames\":[\"systemEncoreadv2User_managedAlpha_user\",\"managedAlpha_user_systemEncoreadv2User\",\"systemEncoreadv2Group_managedAlpha_assignment\"],\"uiConfig\":{\"objectTypes\":{\"Group\":{\"properties\":{\"__NAME__\":{\"order\":2,\"userSpecific\":true},\"cn\":{\"order\":1,\"userSpecific\":true,\"isDisplay\":true},\"description\":{\"order\":3,\"userSpecific\":true},\"displayName\":{\"order\":4,\"userSpecific\":true},\"objectGUID\":{\"order\":0,\"userSpecific\":true},\"uSNChanged\":{\"order\":5,\"userSpecific\":true},\"uSNCreated\":{\"order\":6,\"userSpecific\":true},\"whenChanged\":{\"order\":7,\"userSpecific\":true},\"whenCreated\":{\"order\":8,\"userSpecific\":true}}},\"User\":{\"properties\":{\"__ENABLE__\":{\"order\":2,\"userSpecific\":true},\"__NAME__\":{\"order\":1,\"userSpecific\":true},\"__PASSWORD__\":{\"order\":3,\"userSpecific\":true},\"accountExpires\":{\"order\":36,\"userSpecific\":true},\"c\":{\"order\":32,\"userSpecific\":true},\"cn\":{\"order\":5,\"userSpecific\":true},\"co\":{\"order\":30,\"userSpecific\":true},\"company\":{\"order\":10,\"userSpecific\":true},\"countryCode\":{\"order\":31,\"userSpecific\":true},\"department\":{\"order\":23,\"userSpecific\":true},\"description\":{\"order\":13,\"userSpecific\":true},\"displayName\":{\"order\":12,\"userSpecific\":true},\"division\":{\"order\":11,\"userSpecific\":true},\"employeeID\":{\"order\":27,\"userSpecific\":true},\"employeeNumber\":{\"order\":28,\"userSpecific\":true},\"employeeType\":{\"order\":29,\"userSpecific\":true},\"facsimileTelephoneNumber\":{\"order\":14,\"userSpecific\":true},\"givenName\":{\"order\":7,\"userSpecific\":true},\"homePhone\":{\"order\":15,\"userSpecific\":true},\"initials\":{\"order\":24,\"userSpecific\":true},\"l\":{\"order\":16,\"userSpecific\":true},\"lastLogon\":{\"order\":19,\"userSpecific\":true},\"ldapGroups\":{\"isEntitlement\":false,\"nonAccountObject\":\"Group\",\"order\":46},\"lockoutTime\":{\"order\":38,\"userSpecific\":true},\"mail\":{\"order\":8,\"userSpecific\":true},\"manager\":{\"order\":22,\"userSpecific\":true},\"memberOf\":{\"order\":43,\"userSpecific\":true},\"middleName\":{\"order\":9,\"userSpecific\":true},\"mobile\":{\"order\":26,\"userSpecific\":true},\"objectGUID\":{\"order\":0,\"userSpecific\":true},\"otherHomePhone\":{\"order\":44,\"userSpecific\":true},\"physicalDeliveryOfficeName\":{\"order\":20,\"userSpecific\":true},\"postOfficeBox\":{\"order\":18,\"userSpecific\":true},\"postalCode\":{\"order\":17,\"userSpecific\":true},\"pwdLastSet\":{\"order\":37,\"userSpecific\":true},\"sAMAccountName\":{\"order\":45,\"userSpecific\":true,\"isDisplay\":true},\"sn\":{\"order\":4,\"userSpecific\":true},\"st\":{\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"order\":25,\"userSpecific\":true},\"telephoneNumber\":{\"order\":33,\"userSpecific\":true},\"title\":{\"order\":34,\"userSpecific\":true},\"uSNChanged\":{\"order\":39,\"userSpecific\":true},\"uSNCreated\":{\"order\":40,\"userSpecific\":true},\"userAccountControl\":{\"order\":35,\"userSpecific\":true},\"userPrincipalName\":{\"order\":6,\"userSpecific\":true},\"whenChanged\":{\"order\":41,\"userSpecific\":true},\"whenCreated\":{\"order\":42,\"userSpecific\":true}}}}},\"name\":\"EncoreADv2\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 1371, + "text": "{\"_id\":\"d58969ef-43d8-4e07-917e-c089baccc5c6\",\"_rev\":\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1769559161870\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"6brYsnEbcq6_ySR4MeoetfKy8Nv1rUHqDz0Fe9h387Y\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"jaYF1DcbCZSp1Dxi3O9lGIfnqEb-s-fXLnPEyLcj9oHYahbQY-d_M0YCLDdFtMfxNzFXAnCgHLUxyVLOwkLpCPlVs1x-YBtHvvD83Qu4sdWerslZago0aBZshyVPg8sn0ERhngAlFDhOWxJaztmj24scD7CiZ0DGoL36SpcHnmv0Pv6hedHv3AViuCYEcGxKyWkC_E9vsQq02TMTZzQrOy0pk92KZMkcpGtMlfV4y3CI8tmsL2GCZm3_5kFBz-qQHPcjl8Qpj2GwqHaKqFMK7r2jKpKzYIQXof-w9zWZZg4oJzNyY3G0PhkPB-diBEBr1MApmt-1lWakhDWki3U3CXTrXoVGNu_6FkvorXFsSNjawLJVFRszRHFy87a08XM5_40DffDzig4UL-IVjRGHNR8pdeckBvjMaxgOG3wcd_lWqOMbALnqdhyVKBcDuewfeb6IU3h7bQOvzWzTZvKZcaErbCrVJmyG808CvxDoAtffr_wbjoJ_V6RvRcKhcaJjZY8aPgaN29sU_jQwU67tWB9_Smc6lxNoYxAz05vmpgOi4vOwploO7pHqWcmvBqC0mBqcCORSjub61fLzMcOAqAtyJiHHDYKdWBN5tgmLLxtUObkk4cdHojMpCs8QOq7GDWYuSZkBjp3Q_KfXe_AZQ8Th6r3-2xMssfE18P3-ZPc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" + }, + { + "name": "vary", + "value": "Origin" }, { "name": "cache-control", @@ -232,6 +240,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\"" + }, { "name": "expires", "value": "0" @@ -250,11 +262,11 @@ }, { "name": "content-length", - "value": "3247" + "value": "1371" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -273,14 +285,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 617, + "headersSize": 682, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:49.305Z", - "time": 54, + "startedDateTime": "2026-02-18T22:04:13.724Z", + "time": 71, "timings": { "blocked": -1, "connect": -1, @@ -288,11 +300,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 54 + "wait": 71 } }, { - "_id": "66d8eeebda026a96b59a3af531de1374", + "_id": "d8688d5263b0de307e688e999327d8b9", "_order": 0, "cache": {}, "request": { @@ -303,329 +315,63 @@ "name": "accept", "value": "application/json, text/plain, */*" }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" - }, { "name": "content-type", "value": "application/json" }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "host", - "value": "openam-volker-demo.forgeblocks.com" - } - ], - "headersSize": 1539, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/provisioner.openicf/EncoreADv2" - }, - "response": { - "bodySize": 8908, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 8908, - "text": "{\"_id\":\"provisioner.openicf/EncoreADv2\",\"configurationProperties\":{\"accountObjectClasses\":[\"top\",\"person\",\"organizationalPerson\",\"user\"],\"accountSearchFilter\":\"(objectClass=User)\",\"accountSynchronizationFilter\":null,\"accountUserNameAttributes\":[\"sAMAccountName\"],\"allowTreeDelete\":false,\"alternateKeyStore\":null,\"alternateKeyStorePassword\":null,\"alternateKeyStoreType\":null,\"attributesToSynchronize\":[],\"authType\":\"simple\",\"baseContexts\":[\"OU=Encore,DC=ad-volker-demo,DC=encore,DC=forgerock,DC=org\"],\"baseContextsToSynchronize\":[],\"blockSize\":100,\"changeLogBlockSize\":100,\"changeNumberAttribute\":\"changeNumber\",\"checkAliveMinInterval\":60,\"connectionTimeout\":30000,\"convertADIntervalToISO8601\":[\"pwdLastSet\",\"accountExpires\",\"lockoutTime\",\"lastLogon\"],\"convertGTToISO8601\":[\"whenCreated\",\"whenChanged\"],\"credentials\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"CTj3bUp5X751CH2Rp+gNCQ==\",\"iv\":\"MLlGLkkY8lewkImEL5okww==\",\"keySize\":16,\"mac\":\"/fmm6tTVDtoEIaaekXtZIQ==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"DzyYuBYWadeSW8BlhX0Jqw==\",\"stableId\":\"openidm-sym-default\"}}},\"failover\":[],\"filterWithOrInsteadOfAnd\":false,\"getGroupMemberId\":false,\"groupMemberAttribute\":\"member\",\"groupObjectClasses\":[\"top\",\"groupOfUniqueNames\"],\"groupSearchFilter\":\"(&(!(cn=Domain Users))(objectClass=group))\",\"groupSynchronizationFilter\":null,\"gssapiLoginContext\":null,\"host\":\"volker-demo.ad-volker-demo.encore.forgerock.org\",\"hostNameVerification\":false,\"hostNameVerifierPattern\":null,\"lastCheckAlive\":1690969088087,\"ldapGroupsUseStaticGroups\":false,\"maintainLdapGroupMembership\":false,\"maintainPosixGroupMembership\":false,\"modifiersNamesToFilterOut\":[],\"objectClassesToSynchronize\":[\"user\"],\"passwordAttribute\":\"unicodePwd\",\"passwordHashAlgorithm\":\"WIN-AD\",\"port\":636,\"principal\":\"CN=root,CN=Users,DC=ad-volker-demo,DC=encore,DC=forgerock,DC=org\",\"privateKeyAlias\":null,\"readSchema\":false,\"referralsHandling\":\"follow\",\"removeLogEntryObjectClassFromFilter\":true,\"resetSyncToken\":\"never\",\"respectResourcePasswordPolicyChangeAfterReset\":false,\"sendCAUDTxId\":false,\"ssl\":true,\"startTLS\":false,\"uidAttribute\":\"objectGUID\",\"useBlocks\":true,\"useDNSSRVRecord\":false,\"useOldADGUIDFormat\":false,\"usePagedResultControl\":true,\"useTimestampsForSync\":false,\"vlvSortAttribute\":\"sAMAccountName\"},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.ldap-connector\",\"bundleVersion\":\"[1.5.20.12, 1.5.21.0)\",\"connectorHostRef\":\"adrcs\",\"connectorName\":\"org.identityconnectors.ldap.LdapConnector\",\"displayName\":\"LDAP Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"Group\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"cn\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"cn\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"objectGUID\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"objectGUID\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNCreated\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenCreated\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__ENABLE__\":{\"nativeName\":\"__ENABLE__\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"type\":\"string\"},\"accountExpires\":{\"nativeName\":\"accountExpires\",\"nativeType\":\"string\",\"type\":\"string\"},\"c\":{\"nativeName\":\"c\",\"nativeType\":\"string\",\"type\":\"string\"},\"cn\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"cn\",\"nativeType\":\"string\",\"type\":\"string\"},\"co\":{\"nativeName\":\"co\",\"nativeType\":\"string\",\"type\":\"string\"},\"company\":{\"nativeName\":\"company\",\"nativeType\":\"string\",\"type\":\"string\"},\"countryCode\":{\"nativeName\":\"countryCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"division\":{\"nativeName\":\"division\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeID\":{\"nativeName\":\"employeeID\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeNumber\":{\"nativeName\":\"employeeNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeType\":{\"nativeName\":\"employeeType\",\"nativeType\":\"string\",\"type\":\"string\"},\"facsimileTelephoneNumber\":{\"nativeName\":\"facsimileTelephoneNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homePhone\":{\"nativeName\":\"homePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"initials\":{\"nativeName\":\"initials\",\"nativeType\":\"string\",\"type\":\"string\"},\"l\":{\"nativeName\":\"l\",\"nativeType\":\"string\",\"type\":\"string\"},\"lastLogon\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"lastLogon\",\"nativeType\":\"string\",\"type\":\"string\"},\"ldapGroups\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"ldapGroups\",\"nativeType\":\"string\",\"required\":false,\"type\":\"array\"},\"lockoutTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"lockoutTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"string\",\"type\":\"string\"},\"memberOf\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"middleName\":{\"nativeName\":\"middleName\",\"nativeType\":\"string\",\"type\":\"string\"},\"mobile\":{\"nativeName\":\"mobile\",\"nativeType\":\"string\",\"type\":\"string\"},\"objectGUID\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"objectGUID\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherHomePhone\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherHomePhone\",\"nativeType\":\"string\",\"type\":\"array\"},\"physicalDeliveryOfficeName\":{\"nativeName\":\"physicalDeliveryOfficeName\",\"nativeType\":\"string\",\"type\":\"string\"},\"postOfficeBox\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"postOfficeBox\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"pwdLastSet\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"pwdLastSet\",\"nativeType\":\"string\",\"type\":\"string\"},\"sAMAccountName\":{\"nativeName\":\"sAMAccountName\",\"nativeType\":\"string\",\"type\":\"string\"},\"sn\":{\"nativeName\":\"sn\",\"nativeType\":\"string\",\"type\":\"string\"},\"st\":{\"nativeName\":\"st\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"telephoneNumber\":{\"nativeName\":\"telephoneNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"title\":{\"nativeName\":\"title\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNCreated\",\"nativeType\":\"string\",\"type\":\"string\"},\"userAccountControl\":{\"nativeName\":\"userAccountControl\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenCreated\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "8908" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 665, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-03-22T03:13:49.367Z", - "time": 51, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 51 - } - }, - { - "_id": "4c963e6ac6a0c10bf75de375d8e3da12", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" - }, - { - "name": "content-type", - "value": "application/json" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1546, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { - "name": "_queryFilter", - "value": "_id sw 'mapping'" + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application/325bd28a-7c57-43fd-9241-30ee086b4301?_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" }, "response": { - "bodySize": 10986, + "bodySize": 228, "content": { "mimeType": "application/json;charset=utf-8", - "size": 10986, - "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_user_systemEncoreadv2User\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'sAMAccountName eq \\\"' + source.userName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"ldapGroups\"],\"displayName\":\"managedAlpha_user_systemEncoreadv2User\",\"icon\":null,\"name\":\"managedAlpha_user_systemEncoreadv2User\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":{\"source\":\"target.__ENABLE__ = false;\\ntarget.__NAME__ = `cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\nopenidm.update('system/EncoreADv2/User/' + target._id, null, target); 'UNLINK';\",\"type\":\"text/javascript\"},\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":{\"source\":\"target.__ENABLE__ = true;\\ntarget.__NAME__ = `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\n'UPDATE'; openidm.update('system/EncoreADv2/User/' + target._id, null, target);\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"cn\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source.userName;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"sn\",\"target\":\"sn\"},{\"source\":\"userName\",\"target\":\"sAMAccountName\"},{\"source\":\"\",\"target\":\"userPrincipalName\",\"transform\":{\"source\":\"`${source.userName}@ad-volker-demo.encore.forgerock.org`;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__ENABLE__\",\"transform\":{\"source\":\"(source.accountStatus==='inactive') ? false : true;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__NAME__\",\"transform\":{\"source\":\"(source.accountStatus==\\\"active\\\")? `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`:`cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"openidm.decrypt(source.custom_encryptedPassword)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName + ' ' + source.sn\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":false,\"settings\":{},\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or lastSync/managedAlpha_user_systemEncoreadv2User pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/EncoreADv2/User\"},{\"_id\":\"mapping/systemEncoreadv2Group_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.description !== \\\"undefined\\\") && source.description !== null) {\\n source.description;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemEncoreadv2User\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"__NAME__\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'ldapGroups',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_EncoreADv2_Group_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/EncoreADv2/Group\",\"target\":\"managed/alpha_assignment\"},{\"_id\":\"mapping/systemEncoreadv2User_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'userName eq \\\"' + source.sAMAccountName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"ldapGroups\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemEncoreadv2User_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemEncoreadv2User\",\"name\":\"systemEncoreadv2User_managedAlpha_user\",\"onLink\":{\"globals\":{\"assignmentResCollection\":\"managed/alpha_assignment\"},\"source\":\"function compare(sourceVal, previewVal, strictEquality) {\\n if (Array.isArray(sourceVal) && Array.isArray(previewVal)) {\\n return arraysAreEqual(sourceVal, previewVal, strictEquality);\\n } else if (elementIsObject(sourceVal) && elementIsObject(previewVal)) {\\n return mapsAreEqual(sourceVal, previewVal, strictEquality);\\n } else {\\n return sourceVal === previewVal;\\n }\\n}\\n\\nfunction arraysAreEqual(sourceArray, previewArray, strictEquality) {\\n if (!lengthCheck(sourceArray, previewArray, strictEquality)) {\\n return false;\\n }\\n\\n return sourceArray.every((sourceEle) => previewArray.some((previewEle) => compare(sourceEle, previewEle)));\\n}\\n\\nfunction mapsAreEqual(sourceMap, previewMap, strictEquality) {\\n var sourceKeys = Object.keys(sourceMap);\\n var previewKeys = Object.keys(previewMap);\\n\\n if (!lengthCheck(sourceKeys, previewKeys, strictEquality)) {\\n return false;\\n }\\n\\n if (!sourceKeys.every((sourceKey) => previewKeys.includes(sourceKey))) {\\n return false;\\n }\\n return sourceKeys.every((key) => compare(sourceMap[key], previewMap[key], strictEquality));\\n}\\n\\nfunction lengthCheck(first, second, strictEquality) {\\n return strictEquality ? (first.length === second.length)\\n : (first.length <= second.length);\\n}\\n\\nfunction elementIsObject(val) {\\n return typeof val === \\\"object\\\" && val !== null;\\n}\\n\\nif (situation === \\\"FOUND\\\") {\\n var params = {\\n \\\"resourceId\\\": targetId,\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"linkQualifier\\\": linkQualifier\\n };\\n\\n // get the preview of the target object from the outbound mapping\\n var targetPreview = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n var attributes = [];\\n\\n // find all values where target app user has different values from the correlated IDM user\\n Object.keys(source).filter(function(key) {\\n return (key in targetPreview) ? !compare(source[key], targetPreview[key], true) : false;\\n }).forEach(function(key) {\\n var attribute = {\\n \\\"name\\\": key,\\n \\\"value\\\": source[key]\\n };\\n attributes.push(attribute);\\n })\\n\\n // create override assignment if any diff was found\\n if (attributes.length > 0) {\\n var assignment = {\\n \\\"name\\\": targetId + \\\"-overrideAssignment\\\",\\n \\\"description\\\": targetId + \\\"override assignment\\\",\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"attributes\\\": attributes,\\n \\\"type\\\": \\\"__OVERRIDE__\\\"\\n };\\n var assignmentResult = openidm.create(assignmentResCollection, null, assignment);\\n openidm.create(mappingConfig.target + \\\"/\\\" + targetId + \\\"/assignments\\\", null, {\\\"_ref\\\": assignmentResCollection + \\\"/\\\" + assignmentResult[\\\"_id\\\"]});\\n var result = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n Object.keys(source).forEach(function(key) {\\n if (typeof result[key] === \\\"undefined\\\" || compare(source[key], result[key], false)) {\\n return;\\n }\\n // unable to successfully recreate object being linked, delete assignment and throw exception\\n openidm.delete(assignmentResCollection + \\\"/\\\" + assignmentResult._id, null);\\n throw new org.forgerock.openidm.sync.SynchronizationException(\\\"onLink - Unable to successfully preserve differences for source: \\\" + sourceId);\\n })\\n }\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"postAction\":{\"globals\":{\"managedApplicationId\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\"},\"source\":\"let idFound = false;\\nif (typeof target.effectiveApplications !== \\\"undefined\\\" && target.effectiveApplications !== null) {\\n target.effectiveApplications.forEach((effectiveApplication) => {\\n if (effectiveApplication._id === managedApplicationId) {\\n idFound = true;\\n }\\n });\\n}\\nif (!idFound) {\\n openidm.create(\\\"managed/alpha_user/\\\"+target._id+\\\"/applications\\\",null,{_ref:\\\"managed/alpha_application/\\\"+managedApplicationId});\\n}\\n\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectField\":\"__NAME__\",\"referencedObjectType\":\"Group\",\"source\":\"ldapGroups\",\"target\":\"assignments\"}],\"runTargetPhase\":false,\"source\":\"system/EncoreADv2/User\",\"target\":\"managed/alpha_user\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + "size": 228, + "text": "{\"_id\":\"325bd28a-7c57-43fd-9241-30ee086b4301\",\"_rev\":\"0450138b-0cc2-402a-b7fe-4949775818fc-3564\",\"description\":\"test2\",\"url\":\"https://google.com\",\"templateName\":\"bookmark\",\"templateVersion\":\"1.0\",\"ssoEntities\":{},\"name\":\"test2\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "10986" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" + "value": "Wed, 18 Feb 2026 22:04:13 GMT" }, { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 666, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-03-22T03:13:49.425Z", - "time": 56, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 56 - } - }, - { - "_id": "4c1fef66c916c8940b0315dddc564b06", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "host", - "value": "openam-volker-demo.forgeblocks.com" - } - ], - "headersSize": 1513, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/sync" - }, - "response": { - "bodySize": 5532, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 5532, - "text": "{\"_id\":\"sync\",\"mappings\":[{\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"frIndexedInteger1\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"systemHrlite__account___managedAlpha_user\",\"type\":\"text/javascript\"}],\"displayName\":\"systemHrlite__account___managedAlpha_user\",\"icon\":null,\"name\":\"systemHrlite__account___managedAlpha_user\",\"onCreate\":{\"globals\":{},\"source\":\"// Script has access to the following variables:\\n// sourceObject\\n// targetObject\\n// existingTargetObject\\n// linkQualifier\\nvar givenName = source.firstName;\\nlogger.info (\\\"this is the givenName \\\" + givenName);\\nvar sn = source.lastName;\\nlogger.info (\\\"this is the sn \\\" + sn);\\n\\n/* first choice of username */\\nvar checkuserName = givenName.substring(0,1).concat(sn).toLowerCase();\\nlogger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n/* if the userName is not found no need to go further */\\nvar queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n};\\n\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\n /* second choice of username */\\n checkuserName = givenName.substring(0,2).concat(sn).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n /* while the userName is found try above for second then add time to end until found */\\n while (queryResult.resultCount > 0) {\\n /* timeadded to choice of username */\\n var millis = String(Date.now());\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n checkuserName = givenName.substring(0,1).concat(sn).concat(millis.substring(millis.length - 4)).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n } \\n}\\ntarget.userName = checkuserName;\\ntarget.cn = checkuserName + \\\" \\\" + givenName + \\\" \\\" + sn;\\ntarget.mail = \\\"volker.scheuber+\\\" + checkuserName+ \\\"-volker-demo\\\"+ \\\"@forgerock.com\\\"; \\ntarget.password = 'Frdp-2010';\\nvar managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {_queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n//Mail domain is dependent on your AD domain name….\\nlogger.info (\\\"Final userName \\\" + checkuserName);\\n// Role assignment scripts must always return targetObject, otherwise\\n// other scripts and code that occur downstream of your script will\\n// not work as expected.\\n\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"var managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {\\n _queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"EXCEPTION\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"EXCEPTION\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"UPDATE\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"source\":\"\",\"target\":\"frIndexedInteger1\",\"transform\":{\"source\":\"parseInt(source.__NAME__)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger2\",\"transform\":{\"source\":\"parseInt(source.status)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger3\",\"transform\":{\"source\":\"parseInt(source.depId)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger4\",\"transform\":{\"source\":\"parseInt(source.jobCode)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger5\",\"transform\":{\"source\":\"parseInt(source.empType)\",\"type\":\"text/javascript\"}},{\"source\":\"phone\",\"target\":\"telephoneNumber\"},{\"source\":\"city\",\"target\":\"city\"},{\"source\":\"state\",\"target\":\"stateProvince\"},{\"source\":\"address\",\"target\":\"postalAddress\"},{\"source\":\"postalCode\",\"target\":\"postalCode\"},{\"source\":\"country\",\"target\":\"country\"},{\"source\":\"firstName\",\"target\":\"givenName\"},{\"source\":\"lastName\",\"target\":\"sn\"},{\"source\":\"isManager\",\"target\":\"frIndexedString4\"},{\"source\":\"externalMail\",\"target\":\"frIndexedString5\"},{\"source\":\"manager\",\"target\":\"frIndexedString3\"},{\"source\":\"\",\"target\":\"accountStatus\",\"transform\":{\"source\":\"(parseInt(source.status)==5)?\\\"inactive\\\":\\\"active\\\";\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/HRLite/__ACCOUNT__\",\"target\":\"managed/alpha_user\",\"taskThreads\":1}]}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Fri, 22 Mar 2024 03:13:49 GMT" + "name": "vary", + "value": "Origin" }, { "name": "cache-control", "value": "no-store" }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -642,6 +388,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"0450138b-0cc2-402a-b7fe-4949775818fc-3564\"" + }, { "name": "expires", "value": "0" @@ -660,11 +410,11 @@ }, { "name": "content-length", - "value": "5532" + "value": "228" }, { "name": "x-forgerock-transactionid", - "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + "value": "frodo-4401002b-a37b-4e0e-975a-5c15e40c57cb" }, { "name": "strict-transport-security", @@ -683,14 +433,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 681, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:13:49.487Z", - "time": 50, + "startedDateTime": "2026-02-18T22:04:13.803Z", + "time": 62, "timings": { "blocked": -1, "connect": -1, @@ -698,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 50 + "wait": 62 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/am_1076162899/recording.har new file mode 100644 index 000000000..aa8811442 --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/am_1076162899/recording.har @@ -0,0 +1,304 @@ +{ + "log": { + "_recordingName": "app/export/0_app-id/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 346, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 553, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 553, + "text": "{\"_id\":\"*\",\"_rev\":\"1428750677\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"735966d7c67d814\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1428750677\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "553" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:48.854Z", + "time": 149, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 149 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1554, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 275, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 275, + "text": "{\"_id\":\"version\",\"_rev\":\"-718638044\",\"version\":\"7.5.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.5.0-SNAPSHOT Build cbdf0302eac3978c68f50b853a4495a622999003 (2024-March-06 09:56)\",\"revision\":\"cbdf0302eac3978c68f50b853a4495a622999003\",\"date\":\"2024-March-06 09:56\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-718638044\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "275" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.141Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/oauth2_393036114/recording.har new file mode 100644 index 000000000..5a23fd487 --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/oauth2_393036114/recording.har @@ -0,0 +1,142 @@ +{ + "log": { + "_recordingName": "app/export/0_app-id/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1140, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": 1140 + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 401, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idm:* fr:idc:esv:*" + }, + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1276, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1276, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:idm:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1276" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 561, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.026Z", + "time": 107, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 107 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/openidm_3290118515/recording.har new file mode 100644 index 000000000..e0c38844b --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_app-name_1205865673/openidm_3290118515/recording.har @@ -0,0 +1,708 @@ +{ + "log": { + "_recordingName": "app/export/0_app-id/openidm", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "28b788a164509f9291d0055762972ae4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/svcacct/dc837f84-3643-4c5d-9c05-acb73c7d02f4?_fields=%2A" + }, + "response": { + "bodySize": 1174, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1174, + "text": "{\"_id\":\"dc837f84-3643-4c5d-9c05-acb73c7d02f4\",\"_rev\":\"f75d6945-1081-4e40-ac38-a36141369e72-1834\",\"accountStatus\":\"Active\",\"name\":\"Frodo-SA-1700696937262\",\"description\":\"volker.scheuber@forgerock.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idm:*\",\"fr:idc:esv:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"pIA_JyWzCR6VGELlXc-Mx0G0_0DAyOZZf1n2QS8rDGc\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"kfxhNrv5Z3nbUozwuZCHVwgUKqhDnHfGh_AgY2v1ihpRpsYnakhxYWW8i1iCya9vBvi4YZGeYjdyH7rqvB1_ZzGPRpPUBca5bEJA2xWAt-5rsKebrRhdgmo_dd0JVWnS5wVSM9lg73SXR5nVCtHJsQNCxFpBT-NXdf-bL-xY0hI2JvQg1IH9mrxJIKqF9eqoyxy3BoXgV2YgOP8xGsqIuweOJx-KBVQ5EqqVuACgrku-p6Wii2WPS8qXz6x4ORJmJ85Lo87hgUwsCg3tlxnV5PCs68BgvMTQmGgop5S4m8psmN7XmbCsxBtoZJoU8eRDwQnz9_IT5wPjSuCrwLPkHYukL565J6QesEEBDDe9S8UBgikWamR6sNpFgHUPymkQ7xPZeZOxMMURfAOBHE3qmwxhtUCxlNSkg8IiosWmvwfTIqLTv56ZPNAINJ9DNKlGY0tvIVjM5lg2Jw_6f_XCbje6ZM2vPVeU5l6Pl7gkkYKa2PN9VgN9RHerFZzCovSDhrffV0syyc31K1oAW7NSUflPNWgYmOlAO3rgZzNIeqtbu3xQ_bKSFwyDB262Vpmz8b3sXAQ_5kKbgduy5O5Sw6pQvL5EDSjS_pmgPeFruu3swYaPgRwopHFeZ4ojitJF4QtWSTgGc2GjLd6VPJAp5nn70IYM3tztYDS7uvrmrqc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"f75d6945-1081-4e40-ac38-a36141369e72-1834\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1174" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 668, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.223Z", + "time": 71, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 71 + } + }, + { + "_id": "28d80a3cb3bd69d4e89ca208e141a014", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1727, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq 'EncoreADv2'" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=name%20eq%20%27EncoreADv2%27&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + }, + "response": { + "bodySize": 3247, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 3247, + "text": "{\"result\":[{\"_id\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\",\"_rev\":\"6f7f7140-16a0-47f8-9d9d-b519ed0530ca-1008\",\"authoritative\":false,\"description\":\"Encore Workforce AD\",\"icon\":\"\",\"templateName\":\"active.directory\",\"templateVersion\":\"2.0\",\"connectorId\":\"EncoreADv2\",\"mappingNames\":[\"systemEncoreadv2User_managedAlpha_user\",\"managedAlpha_user_systemEncoreadv2User\",\"systemEncoreadv2Group_managedAlpha_assignment\"],\"uiConfig\":{\"objectTypes\":{\"Group\":{\"properties\":{\"__NAME__\":{\"order\":2,\"userSpecific\":true},\"cn\":{\"order\":1,\"userSpecific\":true,\"isDisplay\":true},\"description\":{\"order\":3,\"userSpecific\":true},\"displayName\":{\"order\":4,\"userSpecific\":true},\"objectGUID\":{\"order\":0,\"userSpecific\":true},\"uSNChanged\":{\"order\":5,\"userSpecific\":true},\"uSNCreated\":{\"order\":6,\"userSpecific\":true},\"whenChanged\":{\"order\":7,\"userSpecific\":true},\"whenCreated\":{\"order\":8,\"userSpecific\":true}}},\"User\":{\"properties\":{\"__ENABLE__\":{\"order\":2,\"userSpecific\":true},\"__NAME__\":{\"order\":1,\"userSpecific\":true},\"__PASSWORD__\":{\"order\":3,\"userSpecific\":true},\"accountExpires\":{\"order\":36,\"userSpecific\":true},\"c\":{\"order\":32,\"userSpecific\":true},\"cn\":{\"order\":5,\"userSpecific\":true},\"co\":{\"order\":30,\"userSpecific\":true},\"company\":{\"order\":10,\"userSpecific\":true},\"countryCode\":{\"order\":31,\"userSpecific\":true},\"department\":{\"order\":23,\"userSpecific\":true},\"description\":{\"order\":13,\"userSpecific\":true},\"displayName\":{\"order\":12,\"userSpecific\":true},\"division\":{\"order\":11,\"userSpecific\":true},\"employeeID\":{\"order\":27,\"userSpecific\":true},\"employeeNumber\":{\"order\":28,\"userSpecific\":true},\"employeeType\":{\"order\":29,\"userSpecific\":true},\"facsimileTelephoneNumber\":{\"order\":14,\"userSpecific\":true},\"givenName\":{\"order\":7,\"userSpecific\":true},\"homePhone\":{\"order\":15,\"userSpecific\":true},\"initials\":{\"order\":24,\"userSpecific\":true},\"l\":{\"order\":16,\"userSpecific\":true},\"lastLogon\":{\"order\":19,\"userSpecific\":true},\"ldapGroups\":{\"isEntitlement\":false,\"nonAccountObject\":\"Group\",\"order\":46},\"lockoutTime\":{\"order\":38,\"userSpecific\":true},\"mail\":{\"order\":8,\"userSpecific\":true},\"manager\":{\"order\":22,\"userSpecific\":true},\"memberOf\":{\"order\":43,\"userSpecific\":true},\"middleName\":{\"order\":9,\"userSpecific\":true},\"mobile\":{\"order\":26,\"userSpecific\":true},\"objectGUID\":{\"order\":0,\"userSpecific\":true},\"otherHomePhone\":{\"order\":44,\"userSpecific\":true},\"physicalDeliveryOfficeName\":{\"order\":20,\"userSpecific\":true},\"postOfficeBox\":{\"order\":18,\"userSpecific\":true},\"postalCode\":{\"order\":17,\"userSpecific\":true},\"pwdLastSet\":{\"order\":37,\"userSpecific\":true},\"sAMAccountName\":{\"order\":45,\"userSpecific\":true,\"isDisplay\":true},\"sn\":{\"order\":4,\"userSpecific\":true},\"st\":{\"order\":21,\"userSpecific\":true},\"streetAddress\":{\"order\":25,\"userSpecific\":true},\"telephoneNumber\":{\"order\":33,\"userSpecific\":true},\"title\":{\"order\":34,\"userSpecific\":true},\"uSNChanged\":{\"order\":39,\"userSpecific\":true},\"uSNCreated\":{\"order\":40,\"userSpecific\":true},\"userAccountControl\":{\"order\":35,\"userSpecific\":true},\"userPrincipalName\":{\"order\":6,\"userSpecific\":true},\"whenChanged\":{\"order\":41,\"userSpecific\":true},\"whenCreated\":{\"order\":42,\"userSpecific\":true}}}}},\"name\":\"EncoreADv2\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "3247" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 617, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.305Z", + "time": 54, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 54 + } + }, + { + "_id": "66d8eeebda026a96b59a3af531de1374", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1539, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/provisioner.openicf/EncoreADv2" + }, + "response": { + "bodySize": 8908, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 8908, + "text": "{\"_id\":\"provisioner.openicf/EncoreADv2\",\"configurationProperties\":{\"accountObjectClasses\":[\"top\",\"person\",\"organizationalPerson\",\"user\"],\"accountSearchFilter\":\"(objectClass=User)\",\"accountSynchronizationFilter\":null,\"accountUserNameAttributes\":[\"sAMAccountName\"],\"allowTreeDelete\":false,\"alternateKeyStore\":null,\"alternateKeyStorePassword\":null,\"alternateKeyStoreType\":null,\"attributesToSynchronize\":[],\"authType\":\"simple\",\"baseContexts\":[\"OU=Encore,DC=ad-volker-demo,DC=encore,DC=forgerock,DC=org\"],\"baseContextsToSynchronize\":[],\"blockSize\":100,\"changeLogBlockSize\":100,\"changeNumberAttribute\":\"changeNumber\",\"checkAliveMinInterval\":60,\"connectionTimeout\":30000,\"convertADIntervalToISO8601\":[\"pwdLastSet\",\"accountExpires\",\"lockoutTime\",\"lastLogon\"],\"convertGTToISO8601\":[\"whenCreated\",\"whenChanged\"],\"credentials\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"CTj3bUp5X751CH2Rp+gNCQ==\",\"iv\":\"MLlGLkkY8lewkImEL5okww==\",\"keySize\":16,\"mac\":\"/fmm6tTVDtoEIaaekXtZIQ==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"DzyYuBYWadeSW8BlhX0Jqw==\",\"stableId\":\"openidm-sym-default\"}}},\"failover\":[],\"filterWithOrInsteadOfAnd\":false,\"getGroupMemberId\":false,\"groupMemberAttribute\":\"member\",\"groupObjectClasses\":[\"top\",\"groupOfUniqueNames\"],\"groupSearchFilter\":\"(&(!(cn=Domain Users))(objectClass=group))\",\"groupSynchronizationFilter\":null,\"gssapiLoginContext\":null,\"host\":\"volker-demo.ad-volker-demo.encore.forgerock.org\",\"hostNameVerification\":false,\"hostNameVerifierPattern\":null,\"lastCheckAlive\":1690969088087,\"ldapGroupsUseStaticGroups\":false,\"maintainLdapGroupMembership\":false,\"maintainPosixGroupMembership\":false,\"modifiersNamesToFilterOut\":[],\"objectClassesToSynchronize\":[\"user\"],\"passwordAttribute\":\"unicodePwd\",\"passwordHashAlgorithm\":\"WIN-AD\",\"port\":636,\"principal\":\"CN=root,CN=Users,DC=ad-volker-demo,DC=encore,DC=forgerock,DC=org\",\"privateKeyAlias\":null,\"readSchema\":false,\"referralsHandling\":\"follow\",\"removeLogEntryObjectClassFromFilter\":true,\"resetSyncToken\":\"never\",\"respectResourcePasswordPolicyChangeAfterReset\":false,\"sendCAUDTxId\":false,\"ssl\":true,\"startTLS\":false,\"uidAttribute\":\"objectGUID\",\"useBlocks\":true,\"useDNSSRVRecord\":false,\"useOldADGUIDFormat\":false,\"usePagedResultControl\":true,\"useTimestampsForSync\":false,\"vlvSortAttribute\":\"sAMAccountName\"},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.ldap-connector\",\"bundleVersion\":\"[1.5.20.12, 1.5.21.0)\",\"connectorHostRef\":\"adrcs\",\"connectorName\":\"org.identityconnectors.ldap.LdapConnector\",\"displayName\":\"LDAP Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"Group\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__GROUP__\",\"nativeType\":\"__GROUP__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"cn\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"cn\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"objectGUID\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"objectGUID\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNCreated\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenCreated\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"},\"User\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__ENABLE__\":{\"nativeName\":\"__ENABLE__\",\"nativeType\":\"JAVA_TYPE_PRIMITIVE_BOOLEAN\",\"type\":\"boolean\"},\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"__PASSWORD__\":{\"flags\":[\"NOT_READABLE\",\"NOT_RETURNED_BY_DEFAULT\"],\"nativeName\":\"__PASSWORD__\",\"nativeType\":\"JAVA_TYPE_GUARDEDSTRING\",\"type\":\"string\"},\"accountExpires\":{\"nativeName\":\"accountExpires\",\"nativeType\":\"string\",\"type\":\"string\"},\"c\":{\"nativeName\":\"c\",\"nativeType\":\"string\",\"type\":\"string\"},\"cn\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"cn\",\"nativeType\":\"string\",\"type\":\"string\"},\"co\":{\"nativeName\":\"co\",\"nativeType\":\"string\",\"type\":\"string\"},\"company\":{\"nativeName\":\"company\",\"nativeType\":\"string\",\"type\":\"string\"},\"countryCode\":{\"nativeName\":\"countryCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"department\":{\"nativeName\":\"department\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"type\":\"string\"},\"displayName\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"displayName\",\"nativeType\":\"string\",\"type\":\"string\"},\"division\":{\"nativeName\":\"division\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeID\":{\"nativeName\":\"employeeID\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeNumber\":{\"nativeName\":\"employeeNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"employeeType\":{\"nativeName\":\"employeeType\",\"nativeType\":\"string\",\"type\":\"string\"},\"facsimileTelephoneNumber\":{\"nativeName\":\"facsimileTelephoneNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"givenName\":{\"nativeName\":\"givenName\",\"nativeType\":\"string\",\"type\":\"string\"},\"homePhone\":{\"nativeName\":\"homePhone\",\"nativeType\":\"string\",\"type\":\"string\"},\"initials\":{\"nativeName\":\"initials\",\"nativeType\":\"string\",\"type\":\"string\"},\"l\":{\"nativeName\":\"l\",\"nativeType\":\"string\",\"type\":\"string\"},\"lastLogon\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"lastLogon\",\"nativeType\":\"string\",\"type\":\"string\"},\"ldapGroups\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"ldapGroups\",\"nativeType\":\"string\",\"required\":false,\"type\":\"array\"},\"lockoutTime\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"lockoutTime\",\"nativeType\":\"string\",\"type\":\"string\"},\"mail\":{\"nativeName\":\"mail\",\"nativeType\":\"string\",\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"string\",\"type\":\"string\"},\"memberOf\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"memberOf\",\"nativeType\":\"string\",\"type\":\"array\"},\"middleName\":{\"nativeName\":\"middleName\",\"nativeType\":\"string\",\"type\":\"string\"},\"mobile\":{\"nativeName\":\"mobile\",\"nativeType\":\"string\",\"type\":\"string\"},\"objectGUID\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"objectGUID\",\"nativeType\":\"string\",\"type\":\"string\"},\"otherHomePhone\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"otherHomePhone\",\"nativeType\":\"string\",\"type\":\"array\"},\"physicalDeliveryOfficeName\":{\"nativeName\":\"physicalDeliveryOfficeName\",\"nativeType\":\"string\",\"type\":\"string\"},\"postOfficeBox\":{\"items\":{\"nativeType\":\"string\",\"type\":\"string\"},\"nativeName\":\"postOfficeBox\",\"nativeType\":\"string\",\"type\":\"array\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"type\":\"string\"},\"pwdLastSet\":{\"flags\":[\"NOT_CREATABLE\",\"NOT_UPDATEABLE\"],\"nativeName\":\"pwdLastSet\",\"nativeType\":\"string\",\"type\":\"string\"},\"sAMAccountName\":{\"nativeName\":\"sAMAccountName\",\"nativeType\":\"string\",\"type\":\"string\"},\"sn\":{\"nativeName\":\"sn\",\"nativeType\":\"string\",\"type\":\"string\"},\"st\":{\"nativeName\":\"st\",\"nativeType\":\"string\",\"type\":\"string\"},\"streetAddress\":{\"nativeName\":\"streetAddress\",\"nativeType\":\"string\",\"type\":\"string\"},\"telephoneNumber\":{\"nativeName\":\"telephoneNumber\",\"nativeType\":\"string\",\"type\":\"string\"},\"title\":{\"nativeName\":\"title\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"uSNCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"uSNCreated\",\"nativeType\":\"string\",\"type\":\"string\"},\"userAccountControl\":{\"nativeName\":\"userAccountControl\",\"nativeType\":\"string\",\"type\":\"string\"},\"userPrincipalName\":{\"nativeName\":\"userPrincipalName\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenChanged\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenChanged\",\"nativeType\":\"string\",\"type\":\"string\"},\"whenCreated\":{\"flags\":[\"NOT_UPDATEABLE\",\"NOT_CREATABLE\"],\"nativeName\":\"whenCreated\",\"nativeType\":\"string\",\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "8908" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.367Z", + "time": 51, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 51 + } + }, + { + "_id": "4c963e6ac6a0c10bf75de375d8e3da12", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1546, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'mapping'" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + }, + "response": { + "bodySize": 10986, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 10986, + "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_user_systemEncoreadv2User\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'sAMAccountName eq \\\"' + source.userName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"ldapGroups\"],\"displayName\":\"managedAlpha_user_systemEncoreadv2User\",\"icon\":null,\"name\":\"managedAlpha_user_systemEncoreadv2User\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":{\"source\":\"target.__ENABLE__ = false;\\ntarget.__NAME__ = `cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\nopenidm.update('system/EncoreADv2/User/' + target._id, null, target); 'UNLINK';\",\"type\":\"text/javascript\"},\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":{\"source\":\"target.__ENABLE__ = true;\\ntarget.__NAME__ = `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\n'UPDATE'; openidm.update('system/EncoreADv2/User/' + target._id, null, target);\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"cn\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source.userName;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"sn\",\"target\":\"sn\"},{\"source\":\"userName\",\"target\":\"sAMAccountName\"},{\"source\":\"\",\"target\":\"userPrincipalName\",\"transform\":{\"source\":\"`${source.userName}@ad-volker-demo.encore.forgerock.org`;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__ENABLE__\",\"transform\":{\"source\":\"(source.accountStatus==='inactive') ? false : true;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__NAME__\",\"transform\":{\"source\":\"(source.accountStatus==\\\"active\\\")? `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`:`cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"openidm.decrypt(source.custom_encryptedPassword)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName + ' ' + source.sn\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":false,\"settings\":{},\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or lastSync/managedAlpha_user_systemEncoreadv2User pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/EncoreADv2/User\"},{\"_id\":\"mapping/systemEncoreadv2Group_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.description !== \\\"undefined\\\") && source.description !== null) {\\n source.description;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemEncoreadv2User\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"__NAME__\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'ldapGroups',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_EncoreADv2_Group_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/EncoreADv2/Group\",\"target\":\"managed/alpha_assignment\"},{\"_id\":\"mapping/systemEncoreadv2User_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'userName eq \\\"' + source.sAMAccountName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"ldapGroups\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemEncoreadv2User_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemEncoreadv2User\",\"name\":\"systemEncoreadv2User_managedAlpha_user\",\"onLink\":{\"globals\":{\"assignmentResCollection\":\"managed/alpha_assignment\"},\"source\":\"function compare(sourceVal, previewVal, strictEquality) {\\n if (Array.isArray(sourceVal) && Array.isArray(previewVal)) {\\n return arraysAreEqual(sourceVal, previewVal, strictEquality);\\n } else if (elementIsObject(sourceVal) && elementIsObject(previewVal)) {\\n return mapsAreEqual(sourceVal, previewVal, strictEquality);\\n } else {\\n return sourceVal === previewVal;\\n }\\n}\\n\\nfunction arraysAreEqual(sourceArray, previewArray, strictEquality) {\\n if (!lengthCheck(sourceArray, previewArray, strictEquality)) {\\n return false;\\n }\\n\\n return sourceArray.every((sourceEle) => previewArray.some((previewEle) => compare(sourceEle, previewEle)));\\n}\\n\\nfunction mapsAreEqual(sourceMap, previewMap, strictEquality) {\\n var sourceKeys = Object.keys(sourceMap);\\n var previewKeys = Object.keys(previewMap);\\n\\n if (!lengthCheck(sourceKeys, previewKeys, strictEquality)) {\\n return false;\\n }\\n\\n if (!sourceKeys.every((sourceKey) => previewKeys.includes(sourceKey))) {\\n return false;\\n }\\n return sourceKeys.every((key) => compare(sourceMap[key], previewMap[key], strictEquality));\\n}\\n\\nfunction lengthCheck(first, second, strictEquality) {\\n return strictEquality ? (first.length === second.length)\\n : (first.length <= second.length);\\n}\\n\\nfunction elementIsObject(val) {\\n return typeof val === \\\"object\\\" && val !== null;\\n}\\n\\nif (situation === \\\"FOUND\\\") {\\n var params = {\\n \\\"resourceId\\\": targetId,\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"linkQualifier\\\": linkQualifier\\n };\\n\\n // get the preview of the target object from the outbound mapping\\n var targetPreview = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n var attributes = [];\\n\\n // find all values where target app user has different values from the correlated IDM user\\n Object.keys(source).filter(function(key) {\\n return (key in targetPreview) ? !compare(source[key], targetPreview[key], true) : false;\\n }).forEach(function(key) {\\n var attribute = {\\n \\\"name\\\": key,\\n \\\"value\\\": source[key]\\n };\\n attributes.push(attribute);\\n })\\n\\n // create override assignment if any diff was found\\n if (attributes.length > 0) {\\n var assignment = {\\n \\\"name\\\": targetId + \\\"-overrideAssignment\\\",\\n \\\"description\\\": targetId + \\\"override assignment\\\",\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"attributes\\\": attributes,\\n \\\"type\\\": \\\"__OVERRIDE__\\\"\\n };\\n var assignmentResult = openidm.create(assignmentResCollection, null, assignment);\\n openidm.create(mappingConfig.target + \\\"/\\\" + targetId + \\\"/assignments\\\", null, {\\\"_ref\\\": assignmentResCollection + \\\"/\\\" + assignmentResult[\\\"_id\\\"]});\\n var result = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n Object.keys(source).forEach(function(key) {\\n if (typeof result[key] === \\\"undefined\\\" || compare(source[key], result[key], false)) {\\n return;\\n }\\n // unable to successfully recreate object being linked, delete assignment and throw exception\\n openidm.delete(assignmentResCollection + \\\"/\\\" + assignmentResult._id, null);\\n throw new org.forgerock.openidm.sync.SynchronizationException(\\\"onLink - Unable to successfully preserve differences for source: \\\" + sourceId);\\n })\\n }\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"postAction\":{\"globals\":{\"managedApplicationId\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\"},\"source\":\"let idFound = false;\\nif (typeof target.effectiveApplications !== \\\"undefined\\\" && target.effectiveApplications !== null) {\\n target.effectiveApplications.forEach((effectiveApplication) => {\\n if (effectiveApplication._id === managedApplicationId) {\\n idFound = true;\\n }\\n });\\n}\\nif (!idFound) {\\n openidm.create(\\\"managed/alpha_user/\\\"+target._id+\\\"/applications\\\",null,{_ref:\\\"managed/alpha_application/\\\"+managedApplicationId});\\n}\\n\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectField\":\"__NAME__\",\"referencedObjectType\":\"Group\",\"source\":\"ldapGroups\",\"target\":\"assignments\"}],\"runTargetPhase\":false,\"source\":\"system/EncoreADv2/User\",\"target\":\"managed/alpha_user\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "10986" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.425Z", + "time": 56, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 56 + } + }, + { + "_id": "4c1fef66c916c8940b0315dddc564b06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1513, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/sync" + }, + "response": { + "bodySize": 5532, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 5532, + "text": "{\"_id\":\"sync\",\"mappings\":[{\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"frIndexedInteger1\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"systemHrlite__account___managedAlpha_user\",\"type\":\"text/javascript\"}],\"displayName\":\"systemHrlite__account___managedAlpha_user\",\"icon\":null,\"name\":\"systemHrlite__account___managedAlpha_user\",\"onCreate\":{\"globals\":{},\"source\":\"// Script has access to the following variables:\\n// sourceObject\\n// targetObject\\n// existingTargetObject\\n// linkQualifier\\nvar givenName = source.firstName;\\nlogger.info (\\\"this is the givenName \\\" + givenName);\\nvar sn = source.lastName;\\nlogger.info (\\\"this is the sn \\\" + sn);\\n\\n/* first choice of username */\\nvar checkuserName = givenName.substring(0,1).concat(sn).toLowerCase();\\nlogger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n/* if the userName is not found no need to go further */\\nvar queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n};\\n\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\n /* second choice of username */\\n checkuserName = givenName.substring(0,2).concat(sn).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n /* while the userName is found try above for second then add time to end until found */\\n while (queryResult.resultCount > 0) {\\n /* timeadded to choice of username */\\n var millis = String(Date.now());\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n checkuserName = givenName.substring(0,1).concat(sn).concat(millis.substring(millis.length - 4)).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n } \\n}\\ntarget.userName = checkuserName;\\ntarget.cn = checkuserName + \\\" \\\" + givenName + \\\" \\\" + sn;\\ntarget.mail = \\\"volker.scheuber+\\\" + checkuserName+ \\\"-volker-demo\\\"+ \\\"@forgerock.com\\\"; \\ntarget.password = 'Frdp-2010';\\nvar managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {_queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n//Mail domain is dependent on your AD domain name….\\nlogger.info (\\\"Final userName \\\" + checkuserName);\\n// Role assignment scripts must always return targetObject, otherwise\\n// other scripts and code that occur downstream of your script will\\n// not work as expected.\\n\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"var managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {\\n _queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"EXCEPTION\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"EXCEPTION\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"UPDATE\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"source\":\"\",\"target\":\"frIndexedInteger1\",\"transform\":{\"source\":\"parseInt(source.__NAME__)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger2\",\"transform\":{\"source\":\"parseInt(source.status)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger3\",\"transform\":{\"source\":\"parseInt(source.depId)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger4\",\"transform\":{\"source\":\"parseInt(source.jobCode)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger5\",\"transform\":{\"source\":\"parseInt(source.empType)\",\"type\":\"text/javascript\"}},{\"source\":\"phone\",\"target\":\"telephoneNumber\"},{\"source\":\"city\",\"target\":\"city\"},{\"source\":\"state\",\"target\":\"stateProvince\"},{\"source\":\"address\",\"target\":\"postalAddress\"},{\"source\":\"postalCode\",\"target\":\"postalCode\"},{\"source\":\"country\",\"target\":\"country\"},{\"source\":\"firstName\",\"target\":\"givenName\"},{\"source\":\"lastName\",\"target\":\"sn\"},{\"source\":\"isManager\",\"target\":\"frIndexedString4\"},{\"source\":\"externalMail\",\"target\":\"frIndexedString5\"},{\"source\":\"manager\",\"target\":\"frIndexedString3\"},{\"source\":\"\",\"target\":\"accountStatus\",\"transform\":{\"source\":\"(parseInt(source.status)==5)?\\\"inactive\\\":\\\"active\\\";\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/HRLite/__ACCOUNT__\",\"target\":\"managed/alpha_user\",\"taskThreads\":1}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:13:49 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "5532" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-614c2df5-47d6-4d4c-9c22-1b09ac58896e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:13:49.487Z", + "time": 50, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 50 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/am_1076162899/recording.har index f1c974c27..63a310384 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/am_1076162899/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/am_1076162899/recording.har @@ -20,38 +20,42 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "accept-api-version", "value": "resource=1.1" }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 346, + "headersSize": 387, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 553, + "bodySize": 585, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 553, - "text": "{\"_id\":\"*\",\"_rev\":\"1428750677\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"735966d7c67d814\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + "size": 585, + "text": "{\"_id\":\"*\",\"_rev\":\"-494299414\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[],\"cloudOnlyFeaturesEnabled\":true}" }, "cookies": [], "headers": [ @@ -89,7 +93,7 @@ }, { "name": "etag", - "value": "\"1428750677\"" + "value": "\"-494299414\"" }, { "name": "expires", @@ -105,15 +109,15 @@ }, { "name": "content-length", - "value": "553" + "value": "585" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:33 GMT" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -138,8 +142,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:34.701Z", - "time": 125, + "startedDateTime": "2026-02-18T22:03:57.039Z", + "time": 363, "timings": { "blocked": -1, "connect": -1, @@ -147,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 125 + "wait": 363 } }, { @@ -163,16 +167,16 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "accept-api-version", @@ -182,23 +186,27 @@ "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1554, + "headersSize": 1915, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 275, + "bodySize": 280, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 275, - "text": "{\"_id\":\"version\",\"_rev\":\"-718638044\",\"version\":\"7.5.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.5.0-SNAPSHOT Build cbdf0302eac3978c68f50b853a4495a622999003 (2024-March-06 09:56)\",\"revision\":\"cbdf0302eac3978c68f50b853a4495a622999003\",\"date\":\"2024-March-06 09:56\"}" + "size": 280, + "text": "{\"_id\":\"version\",\"_rev\":\"103025458\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build 363328899230d72a7c5f4fdd6cafc3675d109ccd (2026-February-13 10:03)\",\"revision\":\"363328899230d72a7c5f4fdd6cafc3675d109ccd\",\"date\":\"2026-February-13 10:03\"}" }, "cookies": [], "headers": [ @@ -236,7 +244,7 @@ }, { "name": "etag", - "value": "\"-718638044\"" + "value": "\"103025458\"" }, { "name": "expires", @@ -252,15 +260,15 @@ }, { "name": "content-length", - "value": "275" + "value": "280" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -279,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 786, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:35.121Z", - "time": 96, + "startedDateTime": "2026-02-18T22:03:57.613Z", + "time": 115, "timings": { "blocked": -1, "connect": -1, @@ -294,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 96 + "wait": 115 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/oauth2_393036114/recording.har index f8cacf155..9f26cb307 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/oauth2_393036114/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1140, + "bodySize": 1329, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "accept-api-version", @@ -37,30 +37,34 @@ }, { "name": "content-length", - "value": 1140 + "value": "1329" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 401, + "headersSize": 442, "httpVersion": "HTTP/1.1", "method": "POST", "postData": { "mimeType": "application/x-www-form-urlencoded", "params": [], - "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idm:* fr:idc:esv:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:content-security-policy:* fr:idc:esv:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1276, + "bodySize": 1787, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1276, - "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:idm:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1787, + "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:content-security-policy:* fr:idc:esv:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ @@ -90,15 +94,15 @@ }, { "name": "content-length", - "value": "1276" + "value": "1787" }, { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -123,8 +127,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:34.850Z", - "time": 263, + "startedDateTime": "2026-02-18T22:03:57.427Z", + "time": 180, "timings": { "blocked": -1, "connect": -1, @@ -132,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 263 + "wait": 180 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/openidm_3290118515/recording.har index ddbab4c90..1cacae234 100644 --- a/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/openidm_3290118515/recording.har +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_i_2777908795/openidm_3290118515/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "28b788a164509f9291d0055762972ae4", + "_id": "9cb8561357870863838a9948da32d1e8", "_order": 0, "cache": {}, "request": { @@ -20,27 +20,31 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1566, + "headersSize": 1927, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -49,20 +53,24 @@ "value": "*" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/svcacct/dc837f84-3643-4c5d-9c05-acb73c7d02f4?_fields=%2A" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/d58969ef-43d8-4e07-917e-c089baccc5c6?_fields=%2A" }, "response": { - "bodySize": 1174, + "bodySize": 1371, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1174, - "text": "{\"_id\":\"dc837f84-3643-4c5d-9c05-acb73c7d02f4\",\"_rev\":\"f75d6945-1081-4e40-ac38-a36141369e72-1834\",\"accountStatus\":\"Active\",\"name\":\"Frodo-SA-1700696937262\",\"description\":\"volker.scheuber@forgerock.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idm:*\",\"fr:idc:esv:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"pIA_JyWzCR6VGELlXc-Mx0G0_0DAyOZZf1n2QS8rDGc\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"kfxhNrv5Z3nbUozwuZCHVwgUKqhDnHfGh_AgY2v1ihpRpsYnakhxYWW8i1iCya9vBvi4YZGeYjdyH7rqvB1_ZzGPRpPUBca5bEJA2xWAt-5rsKebrRhdgmo_dd0JVWnS5wVSM9lg73SXR5nVCtHJsQNCxFpBT-NXdf-bL-xY0hI2JvQg1IH9mrxJIKqF9eqoyxy3BoXgV2YgOP8xGsqIuweOJx-KBVQ5EqqVuACgrku-p6Wii2WPS8qXz6x4ORJmJ85Lo87hgUwsCg3tlxnV5PCs68BgvMTQmGgop5S4m8psmN7XmbCsxBtoZJoU8eRDwQnz9_IT5wPjSuCrwLPkHYukL565J6QesEEBDDe9S8UBgikWamR6sNpFgHUPymkQ7xPZeZOxMMURfAOBHE3qmwxhtUCxlNSkg8IiosWmvwfTIqLTv56ZPNAINJ9DNKlGY0tvIVjM5lg2Jw_6f_XCbje6ZM2vPVeU5l6Pl7gkkYKa2PN9VgN9RHerFZzCovSDhrffV0syyc31K1oAW7NSUflPNWgYmOlAO3rgZzNIeqtbu3xQ_bKSFwyDB262Vpmz8b3sXAQ_5kKbgduy5O5Sw6pQvL5EDSjS_pmgPeFruu3swYaPgRwopHFeZ4ojitJF4QtWSTgGc2GjLd6VPJAp5nn70IYM3tztYDS7uvrmrqc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1371, + "text": "{\"_id\":\"d58969ef-43d8-4e07-917e-c089baccc5c6\",\"_rev\":\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1769559161870\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"6brYsnEbcq6_ySR4MeoetfKy8Nv1rUHqDz0Fe9h387Y\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"jaYF1DcbCZSp1Dxi3O9lGIfnqEb-s-fXLnPEyLcj9oHYahbQY-d_M0YCLDdFtMfxNzFXAnCgHLUxyVLOwkLpCPlVs1x-YBtHvvD83Qu4sdWerslZago0aBZshyVPg8sn0ERhngAlFDhOWxJaztmj24scD7CiZ0DGoL36SpcHnmv0Pv6hedHv3AViuCYEcGxKyWkC_E9vsQq02TMTZzQrOy0pk92KZMkcpGtMlfV4y3CI8tmsL2GCZm3_5kFBz-qQHPcjl8Qpj2GwqHaKqFMK7r2jKpKzYIQXof-w9zWZZg4oJzNyY3G0PhkPB-diBEBr1MApmt-1lWakhDWki3U3CXTrXoVGNu_6FkvorXFsSNjawLJVFRszRHFy87a08XM5_40DffDzig4UL-IVjRGHNR8pdeckBvjMaxgOG3wcd_lWqOMbALnqdhyVKBcDuewfeb6IU3h7bQOvzWzTZvKZcaErbCrVJmyG808CvxDoAtffr_wbjoJ_V6RvRcKhcaJjZY8aPgaN29sU_jQwU67tWB9_Smc6lxNoYxAz05vmpgOi4vOwploO7pHqWcmvBqC0mBqcCORSjub61fLzMcOAqAtyJiHHDYKdWBN5tgmLLxtUObkk4cdHojMpCs8QOq7GDWYuSZkBjp3Q_KfXe_AZQ8Th6r3-2xMssfE18P3-ZPc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" + }, + { + "name": "vary", + "value": "Origin" }, { "name": "cache-control", @@ -86,7 +94,7 @@ }, { "name": "etag", - "value": "\"f75d6945-1081-4e40-ac38-a36141369e72-1834\"" + "value": "\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\"" }, { "name": "expires", @@ -106,11 +114,11 @@ }, { "name": "content-length", - "value": "1174" + "value": "1371" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -129,14 +137,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 668, + "headersSize": 682, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:35.225Z", - "time": 85, + "startedDateTime": "2026-02-18T22:03:57.657Z", + "time": 200, "timings": { "blocked": -1, "connect": -1, @@ -144,12 +152,12 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 85 + "wait": 200 } }, { - "_id": "893cb5ed12c645b27641f9ff7f3ff5ca", - "_order": 0, + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 1, "cache": {}, "request": { "bodySize": 0, @@ -160,57 +168,57 @@ "value": "application/json, text/plain, */*" }, { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "name": "content-type", + "value": "application/json" }, { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { - "name": "content-type", - "value": "application/json" + "name": "x-forgerock-transactionid", + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1723, + "headersSize": 1927, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ - { - "name": "_queryFilter", - "value": "name eq 'HRLite'" - }, - { - "name": "_pageSize", - "value": "1000" - }, { "name": "_fields", - "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + "value": "*" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=name%20eq%20%27HRLite%27&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/d58969ef-43d8-4e07-917e-c089baccc5c6?_fields=%2A" }, "response": { - "bodySize": 811, + "bodySize": 1371, "content": { "mimeType": "application/json;charset=utf-8", - "size": 811, - "text": "{\"result\":[{\"_id\":\"c7932f33-a3ac-4192-8dee-11fb96df0874\",\"_rev\":\"6f7f7140-16a0-47f8-9d9d-b519ed0530ca-980\",\"description\":\"Example\",\"templateName\":\"scripted.sql\",\"templateVersion\":\"1.0.0\",\"authoritative\":true,\"icon\":\"\",\"connectorId\":\"HRLite\",\"uiConfig\":{\"objectTypes\":{\"department\":{\"properties\":{\"uid\":{},\"description\":{},\"parent\":{},\"__NAME__\":{},\"name\":{}}},\"__ACCOUNT__\":{\"properties\":{\"postalCode\":{},\"empType\":{},\"phone\":{},\"state\":{},\"firstName\":{},\"depName\":{},\"email\":{},\"uid\":{},\"status\":{},\"country\":{},\"city\":{},\"depId\":{},\"lastName\":{},\"address\":{},\"jobCode\":{},\"isManager\":{},\"__NAME__\":{}}}}},\"mappingNames\":[\"systemHrlite__account___managedAlpha_user\"],\"name\":\"HRLite\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + "size": 1371, + "text": "{\"_id\":\"d58969ef-43d8-4e07-917e-c089baccc5c6\",\"_rev\":\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1769559161870\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"6brYsnEbcq6_ySR4MeoetfKy8Nv1rUHqDz0Fe9h387Y\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"jaYF1DcbCZSp1Dxi3O9lGIfnqEb-s-fXLnPEyLcj9oHYahbQY-d_M0YCLDdFtMfxNzFXAnCgHLUxyVLOwkLpCPlVs1x-YBtHvvD83Qu4sdWerslZago0aBZshyVPg8sn0ERhngAlFDhOWxJaztmj24scD7CiZ0DGoL36SpcHnmv0Pv6hedHv3AViuCYEcGxKyWkC_E9vsQq02TMTZzQrOy0pk92KZMkcpGtMlfV4y3CI8tmsL2GCZm3_5kFBz-qQHPcjl8Qpj2GwqHaKqFMK7r2jKpKzYIQXof-w9zWZZg4oJzNyY3G0PhkPB-diBEBr1MApmt-1lWakhDWki3U3CXTrXoVGNu_6FkvorXFsSNjawLJVFRszRHFy87a08XM5_40DffDzig4UL-IVjRGHNR8pdeckBvjMaxgOG3wcd_lWqOMbALnqdhyVKBcDuewfeb6IU3h7bQOvzWzTZvKZcaErbCrVJmyG808CvxDoAtffr_wbjoJ_V6RvRcKhcaJjZY8aPgaN29sU_jQwU67tWB9_Smc6lxNoYxAz05vmpgOi4vOwploO7pHqWcmvBqC0mBqcCORSjub61fLzMcOAqAtyJiHHDYKdWBN5tgmLLxtUObkk4cdHojMpCs8QOq7GDWYuSZkBjp3Q_KfXe_AZQ8Th6r3-2xMssfE18P3-ZPc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" + }, + { + "name": "vary", + "value": "Origin" }, { "name": "cache-control", @@ -232,6 +240,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"196255af-0980-4e7a-bb99-183cfcf8e131-7400\"" + }, { "name": "expires", "value": "0" @@ -250,11 +262,11 @@ }, { "name": "content-length", - "value": "811" + "value": "1371" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -273,14 +285,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 616, + "headersSize": 682, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:35.319Z", - "time": 58, + "startedDateTime": "2026-02-18T22:03:57.734Z", + "time": 113, "timings": { "blocked": -1, "connect": -1, @@ -288,11 +300,11 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 58 + "wait": 113 } }, { - "_id": "2f8c5b9710316149d46803a1f450a07d", + "_id": "5a5cdb71c8174ba2e95a702d1a11f17a", "_order": 0, "cache": {}, "request": { @@ -303,329 +315,63 @@ "name": "accept", "value": "application/json, text/plain, */*" }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" - }, { "name": "content-type", "value": "application/json" }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "host", - "value": "openam-volker-demo.forgeblocks.com" - } - ], - "headersSize": 1535, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/provisioner.openicf/HRLite" - }, - "response": { - "bodySize": 5781, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 5781, - "text": "{\"_id\":\"provisioner.openicf/HRLite\",\"configurationProperties\":{\"abandonWhenPercentageFull\":0,\"accessToUnderlyingConnectionAllowed\":true,\"alternateUsernameAllowed\":false,\"authenticateScriptFileName\":\"HRliteAuthenticateScript.groovy\",\"autoCommit\":true,\"classpath\":[],\"commitOnReturn\":false,\"connectionProperties\":null,\"createScriptFileName\":\"HRliteCreateScript.groovy\",\"customConfiguration\":null,\"customSensitiveConfiguration\":null,\"customizerScriptFileName\":null,\"dataSourceJNDI\":null,\"debug\":false,\"defaultAutoCommit\":null,\"defaultCatalog\":null,\"defaultReadOnly\":null,\"defaultTransactionIsolation\":-1,\"deleteScriptFileName\":\"HRliteDeleteScript.groovy\",\"disabledGlobalASTTransformations\":null,\"driverClassName\":\"com.mysql.jdbc.Driver\",\"fairQueue\":true,\"ignoreExceptionOnPreLoad\":false,\"initSQL\":null,\"initialSize\":10,\"jdbcInterceptors\":null,\"jmxEnabled\":true,\"logAbandoned\":false,\"logValidationErrors\":false,\"maxActive\":100,\"maxAge\":0,\"maxIdle\":100,\"maxWait\":30000,\"minEvictableIdleTimeMillis\":60000,\"minIdle\":10,\"minimumRecompilationInterval\":100,\"name\":\"Tomcat Connection Pool[1-265824587]\",\"numTestsPerEvictionRun\":0,\"password\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"gpigd7hcpjldqu81aCo67bUfjxHldBGf6LAdsfXBJIc=\",\"iv\":\"I0rXA4v5KVb5Z2FgirVyVA==\",\"keySize\":16,\"mac\":\"zXSltI9rpo9MEJKPuop/zQ==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"sFzdBL01YZWyjilDZimG/A==\",\"stableId\":\"openidm-sym-default\"}}},\"propagateInterruptState\":false,\"recompileGroovySource\":false,\"removeAbandoned\":false,\"removeAbandonedTimeout\":60,\"resolveUsernameScriptFileName\":null,\"rollbackOnReturn\":false,\"schemaScriptFileName\":\"HRliteSchemaScript.groovy\",\"scriptBaseClass\":null,\"scriptExtensions\":[\"groovy\"],\"scriptOnResourceScriptFileName\":null,\"scriptRoots\":\"/opt/forgerock/openicf/scripts/hrlite\",\"searchScriptFileName\":\"HRliteSearchScript.groovy\",\"sourceEncoding\":\"UTF-8\",\"suspectTimeout\":0,\"syncScriptFileName\":\"HRliteSyncScript.groovy\",\"targetDirectory\":null,\"testOnBorrow\":false,\"testOnConnect\":false,\"testOnReturn\":false,\"testScriptFileName\":\"HRliteTestScript.groovy\",\"testWhileIdle\":false,\"timeBetweenEvictionRunsMillis\":5000,\"tolerance\":10,\"updateScriptFileName\":\"HRliteUpdateScript.groovy\",\"url\":\"jdbc:mysql://mariadb:3306/hrdb?autoReconnect=true\",\"useDisposableConnectionFacade\":true,\"useEquals\":true,\"useLock\":false,\"useStatementFacade\":true,\"username\":\"hradmin\",\"validationInterval\":2000,\"validationQuery\":\"SELECT 1 FROM DUAL\",\"validationQueryTimeout\":-1,\"validatorClassName\":null,\"verbose\":false,\"warningLevel\":1},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.scriptedsql-connector\",\"bundleVersion\":\"1.5.20.9\",\"connectorHostRef\":\"encorebaseline\",\"connectorName\":\"org.forgerock.openicf.connectors.scriptedsql.ScriptedSQLConnector\",\"displayName\":\"Scripted SQL Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"address\":{\"nativeName\":\"address\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"depId\":{\"nativeName\":\"depId\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"depName\":{\"nativeName\":\"depName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"email\":{\"nativeName\":\"email\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"empType\":{\"nativeName\":\"empType\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"externalMail\":{\"nativeName\":\"externalMail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"firstName\":{\"nativeName\":\"firstName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"isManager\":{\"nativeName\":\"isManager\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"jobCode\":{\"nativeName\":\"jobCode\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"lastName\":{\"nativeName\":\"lastName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"phone\":{\"nativeName\":\"phone\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"status\":{\"nativeName\":\"status\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"uid\":{\"nativeName\":\"uid\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"department\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"department\",\"nativeType\":\"department\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"name\":{\"nativeName\":\"name\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"parent\":{\"nativeName\":\"parent\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"uid\":{\"nativeName\":\"uid\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "5781" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" - }, - { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 665, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-03-22T03:05:35.382Z", - "time": 47, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 47 - } - }, - { - "_id": "4c963e6ac6a0c10bf75de375d8e3da12", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" + "value": "@rockcarver/frodo-lib/4.0.0-8" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" - }, - { - "name": "content-type", - "value": "application/json" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "authorization", "value": "Bearer " }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, { "name": "host", - "value": "openam-volker-demo.forgeblocks.com" + "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1546, + "headersSize": 2068, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ { - "name": "_queryFilter", - "value": "_id sw 'mapping'" + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" } ], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application/0d86aa45-b73e-4924-9165-8c7f47eb19b5?_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" }, "response": { - "bodySize": 10986, + "bodySize": 226, "content": { "mimeType": "application/json;charset=utf-8", - "size": 10986, - "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_user_systemEncoreadv2User\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'sAMAccountName eq \\\"' + source.userName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"ldapGroups\"],\"displayName\":\"managedAlpha_user_systemEncoreadv2User\",\"icon\":null,\"name\":\"managedAlpha_user_systemEncoreadv2User\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":{\"source\":\"target.__ENABLE__ = false;\\ntarget.__NAME__ = `cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\nopenidm.update('system/EncoreADv2/User/' + target._id, null, target); 'UNLINK';\",\"type\":\"text/javascript\"},\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":{\"source\":\"target.__ENABLE__ = true;\\ntarget.__NAME__ = `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\n'UPDATE'; openidm.update('system/EncoreADv2/User/' + target._id, null, target);\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"cn\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source.userName;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"sn\",\"target\":\"sn\"},{\"source\":\"userName\",\"target\":\"sAMAccountName\"},{\"source\":\"\",\"target\":\"userPrincipalName\",\"transform\":{\"source\":\"`${source.userName}@ad-volker-demo.encore.forgerock.org`;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__ENABLE__\",\"transform\":{\"source\":\"(source.accountStatus==='inactive') ? false : true;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__NAME__\",\"transform\":{\"source\":\"(source.accountStatus==\\\"active\\\")? `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`:`cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"openidm.decrypt(source.custom_encryptedPassword)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName + ' ' + source.sn\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":false,\"settings\":{},\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or lastSync/managedAlpha_user_systemEncoreadv2User pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/EncoreADv2/User\"},{\"_id\":\"mapping/systemEncoreadv2Group_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.description !== \\\"undefined\\\") && source.description !== null) {\\n source.description;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemEncoreadv2User\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"__NAME__\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'ldapGroups',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_EncoreADv2_Group_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/EncoreADv2/Group\",\"target\":\"managed/alpha_assignment\"},{\"_id\":\"mapping/systemEncoreadv2User_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'userName eq \\\"' + source.sAMAccountName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"ldapGroups\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemEncoreadv2User_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemEncoreadv2User\",\"name\":\"systemEncoreadv2User_managedAlpha_user\",\"onLink\":{\"globals\":{\"assignmentResCollection\":\"managed/alpha_assignment\"},\"source\":\"function compare(sourceVal, previewVal, strictEquality) {\\n if (Array.isArray(sourceVal) && Array.isArray(previewVal)) {\\n return arraysAreEqual(sourceVal, previewVal, strictEquality);\\n } else if (elementIsObject(sourceVal) && elementIsObject(previewVal)) {\\n return mapsAreEqual(sourceVal, previewVal, strictEquality);\\n } else {\\n return sourceVal === previewVal;\\n }\\n}\\n\\nfunction arraysAreEqual(sourceArray, previewArray, strictEquality) {\\n if (!lengthCheck(sourceArray, previewArray, strictEquality)) {\\n return false;\\n }\\n\\n return sourceArray.every((sourceEle) => previewArray.some((previewEle) => compare(sourceEle, previewEle)));\\n}\\n\\nfunction mapsAreEqual(sourceMap, previewMap, strictEquality) {\\n var sourceKeys = Object.keys(sourceMap);\\n var previewKeys = Object.keys(previewMap);\\n\\n if (!lengthCheck(sourceKeys, previewKeys, strictEquality)) {\\n return false;\\n }\\n\\n if (!sourceKeys.every((sourceKey) => previewKeys.includes(sourceKey))) {\\n return false;\\n }\\n return sourceKeys.every((key) => compare(sourceMap[key], previewMap[key], strictEquality));\\n}\\n\\nfunction lengthCheck(first, second, strictEquality) {\\n return strictEquality ? (first.length === second.length)\\n : (first.length <= second.length);\\n}\\n\\nfunction elementIsObject(val) {\\n return typeof val === \\\"object\\\" && val !== null;\\n}\\n\\nif (situation === \\\"FOUND\\\") {\\n var params = {\\n \\\"resourceId\\\": targetId,\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"linkQualifier\\\": linkQualifier\\n };\\n\\n // get the preview of the target object from the outbound mapping\\n var targetPreview = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n var attributes = [];\\n\\n // find all values where target app user has different values from the correlated IDM user\\n Object.keys(source).filter(function(key) {\\n return (key in targetPreview) ? !compare(source[key], targetPreview[key], true) : false;\\n }).forEach(function(key) {\\n var attribute = {\\n \\\"name\\\": key,\\n \\\"value\\\": source[key]\\n };\\n attributes.push(attribute);\\n })\\n\\n // create override assignment if any diff was found\\n if (attributes.length > 0) {\\n var assignment = {\\n \\\"name\\\": targetId + \\\"-overrideAssignment\\\",\\n \\\"description\\\": targetId + \\\"override assignment\\\",\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"attributes\\\": attributes,\\n \\\"type\\\": \\\"__OVERRIDE__\\\"\\n };\\n var assignmentResult = openidm.create(assignmentResCollection, null, assignment);\\n openidm.create(mappingConfig.target + \\\"/\\\" + targetId + \\\"/assignments\\\", null, {\\\"_ref\\\": assignmentResCollection + \\\"/\\\" + assignmentResult[\\\"_id\\\"]});\\n var result = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n Object.keys(source).forEach(function(key) {\\n if (typeof result[key] === \\\"undefined\\\" || compare(source[key], result[key], false)) {\\n return;\\n }\\n // unable to successfully recreate object being linked, delete assignment and throw exception\\n openidm.delete(assignmentResCollection + \\\"/\\\" + assignmentResult._id, null);\\n throw new org.forgerock.openidm.sync.SynchronizationException(\\\"onLink - Unable to successfully preserve differences for source: \\\" + sourceId);\\n })\\n }\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"postAction\":{\"globals\":{\"managedApplicationId\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\"},\"source\":\"let idFound = false;\\nif (typeof target.effectiveApplications !== \\\"undefined\\\" && target.effectiveApplications !== null) {\\n target.effectiveApplications.forEach((effectiveApplication) => {\\n if (effectiveApplication._id === managedApplicationId) {\\n idFound = true;\\n }\\n });\\n}\\nif (!idFound) {\\n openidm.create(\\\"managed/alpha_user/\\\"+target._id+\\\"/applications\\\",null,{_ref:\\\"managed/alpha_application/\\\"+managedApplicationId});\\n}\\n\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectField\":\"__NAME__\",\"referencedObjectType\":\"Group\",\"source\":\"ldapGroups\",\"target\":\"assignments\"}],\"runTargetPhase\":false,\"source\":\"system/EncoreADv2/User\",\"target\":\"managed/alpha_user\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + "size": 226, + "text": "{\"_id\":\"0d86aa45-b73e-4924-9165-8c7f47eb19b5\",\"_rev\":\"0450138b-0cc2-402a-b7fe-4949775818fc-3555\",\"description\":\"test\",\"url\":\"https://google.com\",\"templateName\":\"bookmark\",\"templateVersion\":\"1.0\",\"ssoEntities\":{},\"name\":\"test\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" - }, - { - "name": "cache-control", - "value": "no-store" - }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, - { - "name": "content-security-policy", - "value": "default-src 'none';frame-ancestors 'none';sandbox" - }, - { - "name": "content-type", - "value": "application/json;charset=utf-8" - }, - { - "name": "cross-origin-opener-policy", - "value": "same-origin" - }, - { - "name": "cross-origin-resource-policy", - "value": "same-origin" - }, - { - "name": "expires", - "value": "0" - }, - { - "name": "pragma", - "value": "no-cache" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "x-frame-options", - "value": "DENY" - }, - { - "name": "content-length", - "value": "10986" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" - }, - { - "name": "strict-transport-security", - "value": "max-age=31536000; includeSubDomains; preload;" - }, - { - "name": "x-robots-tag", - "value": "none" + "value": "Wed, 18 Feb 2026 22:03:57 GMT" }, { - "name": "via", - "value": "1.1 google" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - } - ], - "headersSize": 666, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2024-03-22T03:05:35.436Z", - "time": 58, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 58 - } - }, - { - "_id": "4c1fef66c916c8940b0315dddc564b06", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "name": "accept", - "value": "application/json, text/plain, */*" - }, - { - "name": "user-agent", - "value": "@rockcarver/frodo-lib/2.0.0-72" - }, - { - "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" - }, - { - "name": "content-type", - "value": "application/json" - }, - { - "name": "authorization", - "value": "Bearer " - }, - { - "name": "host", - "value": "openam-volker-demo.forgeblocks.com" - } - ], - "headersSize": 1513, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [], - "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/sync" - }, - "response": { - "bodySize": 5532, - "content": { - "mimeType": "application/json;charset=utf-8", - "size": 5532, - "text": "{\"_id\":\"sync\",\"mappings\":[{\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"frIndexedInteger1\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"systemHrlite__account___managedAlpha_user\",\"type\":\"text/javascript\"}],\"displayName\":\"systemHrlite__account___managedAlpha_user\",\"icon\":null,\"name\":\"systemHrlite__account___managedAlpha_user\",\"onCreate\":{\"globals\":{},\"source\":\"// Script has access to the following variables:\\n// sourceObject\\n// targetObject\\n// existingTargetObject\\n// linkQualifier\\nvar givenName = source.firstName;\\nlogger.info (\\\"this is the givenName \\\" + givenName);\\nvar sn = source.lastName;\\nlogger.info (\\\"this is the sn \\\" + sn);\\n\\n/* first choice of username */\\nvar checkuserName = givenName.substring(0,1).concat(sn).toLowerCase();\\nlogger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n/* if the userName is not found no need to go further */\\nvar queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n};\\n\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\n /* second choice of username */\\n checkuserName = givenName.substring(0,2).concat(sn).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n /* while the userName is found try above for second then add time to end until found */\\n while (queryResult.resultCount > 0) {\\n /* timeadded to choice of username */\\n var millis = String(Date.now());\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n checkuserName = givenName.substring(0,1).concat(sn).concat(millis.substring(millis.length - 4)).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n } \\n}\\ntarget.userName = checkuserName;\\ntarget.cn = checkuserName + \\\" \\\" + givenName + \\\" \\\" + sn;\\ntarget.mail = \\\"volker.scheuber+\\\" + checkuserName+ \\\"-volker-demo\\\"+ \\\"@forgerock.com\\\"; \\ntarget.password = 'Frdp-2010';\\nvar managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {_queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n//Mail domain is dependent on your AD domain name….\\nlogger.info (\\\"Final userName \\\" + checkuserName);\\n// Role assignment scripts must always return targetObject, otherwise\\n// other scripts and code that occur downstream of your script will\\n// not work as expected.\\n\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"var managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {\\n _queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"EXCEPTION\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"EXCEPTION\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"UPDATE\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"source\":\"\",\"target\":\"frIndexedInteger1\",\"transform\":{\"source\":\"parseInt(source.__NAME__)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger2\",\"transform\":{\"source\":\"parseInt(source.status)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger3\",\"transform\":{\"source\":\"parseInt(source.depId)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger4\",\"transform\":{\"source\":\"parseInt(source.jobCode)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger5\",\"transform\":{\"source\":\"parseInt(source.empType)\",\"type\":\"text/javascript\"}},{\"source\":\"phone\",\"target\":\"telephoneNumber\"},{\"source\":\"city\",\"target\":\"city\"},{\"source\":\"state\",\"target\":\"stateProvince\"},{\"source\":\"address\",\"target\":\"postalAddress\"},{\"source\":\"postalCode\",\"target\":\"postalCode\"},{\"source\":\"country\",\"target\":\"country\"},{\"source\":\"firstName\",\"target\":\"givenName\"},{\"source\":\"lastName\",\"target\":\"sn\"},{\"source\":\"isManager\",\"target\":\"frIndexedString4\"},{\"source\":\"externalMail\",\"target\":\"frIndexedString5\"},{\"source\":\"manager\",\"target\":\"frIndexedString3\"},{\"source\":\"\",\"target\":\"accountStatus\",\"transform\":{\"source\":\"(parseInt(source.status)==5)?\\\"inactive\\\":\\\"active\\\";\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/HRLite/__ACCOUNT__\",\"target\":\"managed/alpha_user\",\"taskThreads\":1}]}" - }, - "cookies": [], - "headers": [ - { - "name": "date", - "value": "Fri, 22 Mar 2024 03:05:35 GMT" + "name": "vary", + "value": "Origin" }, { "name": "cache-control", "value": "no-store" }, - { - "name": "content-api-version", - "value": "protocol=2.1,resource=1.0" - }, { "name": "content-security-policy", "value": "default-src 'none';frame-ancestors 'none';sandbox" @@ -642,6 +388,10 @@ "name": "cross-origin-resource-policy", "value": "same-origin" }, + { + "name": "etag", + "value": "\"0450138b-0cc2-402a-b7fe-4949775818fc-3555\"" + }, { "name": "expires", "value": "0" @@ -660,11 +410,11 @@ }, { "name": "content-length", - "value": "5532" + "value": "226" }, { "name": "x-forgerock-transactionid", - "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + "value": "frodo-cf4bfd1d-66c7-4d27-aa68-4983ae137369" }, { "name": "strict-transport-security", @@ -683,14 +433,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 665, + "headersSize": 681, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-03-22T03:05:35.500Z", - "time": 48, + "startedDateTime": "2026-02-18T22:03:57.855Z", + "time": 85, "timings": { "blocked": -1, "connect": -1, @@ -698,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 48 + "wait": 85 } } ], diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/am_1076162899/recording.har new file mode 100644 index 000000000..f1c974c27 --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/am_1076162899/recording.har @@ -0,0 +1,304 @@ +{ + "log": { + "_recordingName": "app/export/0_i/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 346, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 553, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 553, + "text": "{\"_id\":\"*\",\"_rev\":\"1428750677\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"735966d7c67d814\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1428750677\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "553" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:33 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:34.701Z", + "time": 125, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 125 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1554, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 275, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 275, + "text": "{\"_id\":\"version\",\"_rev\":\"-718638044\",\"version\":\"7.5.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.5.0-SNAPSHOT Build cbdf0302eac3978c68f50b853a4495a622999003 (2024-March-06 09:56)\",\"revision\":\"cbdf0302eac3978c68f50b853a4495a622999003\",\"date\":\"2024-March-06 09:56\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-718638044\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "275" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 787, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.121Z", + "time": 96, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 96 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/oauth2_393036114/recording.har new file mode 100644 index 000000000..f8cacf155 --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/oauth2_393036114/recording.har @@ -0,0 +1,142 @@ +{ + "log": { + "_recordingName": "app/export/0_i/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1140, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": 1140 + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 401, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idm:* fr:idc:esv:*" + }, + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1276, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1276, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:idm:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1276" + }, + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 561, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:34.850Z", + "time": 263, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 263 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/openidm_3290118515/recording.har new file mode 100644 index 000000000..ddbab4c90 --- /dev/null +++ b/test/e2e/mocks/app_527074092/export_4211608755/0_n_2861796890/openidm_3290118515/recording.har @@ -0,0 +1,708 @@ +{ + "log": { + "_recordingName": "app/export/0_i/openidm", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "28b788a164509f9291d0055762972ae4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1566, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/svcacct/dc837f84-3643-4c5d-9c05-acb73c7d02f4?_fields=%2A" + }, + "response": { + "bodySize": 1174, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1174, + "text": "{\"_id\":\"dc837f84-3643-4c5d-9c05-acb73c7d02f4\",\"_rev\":\"f75d6945-1081-4e40-ac38-a36141369e72-1834\",\"accountStatus\":\"Active\",\"name\":\"Frodo-SA-1700696937262\",\"description\":\"volker.scheuber@forgerock.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idm:*\",\"fr:idc:esv:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"pIA_JyWzCR6VGELlXc-Mx0G0_0DAyOZZf1n2QS8rDGc\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"kfxhNrv5Z3nbUozwuZCHVwgUKqhDnHfGh_AgY2v1ihpRpsYnakhxYWW8i1iCya9vBvi4YZGeYjdyH7rqvB1_ZzGPRpPUBca5bEJA2xWAt-5rsKebrRhdgmo_dd0JVWnS5wVSM9lg73SXR5nVCtHJsQNCxFpBT-NXdf-bL-xY0hI2JvQg1IH9mrxJIKqF9eqoyxy3BoXgV2YgOP8xGsqIuweOJx-KBVQ5EqqVuACgrku-p6Wii2WPS8qXz6x4ORJmJ85Lo87hgUwsCg3tlxnV5PCs68BgvMTQmGgop5S4m8psmN7XmbCsxBtoZJoU8eRDwQnz9_IT5wPjSuCrwLPkHYukL565J6QesEEBDDe9S8UBgikWamR6sNpFgHUPymkQ7xPZeZOxMMURfAOBHE3qmwxhtUCxlNSkg8IiosWmvwfTIqLTv56ZPNAINJ9DNKlGY0tvIVjM5lg2Jw_6f_XCbje6ZM2vPVeU5l6Pl7gkkYKa2PN9VgN9RHerFZzCovSDhrffV0syyc31K1oAW7NSUflPNWgYmOlAO3rgZzNIeqtbu3xQ_bKSFwyDB262Vpmz8b3sXAQ_5kKbgduy5O5Sw6pQvL5EDSjS_pmgPeFruu3swYaPgRwopHFeZ4ojitJF4QtWSTgGc2GjLd6VPJAp5nn70IYM3tztYDS7uvrmrqc\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"f75d6945-1081-4e40-ac38-a36141369e72-1834\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1174" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 668, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.225Z", + "time": 85, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 85 + } + }, + { + "_id": "893cb5ed12c645b27641f9ff7f3ff5ca", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1723, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "name eq 'HRLite'" + }, + { + "name": "_pageSize", + "value": "1000" + }, + { + "name": "_fields", + "value": "authoritative,connectorId,description,icon,mappingNames,name,ssoEntities,templateName,templateVersion,uiConfig,url" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/managed/alpha_application?_queryFilter=name%20eq%20%27HRLite%27&_pageSize=1000&_fields=authoritative%2CconnectorId%2Cdescription%2Cicon%2CmappingNames%2Cname%2CssoEntities%2CtemplateName%2CtemplateVersion%2CuiConfig%2Curl" + }, + "response": { + "bodySize": 811, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 811, + "text": "{\"result\":[{\"_id\":\"c7932f33-a3ac-4192-8dee-11fb96df0874\",\"_rev\":\"6f7f7140-16a0-47f8-9d9d-b519ed0530ca-980\",\"description\":\"Example\",\"templateName\":\"scripted.sql\",\"templateVersion\":\"1.0.0\",\"authoritative\":true,\"icon\":\"\",\"connectorId\":\"HRLite\",\"uiConfig\":{\"objectTypes\":{\"department\":{\"properties\":{\"uid\":{},\"description\":{},\"parent\":{},\"__NAME__\":{},\"name\":{}}},\"__ACCOUNT__\":{\"properties\":{\"postalCode\":{},\"empType\":{},\"phone\":{},\"state\":{},\"firstName\":{},\"depName\":{},\"email\":{},\"uid\":{},\"status\":{},\"country\":{},\"city\":{},\"depId\":{},\"lastName\":{},\"address\":{},\"jobCode\":{},\"isManager\":{},\"__NAME__\":{}}}}},\"mappingNames\":[\"systemHrlite__account___managedAlpha_user\"],\"name\":\"HRLite\"}],\"resultCount\":1,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "811" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.319Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "2f8c5b9710316149d46803a1f450a07d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1535, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/provisioner.openicf/HRLite" + }, + "response": { + "bodySize": 5781, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 5781, + "text": "{\"_id\":\"provisioner.openicf/HRLite\",\"configurationProperties\":{\"abandonWhenPercentageFull\":0,\"accessToUnderlyingConnectionAllowed\":true,\"alternateUsernameAllowed\":false,\"authenticateScriptFileName\":\"HRliteAuthenticateScript.groovy\",\"autoCommit\":true,\"classpath\":[],\"commitOnReturn\":false,\"connectionProperties\":null,\"createScriptFileName\":\"HRliteCreateScript.groovy\",\"customConfiguration\":null,\"customSensitiveConfiguration\":null,\"customizerScriptFileName\":null,\"dataSourceJNDI\":null,\"debug\":false,\"defaultAutoCommit\":null,\"defaultCatalog\":null,\"defaultReadOnly\":null,\"defaultTransactionIsolation\":-1,\"deleteScriptFileName\":\"HRliteDeleteScript.groovy\",\"disabledGlobalASTTransformations\":null,\"driverClassName\":\"com.mysql.jdbc.Driver\",\"fairQueue\":true,\"ignoreExceptionOnPreLoad\":false,\"initSQL\":null,\"initialSize\":10,\"jdbcInterceptors\":null,\"jmxEnabled\":true,\"logAbandoned\":false,\"logValidationErrors\":false,\"maxActive\":100,\"maxAge\":0,\"maxIdle\":100,\"maxWait\":30000,\"minEvictableIdleTimeMillis\":60000,\"minIdle\":10,\"minimumRecompilationInterval\":100,\"name\":\"Tomcat Connection Pool[1-265824587]\",\"numTestsPerEvictionRun\":0,\"password\":{\"$crypto\":{\"type\":\"x-simple-encryption\",\"value\":{\"cipher\":\"AES/CBC/PKCS5Padding\",\"data\":\"gpigd7hcpjldqu81aCo67bUfjxHldBGf6LAdsfXBJIc=\",\"iv\":\"I0rXA4v5KVb5Z2FgirVyVA==\",\"keySize\":16,\"mac\":\"zXSltI9rpo9MEJKPuop/zQ==\",\"purpose\":\"idm.config.encryption\",\"salt\":\"sFzdBL01YZWyjilDZimG/A==\",\"stableId\":\"openidm-sym-default\"}}},\"propagateInterruptState\":false,\"recompileGroovySource\":false,\"removeAbandoned\":false,\"removeAbandonedTimeout\":60,\"resolveUsernameScriptFileName\":null,\"rollbackOnReturn\":false,\"schemaScriptFileName\":\"HRliteSchemaScript.groovy\",\"scriptBaseClass\":null,\"scriptExtensions\":[\"groovy\"],\"scriptOnResourceScriptFileName\":null,\"scriptRoots\":\"/opt/forgerock/openicf/scripts/hrlite\",\"searchScriptFileName\":\"HRliteSearchScript.groovy\",\"sourceEncoding\":\"UTF-8\",\"suspectTimeout\":0,\"syncScriptFileName\":\"HRliteSyncScript.groovy\",\"targetDirectory\":null,\"testOnBorrow\":false,\"testOnConnect\":false,\"testOnReturn\":false,\"testScriptFileName\":\"HRliteTestScript.groovy\",\"testWhileIdle\":false,\"timeBetweenEvictionRunsMillis\":5000,\"tolerance\":10,\"updateScriptFileName\":\"HRliteUpdateScript.groovy\",\"url\":\"jdbc:mysql://mariadb:3306/hrdb?autoReconnect=true\",\"useDisposableConnectionFacade\":true,\"useEquals\":true,\"useLock\":false,\"useStatementFacade\":true,\"username\":\"hradmin\",\"validationInterval\":2000,\"validationQuery\":\"SELECT 1 FROM DUAL\",\"validationQueryTimeout\":-1,\"validatorClassName\":null,\"verbose\":false,\"warningLevel\":1},\"connectorRef\":{\"bundleName\":\"org.forgerock.openicf.connectors.scriptedsql-connector\",\"bundleVersion\":\"1.5.20.9\",\"connectorHostRef\":\"encorebaseline\",\"connectorName\":\"org.forgerock.openicf.connectors.scriptedsql.ScriptedSQLConnector\",\"displayName\":\"Scripted SQL Connector\",\"systemType\":\"provisioner.openicf\"},\"enabled\":true,\"objectTypes\":{\"__ACCOUNT__\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"__ACCOUNT__\",\"nativeType\":\"__ACCOUNT__\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"address\":{\"nativeName\":\"address\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"city\":{\"nativeName\":\"city\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"country\":{\"nativeName\":\"country\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"depId\":{\"nativeName\":\"depId\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"depName\":{\"nativeName\":\"depName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"email\":{\"nativeName\":\"email\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"empType\":{\"nativeName\":\"empType\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"externalMail\":{\"nativeName\":\"externalMail\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"firstName\":{\"nativeName\":\"firstName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"isManager\":{\"nativeName\":\"isManager\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"jobCode\":{\"nativeName\":\"jobCode\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"lastName\":{\"nativeName\":\"lastName\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"manager\":{\"nativeName\":\"manager\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"phone\":{\"nativeName\":\"phone\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"postalCode\":{\"nativeName\":\"postalCode\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"state\":{\"nativeName\":\"state\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"status\":{\"nativeName\":\"status\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"uid\":{\"nativeName\":\"uid\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"},\"department\":{\"$schema\":\"http://json-schema.org/draft-03/schema\",\"id\":\"department\",\"nativeType\":\"department\",\"properties\":{\"__NAME__\":{\"nativeName\":\"__NAME__\",\"nativeType\":\"string\",\"type\":\"string\"},\"description\":{\"nativeName\":\"description\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"name\":{\"nativeName\":\"name\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"parent\":{\"nativeName\":\"parent\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"},\"uid\":{\"nativeName\":\"uid\",\"nativeType\":\"string\",\"required\":true,\"type\":\"string\"}},\"type\":\"object\"}},\"operationTimeout\":{\"AUTHENTICATE\":-1,\"CREATE\":-1,\"DELETE\":-1,\"GET\":-1,\"RESOLVEUSERNAME\":-1,\"SCHEMA\":-1,\"SCRIPT_ON_CONNECTOR\":-1,\"SCRIPT_ON_RESOURCE\":-1,\"SEARCH\":-1,\"SYNC\":-1,\"TEST\":-1,\"UPDATE\":-1,\"VALIDATE\":-1},\"poolConfigOption\":{\"maxIdle\":10,\"maxObjects\":10,\"maxWait\":150000,\"minEvictableIdleTimeMillis\":120000,\"minIdle\":1},\"resultsHandlerConfig\":{\"enableAttributesToGetSearchResultsHandler\":true,\"enableCaseInsensitiveFilter\":false,\"enableFilteredResultsHandler\":false,\"enableNormalizingResultsHandler\":false}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "5781" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.382Z", + "time": 47, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 47 + } + }, + { + "_id": "4c963e6ac6a0c10bf75de375d8e3da12", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1546, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'mapping'" + } + ], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27mapping%27" + }, + "response": { + "bodySize": 10986, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 10986, + "text": "{\"result\":[{\"_id\":\"mapping/managedAlpha_user_systemEncoreadv2User\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'sAMAccountName eq \\\"' + source.userName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"assignments\"],\"defaultTargetFields\":[\"*\",\"ldapGroups\"],\"displayName\":\"managedAlpha_user_systemEncoreadv2User\",\"icon\":null,\"name\":\"managedAlpha_user_systemEncoreadv2User\",\"optimizeAssignmentSync\":true,\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":{\"source\":\"target.__ENABLE__ = false;\\ntarget.__NAME__ = `cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\nopenidm.update('system/EncoreADv2/User/' + target._id, null, target); 'UNLINK';\",\"type\":\"text/javascript\"},\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":{\"source\":\"target.__ENABLE__ = true;\\ntarget.__NAME__ = `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`;\\n'UPDATE'; openidm.update('system/EncoreADv2/User/' + target._id, null, target);\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"},{\"action\":\"INCORPORATE_CHANGES\",\"situation\":\"TARGET_CHANGED\"}],\"properties\":[{\"source\":\"givenName\",\"target\":\"givenName\"},{\"source\":\"\",\"target\":\"cn\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source.userName;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"sn\",\"target\":\"sn\"},{\"source\":\"userName\",\"target\":\"sAMAccountName\"},{\"source\":\"\",\"target\":\"userPrincipalName\",\"transform\":{\"source\":\"`${source.userName}@ad-volker-demo.encore.forgerock.org`;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__ENABLE__\",\"transform\":{\"source\":\"(source.accountStatus==='inactive') ? false : true;\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__NAME__\",\"transform\":{\"source\":\"(source.accountStatus==\\\"active\\\")? `cn=${source.userName},ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`:`cn=${source.userName},ou=Inactive,ou=Encore,dc=ad-volker-demo,dc=encore,dc=forgerock,dc=org`\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"__PASSWORD__\",\"transform\":{\"source\":\"openidm.decrypt(source.custom_encryptedPassword)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"displayName\",\"transform\":{\"source\":\"source.givenName + ' ' + source.sn\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":false,\"settings\":{},\"source\":\"managed/alpha_user\",\"sourceCondition\":\"/source/effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\",\"sourceQuery\":{\"_queryFilter\":\"effectiveApplications[_id eq \\\"26968c01-3c25-42c4-803c-3c9c0571cae6\\\"] or lastSync/managedAlpha_user_systemEncoreadv2User pr or /source/effectiveAssignments[(mapping eq \\\"managedAlpha_user_systemEncoreadv2User\\\" and type eq \\\"__ENTITLEMENT__\\\")]\"},\"target\":\"system/EncoreADv2/User\"},{\"_id\":\"mapping/systemEncoreadv2Group_managedAlpha_assignment\",\"consentRequired\":false,\"displayName\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"icon\":null,\"name\":\"systemEncoreadv2Group_managedAlpha_assignment\",\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"DELETE\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"IGNORE\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"default\":\"__RESOURCE__\",\"target\":\"type\"},{\"source\":\"\",\"target\":\"description\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.description !== \\\"undefined\\\") && source.description !== null) {\\n source.description;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"default\":\"managedAlpha_user_systemEncoreadv2User\",\"target\":\"mapping\"},{\"source\":\"\",\"target\":\"name\",\"transform\":{\"globals\":{},\"source\":\"if ((typeof source.cn !== \\\"undefined\\\") && source.cn !== null) {\\n source.cn;\\n} else {\\n source._id;\\n}\",\"type\":\"text/javascript\"}},{\"source\":\"__NAME__\",\"target\":\"attributes\",\"transform\":{\"globals\":{},\"source\":\"[\\n {\\n 'name': 'ldapGroups',\\n 'value': [source]\\n }\\n]\",\"type\":\"text/javascript\"}},{\"source\":\"_id\",\"target\":\"_id\",\"transform\":{\"globals\":{\"sourceObjectSet\":\"system_EncoreADv2_Group_\"},\"source\":\"sourceObjectSet.concat(source)\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/EncoreADv2/Group\",\"target\":\"managed/alpha_assignment\"},{\"_id\":\"mapping/systemEncoreadv2User_managedAlpha_user\",\"consentRequired\":false,\"correlationQuery\":[{\"linkQualifier\":\"default\",\"source\":\"var qry = {'_queryFilter': 'userName eq \\\"' + source.sAMAccountName + '\\\"'}; qry\",\"type\":\"text/javascript\"}],\"defaultSourceFields\":[\"*\",\"ldapGroups\"],\"defaultTargetFields\":[\"*\",\"assignments\"],\"displayName\":\"systemEncoreadv2User_managedAlpha_user\",\"icon\":null,\"links\":\"managedAlpha_user_systemEncoreadv2User\",\"name\":\"systemEncoreadv2User_managedAlpha_user\",\"onLink\":{\"globals\":{\"assignmentResCollection\":\"managed/alpha_assignment\"},\"source\":\"function compare(sourceVal, previewVal, strictEquality) {\\n if (Array.isArray(sourceVal) && Array.isArray(previewVal)) {\\n return arraysAreEqual(sourceVal, previewVal, strictEquality);\\n } else if (elementIsObject(sourceVal) && elementIsObject(previewVal)) {\\n return mapsAreEqual(sourceVal, previewVal, strictEquality);\\n } else {\\n return sourceVal === previewVal;\\n }\\n}\\n\\nfunction arraysAreEqual(sourceArray, previewArray, strictEquality) {\\n if (!lengthCheck(sourceArray, previewArray, strictEquality)) {\\n return false;\\n }\\n\\n return sourceArray.every((sourceEle) => previewArray.some((previewEle) => compare(sourceEle, previewEle)));\\n}\\n\\nfunction mapsAreEqual(sourceMap, previewMap, strictEquality) {\\n var sourceKeys = Object.keys(sourceMap);\\n var previewKeys = Object.keys(previewMap);\\n\\n if (!lengthCheck(sourceKeys, previewKeys, strictEquality)) {\\n return false;\\n }\\n\\n if (!sourceKeys.every((sourceKey) => previewKeys.includes(sourceKey))) {\\n return false;\\n }\\n return sourceKeys.every((key) => compare(sourceMap[key], previewMap[key], strictEquality));\\n}\\n\\nfunction lengthCheck(first, second, strictEquality) {\\n return strictEquality ? (first.length === second.length)\\n : (first.length <= second.length);\\n}\\n\\nfunction elementIsObject(val) {\\n return typeof val === \\\"object\\\" && val !== null;\\n}\\n\\nif (situation === \\\"FOUND\\\") {\\n var params = {\\n \\\"resourceId\\\": targetId,\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"linkQualifier\\\": linkQualifier\\n };\\n\\n // get the preview of the target object from the outbound mapping\\n var targetPreview = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n var attributes = [];\\n\\n // find all values where target app user has different values from the correlated IDM user\\n Object.keys(source).filter(function(key) {\\n return (key in targetPreview) ? !compare(source[key], targetPreview[key], true) : false;\\n }).forEach(function(key) {\\n var attribute = {\\n \\\"name\\\": key,\\n \\\"value\\\": source[key]\\n };\\n attributes.push(attribute);\\n })\\n\\n // create override assignment if any diff was found\\n if (attributes.length > 0) {\\n var assignment = {\\n \\\"name\\\": targetId + \\\"-overrideAssignment\\\",\\n \\\"description\\\": targetId + \\\"override assignment\\\",\\n \\\"mapping\\\": mappingConfig.links,\\n \\\"attributes\\\": attributes,\\n \\\"type\\\": \\\"__OVERRIDE__\\\"\\n };\\n var assignmentResult = openidm.create(assignmentResCollection, null, assignment);\\n openidm.create(mappingConfig.target + \\\"/\\\" + targetId + \\\"/assignments\\\", null, {\\\"_ref\\\": assignmentResCollection + \\\"/\\\" + assignmentResult[\\\"_id\\\"]});\\n var result = openidm.action(\\\"sync\\\", \\\"getTargetPreview\\\", {}, params);\\n Object.keys(source).forEach(function(key) {\\n if (typeof result[key] === \\\"undefined\\\" || compare(source[key], result[key], false)) {\\n return;\\n }\\n // unable to successfully recreate object being linked, delete assignment and throw exception\\n openidm.delete(assignmentResCollection + \\\"/\\\" + assignmentResult._id, null);\\n throw new org.forgerock.openidm.sync.SynchronizationException(\\\"onLink - Unable to successfully preserve differences for source: \\\" + sourceId);\\n })\\n }\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"ASYNC\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"MISSING\"},{\"action\":\"ASYNC\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"ASYNC\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"ASYNC\",\"situation\":\"UNASSIGNED\"},{\"action\":\"ASYNC\",\"situation\":\"LINK_ONLY\"},{\"action\":\"ASYNC\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"ASYNC\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"LINK\",\"postAction\":{\"globals\":{\"managedApplicationId\":\"26968c01-3c25-42c4-803c-3c9c0571cae6\"},\"source\":\"let idFound = false;\\nif (typeof target.effectiveApplications !== \\\"undefined\\\" && target.effectiveApplications !== null) {\\n target.effectiveApplications.forEach((effectiveApplication) => {\\n if (effectiveApplication._id === managedApplicationId) {\\n idFound = true;\\n }\\n });\\n}\\nif (!idFound) {\\n openidm.create(\\\"managed/alpha_user/\\\"+target._id+\\\"/applications\\\",null,{_ref:\\\"managed/alpha_application/\\\"+managedApplicationId});\\n}\\n\",\"type\":\"text/javascript\"},\"situation\":\"FOUND\"},{\"action\":\"ASYNC\",\"situation\":\"ABSENT\"},{\"action\":\"ASYNC\",\"situation\":\"SOURCE_TARGET_CONFLICT\"}],\"properties\":[{\"referencedObjectField\":\"__NAME__\",\"referencedObjectType\":\"Group\",\"source\":\"ldapGroups\",\"target\":\"assignments\"}],\"runTargetPhase\":false,\"source\":\"system/EncoreADv2/User\",\"target\":\"managed/alpha_user\"}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":3,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "10986" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.436Z", + "time": 58, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 58 + } + }, + { + "_id": "4c1fef66c916c8940b0315dddc564b06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-72" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-volker-demo.forgeblocks.com" + } + ], + "headersSize": 1513, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-volker-demo.forgeblocks.com/openidm/config/sync" + }, + "response": { + "bodySize": 5532, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 5532, + "text": "{\"_id\":\"sync\",\"mappings\":[{\"consentRequired\":false,\"correlationQuery\":[{\"expressionTree\":{\"all\":[\"frIndexedInteger1\"]},\"file\":\"ui/correlateTreeToQueryFilter.js\",\"linkQualifier\":\"default\",\"mapping\":\"systemHrlite__account___managedAlpha_user\",\"type\":\"text/javascript\"}],\"displayName\":\"systemHrlite__account___managedAlpha_user\",\"icon\":null,\"name\":\"systemHrlite__account___managedAlpha_user\",\"onCreate\":{\"globals\":{},\"source\":\"// Script has access to the following variables:\\n// sourceObject\\n// targetObject\\n// existingTargetObject\\n// linkQualifier\\nvar givenName = source.firstName;\\nlogger.info (\\\"this is the givenName \\\" + givenName);\\nvar sn = source.lastName;\\nlogger.info (\\\"this is the sn \\\" + sn);\\n\\n/* first choice of username */\\nvar checkuserName = givenName.substring(0,1).concat(sn).toLowerCase();\\nlogger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n/* if the userName is not found no need to go further */\\nvar queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n};\\n\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\n /* second choice of username */\\n checkuserName = givenName.substring(0,2).concat(sn).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n /* while the userName is found try above for second then add time to end until found */\\n while (queryResult.resultCount > 0) {\\n /* timeadded to choice of username */\\n var millis = String(Date.now());\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n checkuserName = givenName.substring(0,1).concat(sn).concat(millis.substring(millis.length - 4)).toLowerCase();\\n logger.info (\\\"calculated checkuserName \\\" + checkuserName);\\n queryUsername = {\\n _queryFilter: \\\"/userName eq '\\\" + checkuserName + \\\"'\\\"\\n };\\n queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryUsername,[\\\"*\\\"]);\\n } \\n}\\ntarget.userName = checkuserName;\\ntarget.cn = checkuserName + \\\" \\\" + givenName + \\\" \\\" + sn;\\ntarget.mail = \\\"volker.scheuber+\\\" + checkuserName+ \\\"-volker-demo\\\"+ \\\"@forgerock.com\\\"; \\ntarget.password = 'Frdp-2010';\\nvar managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {_queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n//Mail domain is dependent on your AD domain name….\\nlogger.info (\\\"Final userName \\\" + checkuserName);\\n// Role assignment scripts must always return targetObject, otherwise\\n// other scripts and code that occur downstream of your script will\\n// not work as expected.\\n\",\"type\":\"text/javascript\"},\"onUpdate\":{\"globals\":{},\"source\":\"var managerEmployeeNumber = source.manager;\\nvar queryManagerEmployeeNumber = {\\n _queryFilter: \\\"/frIndexedInteger1 eq '\\\" + managerEmployeeNumber + \\\"'\\\"\\n};\\nvar queryResult = openidm.query(\\\"/managed/alpha_user\\\",queryManagerEmployeeNumber,[\\\"*\\\"]);\\nif (queryResult.resultCount > 0) {\\ntarget.manager = {\\\"_ref\\\":\\\"managed/alpha_user/\\\"+queryResult.result[0]._id,\\\"_refProperties\\\":{}}\\n}\\n\",\"type\":\"text/javascript\"},\"policies\":[{\"action\":\"EXCEPTION\",\"situation\":\"AMBIGUOUS\"},{\"action\":\"EXCEPTION\",\"situation\":\"SOURCE_MISSING\"},{\"action\":\"CREATE\",\"situation\":\"MISSING\"},{\"action\":\"EXCEPTION\",\"situation\":\"FOUND_ALREADY_LINKED\"},{\"action\":\"DELETE\",\"situation\":\"UNQUALIFIED\"},{\"action\":\"EXCEPTION\",\"situation\":\"UNASSIGNED\"},{\"action\":\"EXCEPTION\",\"situation\":\"LINK_ONLY\"},{\"action\":\"EXCEPTION\",\"situation\":\"TARGET_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"SOURCE_IGNORED\"},{\"action\":\"IGNORE\",\"situation\":\"ALL_GONE\"},{\"action\":\"UPDATE\",\"situation\":\"CONFIRMED\"},{\"action\":\"UPDATE\",\"situation\":\"FOUND\"},{\"action\":\"CREATE\",\"situation\":\"ABSENT\"}],\"properties\":[{\"source\":\"\",\"target\":\"frIndexedInteger1\",\"transform\":{\"source\":\"parseInt(source.__NAME__)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger2\",\"transform\":{\"source\":\"parseInt(source.status)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger3\",\"transform\":{\"source\":\"parseInt(source.depId)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger4\",\"transform\":{\"source\":\"parseInt(source.jobCode)\",\"type\":\"text/javascript\"}},{\"source\":\"\",\"target\":\"frIndexedInteger5\",\"transform\":{\"source\":\"parseInt(source.empType)\",\"type\":\"text/javascript\"}},{\"source\":\"phone\",\"target\":\"telephoneNumber\"},{\"source\":\"city\",\"target\":\"city\"},{\"source\":\"state\",\"target\":\"stateProvince\"},{\"source\":\"address\",\"target\":\"postalAddress\"},{\"source\":\"postalCode\",\"target\":\"postalCode\"},{\"source\":\"country\",\"target\":\"country\"},{\"source\":\"firstName\",\"target\":\"givenName\"},{\"source\":\"lastName\",\"target\":\"sn\"},{\"source\":\"isManager\",\"target\":\"frIndexedString4\"},{\"source\":\"externalMail\",\"target\":\"frIndexedString5\"},{\"source\":\"manager\",\"target\":\"frIndexedString3\"},{\"source\":\"\",\"target\":\"accountStatus\",\"transform\":{\"source\":\"(parseInt(source.status)==5)?\\\"inactive\\\":\\\"active\\\";\",\"type\":\"text/javascript\"}}],\"runTargetPhase\":true,\"source\":\"system/HRLite/__ACCOUNT__\",\"target\":\"managed/alpha_user\",\"taskThreads\":1}]}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Fri, 22 Mar 2024 03:05:35 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "5532" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4306d5ad-6be1-4cf4-a270-4da24d9efb4d" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 665, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-03-22T03:05:35.500Z", + "time": 48, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 48 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/am_1076162899/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/am_1076162899/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/am_1076162899/recording.har diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/oauth2_393036114/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/oauth2_393036114/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/oauth2_393036114/recording.har diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/openidm_3290118515/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_f_3126144190/openidm_3290118515/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_f_4242328059/openidm_3290118515/recording.har diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/am_1076162899/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/am_1076162899/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/am_1076162899/recording.har diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/oauth2_393036114/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/oauth2_393036114/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/oauth2_393036114/recording.har diff --git a/test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/openidm_3290118515/recording.har similarity index 100% rename from test/e2e/mocks/app_527074092/export_4211608755/0_i_no-deps_f_1411069845/openidm_3290118515/recording.har rename to test/e2e/mocks/app_527074092/export_4211608755/0_n_no-deps_f_1373075124/openidm_3290118515/recording.har diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/am_1076162899/recording.har new file mode 100644 index 000000000..2f446eead --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "app/import/0_app-id_file/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "accept-api-version", + "value": "resource=2.0" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 387, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 538, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 538, + "text": "{\"_id\":\"*\",\"_rev\":\"36966512\",\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"36966512\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "538" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.644Z", + "time": 88, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 88 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1936, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 282, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 282, + "text": "{\"_id\":\"version\",\"_rev\":\"355151460\",\"version\":\"7.6.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.6.0-SNAPSHOT Build 493165657bbb9390016bd43ca767a46f23d8d24a (2024-September-23 14:30)\",\"revision\":\"493165657bbb9390016bd43ca767a46f23d8d24a\",\"date\":\"2024-September-23 14:30\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"355151460\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "282" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.834Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/oauth2_393036114/recording.har new file mode 100644 index 000000000..107ab0b45 --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "app/import/0_app-id_file/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1339, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1339" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 442, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:autoaccess:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:certificate:read fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1818, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:autoaccess:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:certificate:read fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1818" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 561, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.745Z", + "time": 82, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 82 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/openidm_3290118515/recording.har new file mode 100644 index 000000000..8daae97e2 --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_app-name_file_990490340/openidm_3290118515/recording.har @@ -0,0 +1,454 @@ +{ + "log": { + "_recordingName": "app/import/0_app-id_file/openidm", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1948, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/7a031a92-f70d-4b30-9d70-da7cfb1d9c93?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"7a031a92-f70d-4b30-9d70-da7cfb1d9c93\",\"_rev\":\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1720799681233\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:certificate:read\",\"fr:idc:content-security-policy:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"0XdDQoML6maEILSCc8AWtpjBlKNOzf_NTG_jT0M0wzk\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"mvVVosknqaMRfUPxzZKLpNIIEZCTHcVT3QGRsA2CpUaK0jNO5WOljqLe3XjJmE27b2vcO_GT29M9QIwUVYAx8cv9BnwTEuioTu_Tugp3O4X3VO9VmNTQkaM1gASCTkZ2u_VuZefusBmydrheMP_XlT7GvB_sSpLgpyiN88LEO1RVVZEiG9YAanSQZejtKYLpxV5-Sxu3kh3c1M2HGiw9LeGu0h1p6okCDWwaJUDIG7jXgcHYgFCcNLkklzMX82ozWXEyjQPaxg95sk3d1ZLl-hoAJAI2-bF_ANvqK60i3WCBBPpulUU_RGeVhgxcnMTbDJUm1KgFhlK9TcvgQmZtm1u9NF0hkNlfrYhDUiy3BVWnHCTi50JUZYTevfo6LS2waTE-ZWMAZ0CCeShPR92HkcyfFIYf_PFvrwk55pmvDbx4Fc4l2y_JXKckSuKf2ErmWN_8F7ou5zNsrYcmApCuNj7m0Is3BhnvafhIsI8nocyeJPiaH5oHm5aCSWbjVFvFyOmsuZQ3AAkHjBcET3iqBneHKqSe4-Zw9-u4W6iSw8L8fF7_RPFGYAnxidqEl2Y4WOB3GsaYXEOn5uT6yKJTDbtRABdvEswFfxdVcWwvnGItgmVbUnU_QFjkOgNC2U051jUE3crGZSpeTN8028NGikzvB4PhcvIFT0biHIXFr98\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:24 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1382" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 667, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.866Z", + "time": 123, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 123 + } + }, + { + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1948, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/7a031a92-f70d-4b30-9d70-da7cfb1d9c93?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"7a031a92-f70d-4b30-9d70-da7cfb1d9c93\",\"_rev\":\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1720799681233\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:certificate:read\",\"fr:idc:content-security-policy:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"0XdDQoML6maEILSCc8AWtpjBlKNOzf_NTG_jT0M0wzk\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"mvVVosknqaMRfUPxzZKLpNIIEZCTHcVT3QGRsA2CpUaK0jNO5WOljqLe3XjJmE27b2vcO_GT29M9QIwUVYAx8cv9BnwTEuioTu_Tugp3O4X3VO9VmNTQkaM1gASCTkZ2u_VuZefusBmydrheMP_XlT7GvB_sSpLgpyiN88LEO1RVVZEiG9YAanSQZejtKYLpxV5-Sxu3kh3c1M2HGiw9LeGu0h1p6okCDWwaJUDIG7jXgcHYgFCcNLkklzMX82ozWXEyjQPaxg95sk3d1ZLl-hoAJAI2-bF_ANvqK60i3WCBBPpulUU_RGeVhgxcnMTbDJUm1KgFhlK9TcvgQmZtm1u9NF0hkNlfrYhDUiy3BVWnHCTi50JUZYTevfo6LS2waTE-ZWMAZ0CCeShPR92HkcyfFIYf_PFvrwk55pmvDbx4Fc4l2y_JXKckSuKf2ErmWN_8F7ou5zNsrYcmApCuNj7m0Is3BhnvafhIsI8nocyeJPiaH5oHm5aCSWbjVFvFyOmsuZQ3AAkHjBcET3iqBneHKqSe4-Zw9-u4W6iSw8L8fF7_RPFGYAnxidqEl2Y4WOB3GsaYXEOn5uT6yKJTDbtRABdvEswFfxdVcWwvnGItgmVbUnU_QFjkOgNC2U051jUE3crGZSpeTN8028NGikzvB4PhcvIFT0biHIXFr98\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:24 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1382" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 667, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.901Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + }, + { + "_id": "8df733dc9dd0db66d8182bbc779a824f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "162" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"authoritative\":true,\"description\":\"desc\",\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\"}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application/e124e6f6-e25a-4180-a6c3-ff8b782a422c" + }, + "response": { + "bodySize": 213, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 213, + "text": "{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\",\"authoritative\":true,\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\",\"description\":\"desc\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:25 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "x-not-modified", + "value": "true" + }, + { + "name": "content-length", + "value": "213" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35d6c49e-4aab-44b4-b7c5-50c19c03546c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 689, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:24.981Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/am_1076162899/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/am_1076162899/recording.har new file mode 100644 index 000000000..791037869 --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "app/import/0_no-deps_i_f/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "accept-api-version", + "value": "resource=2.0" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 387, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 538, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 538, + "text": "{\"_id\":\"*\",\"_rev\":\"36966512\",\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"6ac6499e9da2071\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=2.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"36966512\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "538" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 785, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.453Z", + "time": 91, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 91 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1936, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 282, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 282, + "text": "{\"_id\":\"version\",\"_rev\":\"355151460\",\"version\":\"7.6.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 7.6.0-SNAPSHOT Build 493165657bbb9390016bd43ca767a46f23d8d24a (2024-September-23 14:30)\",\"revision\":\"493165657bbb9390016bd43ca767a46f23d8d24a\",\"date\":\"2024-September-23 14:30\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"355151460\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "282" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 786, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.646Z", + "time": 67, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 67 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/oauth2_393036114/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/oauth2_393036114/recording.har new file mode 100644 index 000000000..77c8aa7e3 --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "app/import/0_no-deps_i_f/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1339, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1339" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 442, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:autoaccess:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:certificate:read fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1818, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:autoaccess:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:certificate:read fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1818" + }, + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 561, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.557Z", + "time": 81, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 81 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/openidm_3290118515/recording.har b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/openidm_3290118515/recording.har new file mode 100644 index 000000000..9b517208b --- /dev/null +++ b/test/e2e/mocks/app_527074092/import_288002260/0_no-deps_n_f_248633812/openidm_3290118515/recording.har @@ -0,0 +1,454 @@ +{ + "log": { + "_recordingName": "app/import/0_no-deps_i_f/openidm", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1948, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/7a031a92-f70d-4b30-9d70-da7cfb1d9c93?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"7a031a92-f70d-4b30-9d70-da7cfb1d9c93\",\"_rev\":\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1720799681233\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:certificate:read\",\"fr:idc:content-security-policy:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"0XdDQoML6maEILSCc8AWtpjBlKNOzf_NTG_jT0M0wzk\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"mvVVosknqaMRfUPxzZKLpNIIEZCTHcVT3QGRsA2CpUaK0jNO5WOljqLe3XjJmE27b2vcO_GT29M9QIwUVYAx8cv9BnwTEuioTu_Tugp3O4X3VO9VmNTQkaM1gASCTkZ2u_VuZefusBmydrheMP_XlT7GvB_sSpLgpyiN88LEO1RVVZEiG9YAanSQZejtKYLpxV5-Sxu3kh3c1M2HGiw9LeGu0h1p6okCDWwaJUDIG7jXgcHYgFCcNLkklzMX82ozWXEyjQPaxg95sk3d1ZLl-hoAJAI2-bF_ANvqK60i3WCBBPpulUU_RGeVhgxcnMTbDJUm1KgFhlK9TcvgQmZtm1u9NF0hkNlfrYhDUiy3BVWnHCTi50JUZYTevfo6LS2waTE-ZWMAZ0CCeShPR92HkcyfFIYf_PFvrwk55pmvDbx4Fc4l2y_JXKckSuKf2ErmWN_8F7ou5zNsrYcmApCuNj7m0Is3BhnvafhIsI8nocyeJPiaH5oHm5aCSWbjVFvFyOmsuZQ3AAkHjBcET3iqBneHKqSe4-Zw9-u4W6iSw8L8fF7_RPFGYAnxidqEl2Y4WOB3GsaYXEOn5uT6yKJTDbtRABdvEswFfxdVcWwvnGItgmVbUnU_QFjkOgNC2U051jUE3crGZSpeTN8028NGikzvB4PhcvIFT0biHIXFr98\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1382" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 667, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.676Z", + "time": 120, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 120 + } + }, + { + "_id": "9cb8561357870863838a9948da32d1e8", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1948, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/7a031a92-f70d-4b30-9d70-da7cfb1d9c93?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"7a031a92-f70d-4b30-9d70-da7cfb1d9c93\",\"_rev\":\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1720799681233\",\"description\":\"phales@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:autoaccess:*\",\"fr:idc:certificate:*\",\"fr:idc:certificate:read\",\"fr:idc:content-security-policy:*\",\"fr:idc:custom-domain:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"0XdDQoML6maEILSCc8AWtpjBlKNOzf_NTG_jT0M0wzk\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"mvVVosknqaMRfUPxzZKLpNIIEZCTHcVT3QGRsA2CpUaK0jNO5WOljqLe3XjJmE27b2vcO_GT29M9QIwUVYAx8cv9BnwTEuioTu_Tugp3O4X3VO9VmNTQkaM1gASCTkZ2u_VuZefusBmydrheMP_XlT7GvB_sSpLgpyiN88LEO1RVVZEiG9YAanSQZejtKYLpxV5-Sxu3kh3c1M2HGiw9LeGu0h1p6okCDWwaJUDIG7jXgcHYgFCcNLkklzMX82ozWXEyjQPaxg95sk3d1ZLl-hoAJAI2-bF_ANvqK60i3WCBBPpulUU_RGeVhgxcnMTbDJUm1KgFhlK9TcvgQmZtm1u9NF0hkNlfrYhDUiy3BVWnHCTi50JUZYTevfo6LS2waTE-ZWMAZ0CCeShPR92HkcyfFIYf_PFvrwk55pmvDbx4Fc4l2y_JXKckSuKf2ErmWN_8F7ou5zNsrYcmApCuNj7m0Is3BhnvafhIsI8nocyeJPiaH5oHm5aCSWbjVFvFyOmsuZQ3AAkHjBcET3iqBneHKqSe4-Zw9-u4W6iSw8L8fF7_RPFGYAnxidqEl2Y4WOB3GsaYXEOn5uT6yKJTDbtRABdvEswFfxdVcWwvnGItgmVbUnU_QFjkOgNC2U051jUE3crGZSpeTN8028NGikzvB4PhcvIFT0biHIXFr98\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"fd891c5f-b3b8-4ec3-933d-db614ea36542-142\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-length", + "value": "1382" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 667, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.719Z", + "time": 66, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 66 + } + }, + { + "_id": "8df733dc9dd0db66d8182bbc779a824f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.1.2-0" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": "162" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1967, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"authoritative\":true,\"description\":\"desc\",\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\"}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/alpha_application/e124e6f6-e25a-4180-a6c3-ff8b782a422c" + }, + "response": { + "bodySize": 213, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 213, + "text": "{\"_id\":\"e124e6f6-e25a-4180-a6c3-ff8b782a422c\",\"_rev\":\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\",\"authoritative\":true,\"icon\":\"\",\"name\":\"testLDAP\",\"templateName\":\"ldap\",\"templateVersion\":\"2.1\",\"description\":\"desc\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Thu, 10 Oct 2024 15:12:08 GMT" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "content-type", + "value": "application/json;charset=utf-8" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"3c7b6f74-d805-4004-a27e-75f991919de0-6835\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "x-not-modified", + "value": "true" + }, + { + "name": "content-length", + "value": "213" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-2750793d-780e-4c7d-a185-cd1bb62703b3" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "x-robots-tag", + "value": "none" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 689, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-10T15:12:08.793Z", + "time": 352, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 352 + } + } + ], + "pages": [], + "version": "1.2" + } +}