From bb7786aa4234058245f49e42a65d368455475c00 Mon Sep 17 00:00:00 2001 From: Charles Song Date: Tue, 9 Jun 2026 13:12:31 -0600 Subject: [PATCH] feat: Add 'no-extract' command to email templates to prevent HTML and css from being separate files, which happens by default now --- src/cli/email/email-template-export.ts | 13 +- src/ops/EmailTemplateOps.ts | 79 +- .../email-template-export.test.js.snap | 2 + .../email-template-export.e2e.test.js.snap | 11127 ++++++++++++++-- test/e2e/email-template-export.e2e.test.js | 59 +- .../am_1076162899/recording.har | 86 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 40 +- .../openidm_3290118515/recording.har | 100 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 458 + .../am_1076162899/recording.har | 86 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 40 +- .../openidm_3290118515/recording.har | 100 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 458 + .../am_1076162899/recording.har | 82 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 38 +- .../openidm_3290118515/recording.har | 86 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 453 + .../am_1076162899/recording.har | 86 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 40 +- .../openidm_3290118515/recording.har | 96 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 458 + .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 458 + .../am_1076162899/recording.har | 82 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 38 +- .../openidm_3290118515/recording.har | 94 +- .../am_1076162899/recording.har | 82 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 38 +- .../openidm_3290118515/recording.har | 94 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 458 + .../am_1076162899/recording.har | 84 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 40 +- .../openidm_3290118515/recording.har | 86 +- .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 453 + .../am_1076162899/recording.har | 312 + .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 146 + .../openidm_3290118515/recording.har | 453 + .../am_1076162899/recording.har | 82 +- .../environment_1072573434/recording.har | 125 + .../oauth2_393036114/recording.har | 38 +- .../openidm_3290118515/recording.har | 86 +- test/e2e/utils/TestUtils.js | 1 + .../approvalTask-7e33e73d6763.workflow.js | 23 + .../fulfillmentTask-7fce35a32915.workflow.js | 23 + .../draft/scriptTask-493f5ea87636.workflow.js | 17 + .../violationTask-50261d9bc712.workflow.js | 23 + .../approvalTask-7e33e73d6763.workflow.js | 23 + .../fulfillmentTask-7fce35a32915.workflow.js | 23 + .../scriptTask-493f5ea87636.workflow.js | 17 + .../violationTask-50261d9bc712.workflow.js | 23 + 78 files changed, 20835 insertions(+), 1655 deletions(-) create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/am_1076162899/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/environment_1072573434/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/oauth2_393036114/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/openidm_3290118515/recording.har create mode 100644 test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/environment_1072573434/recording.har create mode 100644 testWorkflow1/draft/approvalTask-7e33e73d6763.workflow.js create mode 100644 testWorkflow1/draft/fulfillmentTask-7fce35a32915.workflow.js create mode 100644 testWorkflow1/draft/scriptTask-493f5ea87636.workflow.js create mode 100644 testWorkflow1/draft/violationTask-50261d9bc712.workflow.js create mode 100644 testWorkflow1/published/approvalTask-7e33e73d6763.workflow.js create mode 100644 testWorkflow1/published/fulfillmentTask-7fce35a32915.workflow.js create mode 100644 testWorkflow1/published/scriptTask-493f5ea87636.workflow.js create mode 100644 testWorkflow1/published/violationTask-50261d9bc712.workflow.js diff --git a/src/cli/email/email-template-export.ts b/src/cli/email/email-template-export.ts index d3bfb6ce0..4b1ecdd3a 100644 --- a/src/cli/email/email-template-export.ts +++ b/src/cli/email/email-template-export.ts @@ -57,6 +57,12 @@ export default function setup() { 'Does not include metadata in the export file.' ) ) + .addOption( + new Option( + '-x, --no-extract', + 'Do not extract HTML and CSS to a separate file' + ) + ) .action( // implement command logic inside action handler async (host, realm, user, password, options, command) => { @@ -79,6 +85,7 @@ export default function setup() { }" from realm "${state.getRealm()}"...` ); const outcome = await exportEmailTemplateToFile( + options.extract, options.templateId, options.file, options.metadata @@ -92,6 +99,7 @@ export default function setup() { ) { verboseMessage('Exporting all email templates to a single file...'); const outcome = await exportEmailTemplatesToFile( + options.extract, options.file, options.metadata ); @@ -103,7 +111,10 @@ export default function setup() { (await getTokens(false, true, deploymentTypes)) ) { verboseMessage('Exporting all email templates to separate files...'); - const outcome = await exportEmailTemplatesToFiles(options.metadata); + const outcome = await exportEmailTemplatesToFiles( + options.extract, + options.metadata + ); if (!outcome) process.exitCode = 1; } // unrecognized combination of options or no options diff --git a/src/ops/EmailTemplateOps.ts b/src/ops/EmailTemplateOps.ts index b27f9429c..ccc6537aa 100644 --- a/src/ops/EmailTemplateOps.ts +++ b/src/ops/EmailTemplateOps.ts @@ -42,11 +42,17 @@ const regexEmailTemplateType = new RegExp(`${EMAIL_TEMPLATE_TYPE}/`, 'g'); // use a function vs a template variable to avoid problems in loops function getFileDataTemplate() { return { - meta: {}, emailTemplate: {}, }; } +function getFileDataHTMLTemplate() { + return { + html: {}, + css: {}, + }; +} + /** * Get a one-line description of the email template * @param {EmailTemplateSkeleton} templateObj email template object to describe @@ -167,6 +173,7 @@ export async function listEmailTemplates( * @return {Promise} a promise that resolves to true if successful, false otherwise */ export async function exportEmailTemplateToFile( + extract: boolean = false, templateId: string, file: string, includeMeta: boolean = true @@ -187,6 +194,26 @@ export async function exportEmailTemplateToFile( updateProgressIndicator(indicatorId, `Writing file ${filePath}`); const fileData = getFileDataTemplate(); fileData.emailTemplate[templateId] = templateData; + + if (extract && (templateData.html || templateData.styles)) { + const fileThemeName = file ? file.replace('.json', '') + '.theme.json' : getTypedFilename( + templateId, + EMAIL_TEMPLATE_FILE_TYPE + '.theme' + ); + const fileHTMLData = getFileDataHTMLTemplate(); + fileHTMLData.html[templateId] = templateData.html ?? {}; + fileHTMLData.css[templateId] = templateData.styles ?? {}; + + saveJsonToFile(fileHTMLData, getFilePath(fileThemeName, true), includeMeta); + + const formattedTemplate = templateData; + + if (formattedTemplate.html) delete formattedTemplate.html; + if (formattedTemplate.styles) delete formattedTemplate.styles; + + fileData.emailTemplate[templateId] = formattedTemplate; + } + saveJsonToFile(fileData, filePath, includeMeta); stopProgressIndicator( indicatorId, @@ -207,6 +234,7 @@ export async function exportEmailTemplateToFile( * @return {Promise} a promise that resolves to true if successful, false otherwise */ export async function exportEmailTemplatesToFile( + extract: boolean = false, file: string, includeMeta: boolean = true ): Promise { @@ -220,6 +248,33 @@ export async function exportEmailTemplatesToFile( } const filePath = getFilePath(fileName, true); const exportData = await exportEmailTemplates(true); + + if (extract) { + const fileHTMLData = getFileDataHTMLTemplate(); + const fileThemeName = file ? file.replace('.json', '') + '.theme.json' : getTypedFilename( + `allEmailTemplates`, + EMAIL_TEMPLATE_FILE_TYPE + '.theme' + ); + + Object.keys(exportData.emailTemplate).forEach((templateId) => { + const templateData = exportData.emailTemplate[templateId]; + + if (templateData.html || templateData.styles) { + fileHTMLData.html[templateId] = templateData.html ?? {}; + fileHTMLData.css[templateId] = templateData.styles ?? {}; + + const formattedTemplate = templateData; + + if (formattedTemplate.html) delete formattedTemplate.html; + if (formattedTemplate.styles) delete formattedTemplate.styles; + + exportData.emailTemplate[templateId] = formattedTemplate; + } + }); + + saveJsonToFile(fileHTMLData, getFilePath(fileThemeName, true), includeMeta); + } + saveJsonToFile(exportData, filePath, includeMeta); return true; } catch (error) { @@ -234,6 +289,7 @@ export async function exportEmailTemplatesToFile( * @return {Promise} a promise that resolves to true if successful, false otherwise */ export async function exportEmailTemplatesToFiles( + extract: boolean = false, includeMeta: boolean = true ): Promise { let indicatorId; @@ -251,6 +307,27 @@ export async function exportEmailTemplatesToFiles( const fileData = getFileDataTemplate(); updateProgressIndicator(indicatorId, `Exporting ${templateId}`); fileData.emailTemplate[templateId] = template; + + // Separate html and styles into a different file by default + if (extract && (template.html || template.styles)) { + const fileThemeName = getTypedFilename( + templateId, + EMAIL_TEMPLATE_FILE_TYPE + '.theme' + ); + const fileHTMLData = getFileDataHTMLTemplate(); + fileHTMLData.html[templateId] = template.html ?? {}; + fileHTMLData.css[templateId] = template.styles ?? {}; + + saveJsonToFile(fileHTMLData, getFilePath(fileThemeName, true), includeMeta); + + const formattedTemplate = template; + + if (formattedTemplate.html) delete formattedTemplate.html; + if (formattedTemplate.styles) delete formattedTemplate.styles; + + fileData.emailTemplate[templateId] = formattedTemplate; + } + saveJsonToFile(fileData, getFilePath(fileName, true), includeMeta); } stopProgressIndicator( diff --git a/test/client_cli/en/__snapshots__/email-template-export.test.js.snap b/test/client_cli/en/__snapshots__/email-template-export.test.js.snap index c77d30241..1503fbcbf 100644 --- a/test/client_cli/en/__snapshots__/email-template-export.test.js.snap +++ b/test/client_cli/en/__snapshots__/email-template-export.test.js.snap @@ -31,6 +31,8 @@ Options: -i, --template-id Email template id/name. If specified, -a and -A are ignored. -N, --no-metadata Does not include metadata in the export file. + -x, --no-extract Do not extract HTML and CSS to a separate + file -h, --help Help -hh, --help-more Help with all options. -hhh, --help-all Help with all options, environment variables, diff --git a/test/e2e/__snapshots__/email-template-export.e2e.test.js.snap b/test/e2e/__snapshots__/email-template-export.e2e.test.js.snap index f6f270d23..0e1f20d64 100644 --- a/test/e2e/__snapshots__/email-template-export.e2e.test.js.snap +++ b/test/e2e/__snapshots__/email-template-export.e2e.test.js.snap @@ -1,178 +1,10189 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json 1`] = `0`; +exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json with a separate file for the HTML and CSS 1`] = `0`; -exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json 2`] = `""`; +exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json with a separate file for the HTML and CSS 2`] = `""`; -exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json: my-allEmailTemplates.template.email.json 1`] = ` +exports[`frodo email template export "frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json with a separate file for the HTML and CSS: my-allEmailTemplates.template.email.json 1`] = ` { "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Assigned", + }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Removed", + }, + }, "forgottenUsername": { "_id": "emailTemplate/forgottenUsername", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", - }, "message": { "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { "en": "Account Information - username", "fr": "Informations sur le compte - nom d'utilisateur", }, }, + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, "registration": { "_id": "emailTemplate/registration", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", - }, "message": { "en": "

This is your registration email.

Email verification link

", "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Register new account", - "fr": "Créer un nouveau compte", + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "subject": { + "en": "Update your password", + }, + }, + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export --all --no-extract --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json 1`] = `0`; + +exports[`frodo email template export "frodo email template export --all --no-extract --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json 2`] = `""`; + +exports[`frodo email template export "frodo email template export --all --no-extract --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json: my-allEmailTemplates.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Assigned", + }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Removed", + }, + }, + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval has been escalated to your attention.
", + }, + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you has expired.
", + }, + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "styles": " ", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "styles": " ", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "styles": " ", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Verify email to update password

Update password link

", + }, + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Update your password", + }, + }, + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3 1`] = `0`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3 2`] = `""`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/FrodoTestEmailTemplate1.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/FrodoTestEmailTemplate2.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/FrodoTestEmailTemplate3.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "certificationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationAssigned": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "certificationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationEscalated": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationExpired.template.email.theme.json 1`] = ` +{ + "css": { + "certificationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationExpired": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "certificationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationReassigned": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/certificationReminder.template.email.theme.json 1`] = ` +{ + "css": { + "certificationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationReminder": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/delegationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/delegationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "delegationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "delegationAssigned": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/delegationRemoved.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Removed", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/delegationRemoved.template.email.theme.json 1`] = ` +{ + "css": { + "delegationRemoved": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "delegationRemoved": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/forgottenUsername.template.email.json 1`] = ` +{ + "emailTemplate": { + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/forgottenUsername.template.email.theme.json 1`] = ` +{ + "css": { + "forgottenUsername": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "forgottenUsername": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/frodoTestEmailTemplateFour.template.email.json 1`] = ` +{ + "emailTemplate": { + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/frodoTestEmailTemplateFour.template.email.theme.json 1`] = ` +{ + "css": { + "frodoTestEmailTemplateFour": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "frodoTestEmailTemplateFour": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/registration.template.email.json 1`] = ` +{ + "emailTemplate": { + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/registration.template.email.theme.json 1`] = ` +{ + "css": { + "registration": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "registration": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "requestAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestAssigned": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "requestEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestEscalated": { + "en": "
A request approval has been escalated to your attention.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestExpired.template.email.theme.json 1`] = ` +{ + "css": { + "requestExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestExpired": { + "en": "
A request approval assigned to you has expired.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "requestReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestReassigned": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/requestReminder.template.email.theme.json 1`] = ` +{ + "css": { + "requestReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestReminder": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/resetPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe1AccountCreation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe1AccountCreation.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe1AccountCreation": " ", + }, + "html": { + "staffNe1AccountCreation": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe2AccountCreationPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe2AccountCreationPassword.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe2AccountCreationPassword": " ", + }, + "html": { + "staffNe2AccountCreationPassword": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe3Attestation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/staffNe3Attestation.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe3Attestation": " ", + }, + "html": { + "staffNe3Attestation": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/undefined.template.email.json 1`] = ` +{ + "emailTemplate": { + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/undefined.template.email.theme.json 1`] = ` +{ + "css": { + "undefined": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "undefined": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/updatePassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "subject": { + "en": "Update your password", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/updatePassword.template.email.theme.json 1`] = ` +{ + "css": { + "updatePassword": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "updatePassword": { + "en": "

Verify email to update password

Update password link

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "violationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationAssigned": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "violationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationEscalated": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationExpired.template.email.theme.json 1`] = ` +{ + "css": { + "violationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationExpired": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "violationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationReassigned": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/violationReminder.template.email.theme.json 1`] = ` +{ + "css": { + "violationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationReminder": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/welcome.template.email.theme.json 1`] = ` +{ + "css": { + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3 1`] = `0`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3 2`] = `""`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/FrodoTestEmailTemplate1.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/FrodoTestEmailTemplate2.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/FrodoTestEmailTemplate3.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/certificationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/certificationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/certificationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/certificationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/certificationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/delegationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/delegationRemoved.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Removed", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/forgottenUsername.template.email.json 1`] = ` +{ + "emailTemplate": { + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/frodoTestEmailTemplateFour.template.email.json 1`] = ` +{ + "emailTemplate": { + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/registration.template.email.json 1`] = ` +{ + "emailTemplate": { + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/requestAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/requestEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval has been escalated to your attention.
", + }, + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/requestExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you has expired.
", + }, + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/requestReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/requestReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/resetPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/staffNe1AccountCreation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "styles": " ", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/staffNe2AccountCreationPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "styles": " ", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/staffNe3Attestation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "styles": " ", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/undefined.template.email.json 1`] = ` +{ + "emailTemplate": { + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/updatePassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Verify email to update password

Update password link

", + }, + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Update your password", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/violationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/violationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/violationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/violationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/violationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateThemeExportTestDir3/welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export --no-extract --template-id welcome": should export the email template with email id "welcome" 1`] = `0`; + +exports[`frodo email template export "frodo email template export --no-extract --template-id welcome": should export the email template with email id "welcome" 2`] = `""`; + +exports[`frodo email template export "frodo email template export --no-extract --template-id welcome": should export the email template with email id "welcome": welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome" with a separate file for the HTML and CSS 1`] = `0`; + +exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome" with a separate file for the HTML and CSS 2`] = `""`; + +exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome" with a separate file for the HTML and CSS: welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files 1`] = `0`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files 2`] = `""`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: FrodoTestEmailTemplate1.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: FrodoTestEmailTemplate2.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: FrodoTestEmailTemplate3.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: certificationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: certificationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: certificationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: certificationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: certificationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: delegationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: delegationRemoved.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Removed", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: forgottenUsername.template.email.json 1`] = ` +{ + "emailTemplate": { + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: frodoTestEmailTemplateFour.template.email.json 1`] = ` +{ + "emailTemplate": { + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: registration.template.email.json 1`] = ` +{ + "emailTemplate": { + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: requestAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: requestEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval has been escalated to your attention.
", + }, + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: requestExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you has expired.
", + }, + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: requestReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: requestReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: resetPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: staffNe1AccountCreation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "styles": " ", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: staffNe2AccountCreationPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "styles": " ", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: staffNe3Attestation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "styles": " ", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: undefined.template.email.json 1`] = ` +{ + "emailTemplate": { + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: updatePassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Verify email to update password

Update password link

", + }, + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Update your password", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: violationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: violationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: violationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: violationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: violationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A -x": should export all email templates to separate files: welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes 1`] = `0`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes 2`] = `""`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: FrodoTestEmailTemplate1.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: FrodoTestEmailTemplate2.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: FrodoTestEmailTemplate3.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: allEmailTemplates.template.email.theme.json 1`] = ` +{ + "css": { + "certificationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationRemoved": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "forgottenUsername": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "frodoTestEmailTemplateFour": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "registration": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "requestAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "staffNe1AccountCreation": " ", + "staffNe2AccountCreationPassword": " ", + "staffNe3Attestation": " ", + "undefined": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "updatePassword": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "violationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "certificationAssigned": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "certificationEscalated": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "certificationExpired": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "certificationReassigned": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "certificationReminder": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "delegationAssigned": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "delegationRemoved": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "forgottenUsername": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "frodoTestEmailTemplateFour": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "registration": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "requestAssigned": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "requestEscalated": { + "en": "
A request approval has been escalated to your attention.
", + }, + "requestExpired": { + "en": "
A request approval assigned to you has expired.
", + }, + "requestReassigned": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "requestReminder": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "staffNe1AccountCreation": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe2AccountCreationPassword": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe3Attestation": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "undefined": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "updatePassword": { + "en": "

Verify email to update password

Update password link

", + }, + "violationAssigned": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "violationEscalated": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "violationExpired": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "violationReassigned": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "violationReminder": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "certificationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationAssigned": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "certificationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationEscalated": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationExpired.template.email.theme.json 1`] = ` +{ + "css": { + "certificationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationExpired": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "certificationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationReassigned": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: certificationReminder.template.email.theme.json 1`] = ` +{ + "css": { + "certificationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "certificationReminder": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: delegationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: delegationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "delegationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "delegationAssigned": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: delegationRemoved.template.email.json 1`] = ` +{ + "emailTemplate": { + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Removed", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: delegationRemoved.template.email.theme.json 1`] = ` +{ + "css": { + "delegationRemoved": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "delegationRemoved": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: forgottenUsername.template.email.json 1`] = ` +{ + "emailTemplate": { + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: forgottenUsername.template.email.theme.json 1`] = ` +{ + "css": { + "forgottenUsername": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "forgottenUsername": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: frodoTestEmailTemplateFour.template.email.json 1`] = ` +{ + "emailTemplate": { + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: frodoTestEmailTemplateFour.template.email.theme.json 1`] = ` +{ + "css": { + "frodoTestEmailTemplateFour": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "frodoTestEmailTemplateFour": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: my-allEmailTemplates.template.email.theme.json 1`] = ` +{ + "css": { + "certificationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationRemoved": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "forgottenUsername": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "frodoTestEmailTemplateFour": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "registration": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "requestAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "staffNe1AccountCreation": " ", + "staffNe2AccountCreationPassword": " ", + "staffNe3Attestation": " ", + "undefined": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "updatePassword": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "violationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "certificationAssigned": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "certificationEscalated": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "certificationExpired": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "certificationReassigned": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "certificationReminder": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "delegationAssigned": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "delegationRemoved": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "forgottenUsername": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "frodoTestEmailTemplateFour": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "registration": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "requestAssigned": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "requestEscalated": { + "en": "
A request approval has been escalated to your attention.
", + }, + "requestExpired": { + "en": "
A request approval assigned to you has expired.
", + }, + "requestReassigned": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "requestReminder": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "staffNe1AccountCreation": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe2AccountCreationPassword": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe3Attestation": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "undefined": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "updatePassword": { + "en": "

Verify email to update password

Update password link

", + }, + "violationAssigned": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "violationEscalated": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "violationExpired": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "violationReassigned": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "violationReminder": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: my-welcome.template.email.theme.json 1`] = ` +{ + "css": { + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: registration.template.email.json 1`] = ` +{ + "emailTemplate": { + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: registration.template.email.theme.json 1`] = ` +{ + "css": { + "registration": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "registration": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "requestAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestAssigned": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "requestEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestEscalated": { + "en": "
A request approval has been escalated to your attention.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestExpired.template.email.theme.json 1`] = ` +{ + "css": { + "requestExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestExpired": { + "en": "
A request approval assigned to you has expired.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "requestReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestReassigned": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: requestReminder.template.email.theme.json 1`] = ` +{ + "css": { + "requestReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "requestReminder": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: resetPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe1AccountCreation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe1AccountCreation.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe1AccountCreation": " ", + }, + "html": { + "staffNe1AccountCreation": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe2AccountCreationPassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe2AccountCreationPassword.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe2AccountCreationPassword": " ", + }, + "html": { + "staffNe2AccountCreationPassword": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe3Attestation.template.email.json 1`] = ` +{ + "emailTemplate": { + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: staffNe3Attestation.template.email.theme.json 1`] = ` +{ + "css": { + "staffNe3Attestation": " ", + }, + "html": { + "staffNe3Attestation": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: undefined.template.email.json 1`] = ` +{ + "emailTemplate": { + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: undefined.template.email.theme.json 1`] = ` +{ + "css": { + "undefined": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "undefined": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: updatePassword.template.email.json 1`] = ` +{ + "emailTemplate": { + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "subject": { + "en": "Update your password", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: updatePassword.template.email.theme.json 1`] = ` +{ + "css": { + "updatePassword": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "updatePassword": { + "en": "

Verify email to update password

Update password link

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationAssigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationAssigned.template.email.theme.json 1`] = ` +{ + "css": { + "violationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationAssigned": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationEscalated.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationEscalated.template.email.theme.json 1`] = ` +{ + "css": { + "violationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationEscalated": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationExpired.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationExpired.template.email.theme.json 1`] = ` +{ + "css": { + "violationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationExpired": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationReassigned.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationReassigned.template.email.theme.json 1`] = ` +{ + "css": { + "violationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationReassigned": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationReminder.template.email.json 1`] = ` +{ + "emailTemplate": { + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: violationReminder.template.email.theme.json 1`] = ` +{ + "css": { + "violationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + }, + "html": { + "violationReminder": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files as well as their themes: welcome.template.email.theme.json 1`] = ` +{ + "css": { + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, + "meta": Any, +} +`; + +exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file with a separate file for the HTML and CSS in the directory emailTemplateExportTestDir2 1`] = `0`; + +exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file with a separate file for the HTML and CSS in the directory emailTemplateExportTestDir2 2`] = `""`; + +exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file with a separate file for the HTML and CSS in the directory emailTemplateExportTestDir2: emailTemplateExportTestDir2/allEmailTemplates.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Assigned", + }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Removed", + }, + }, + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "subject": { + "en": "Update your password", + }, + }, + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file with a separate file for the HTML and CSS in the directory emailTemplateExportTestDir2: emailTemplateExportTestDir2/allEmailTemplates.template.email.theme.json 1`] = ` +{ + "css": { + "certificationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "certificationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "delegationRemoved": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "forgottenUsername": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "frodoTestEmailTemplateFour": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "registration": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "requestAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "requestReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "staffNe1AccountCreation": " ", + "staffNe2AccountCreationPassword": " ", + "staffNe3Attestation": " ", + "undefined": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "updatePassword": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "violationAssigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationEscalated": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationExpired": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReassigned": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "violationReminder": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "certificationAssigned": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "certificationEscalated": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "certificationExpired": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "certificationReassigned": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "certificationReminder": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "delegationAssigned": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "delegationRemoved": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "forgottenUsername": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "frodoTestEmailTemplateFour": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "registration": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "requestAssigned": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "requestEscalated": { + "en": "
A request approval has been escalated to your attention.
", + }, + "requestExpired": { + "en": "
A request approval assigned to you has expired.
", + }, + "requestReassigned": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "requestReminder": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "staffNe1AccountCreation": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe2AccountCreationPassword": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "staffNe3Attestation": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "undefined": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "updatePassword": { + "en": "

Verify email to update password

Update password link

", + }, + "violationAssigned": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "violationEscalated": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "violationExpired": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "violationReassigned": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "violationReminder": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -NaxD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2 1`] = `0`; + +exports[`frodo email template export "frodo email template export -NaxD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2 2`] = `""`; + +exports[`frodo email template export "frodo email template export -NaxD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2: emailTemplateExportTestDir2/allEmailTemplates.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Assigned", + }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Removed", + }, + }, + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval has been escalated to your attention.
", + }, + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you has expired.
", + }, + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "styles": " ", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "styles": " ", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "styles": " ", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Verify email to update password

Update password link

", + }, + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Update your password", + }, + }, + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Violation", + }, + }, + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Reassigned", + }, + }, + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to make decision on violation", + }, + }, + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 with a separate file for the HTML and CSS 1`] = `0`; + +exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 with a separate file for the HTML and CSS 2`] = `""`; + +exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 with a separate file for the HTML and CSS: emailTemplateExportTestDir1/welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 with a separate file for the HTML and CSS: emailTemplateExportTestDir1/welcome.template.email.theme.json 1`] = ` +{ + "css": { + "welcome": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + }, + "html": { + "welcome": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -Ni welcome -x -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 1`] = `0`; + +exports[`frodo email template export "frodo email template export -Ni welcome -x -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 2`] = `""`; + +exports[`frodo email template export "frodo email template export -Ni welcome -x -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1: emailTemplateExportTestDir1/welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Your account has been created", + }, + }, + }, +} +`; + +exports[`frodo email template export "frodo email template export -a -x": should export all email templates to a single file 1`] = `0`; + +exports[`frodo email template export "frodo email template export -a -x": should export all email templates to a single file 2`] = `""`; + +exports[`frodo email template export "frodo email template export -a -x": should export all email templates to a single file: allEmailTemplates.template.email.json 1`] = ` +{ + "emailTemplate": { + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", + "enabled": true, + "from": "", + "message": { + "en": "

This is your one-time password:

{{object.description}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "One-Time Password for login", + }, + }, + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", + "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", + "enabled": true, + "from": "", + "message": { + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", + }, + "mimeType": "text/html", + "subject": { + "en": "Multi-Factor Email for Identity Cloud login", + }, + }, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Assigned", + }, + }, + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", + }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "message": { + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Certification Task", + }, + }, + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "message": { + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Certification Task", + }, + }, + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Assigned", + }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Delegation Removed", + }, + }, + "forgottenUsername": { + "_id": "emailTemplate/forgottenUsername", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "message": { + "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", + "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Account Information - username", + "fr": "Informations sur le compte - nom d'utilisateur", + }, + }, + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "registration": { + "_id": "emailTemplate/registration", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "message": { + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Register new account", + "fr": "Créer un nouveau compte", + }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
", + }, + "message": { + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Assigned", + }, + }, + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval has been escalated to your attention.
", + }, + "message": { + "en": "A request approval has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Escalation", + }, + }, + "requestExpired": { + "_id": "emailTemplate/requestExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you has expired.
", + }, + "message": { + "en": " A request approval assigned to you has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Request", + }, + }, + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
", + }, + "message": { + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Request Reassigned", + }, + }, + "requestReminder": { + "_id": "emailTemplate/requestReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A request approval assigned to you is awaiting your action.
", + }, + "message": { + "en": "A request approval assigned to you is awaiting your action.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Reminder to complete Request", + }, + }, + "resetPassword": { + "_id": "emailTemplate/resetPassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + }, + "mimeType": "text/html", + "subject": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", + }, + }, + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "styles": " ", + "subject": { + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", + }, + "templateId": "staffNe1AccountCreation", + }, + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe1AccountCreation", + "styles": " ", + "subject": { + "en": "Non-Employee Account Information", + }, + "templateId": "staffNe2AccountCreationPassword", + }, + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-3-Attestation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "html": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "message": { + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", + }, + "mimeType": "text/html", + "name": "staffNe2AccountCreationPassword", + "styles": " ", + "subject": { + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", + }, + "templateId": "staffNe3Attestation", + }, + "undefined": { + "_id": "emailTemplate/undefined", + "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", + "enabled": true, + "from": ""From" ", + "html": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "message": { + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + a { + text-decoration: none; + color: #109cf1; +} + .content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "Subject", + }, + "templateId": "frodoTestEmailTemplateFour", + }, + "updatePassword": { + "_id": "emailTemplate/updatePassword", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "

Verify email to update password

Update password link

", + }, + "message": { + "en": "

Verify email to update password

Update password link

", + }, + "mimeType": "text/html", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "subject": { + "en": "Update your password", + }, + }, + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
", + }, + "message": { + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Assigned", + }, + }, + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
", + }, + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Violation Escalation", + }, + }, + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "html": { + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
", + }, + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", + }, + "mimeType": "text/html", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", + "subject": { + "en": "ATTENTION: Expiration of Violation", }, }, - "resetPassword": { - "_id": "emailTemplate/resetPassword", + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", "defaultLocale": "en", "enabled": true, "from": "", - "message": { - "en": "

Click to reset your password

Password reset link

", - "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", - }, - "mimeType": "text/html", - "subject": { - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe", + "html": { + "en": "
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
", }, - }, - "testTemplate": { - "_id": "emailTemplate/testTemplate", - "advancedEditor": true, - "defaultLocale": "en", - "description": "Test description", - "displayName": "TestTemplate", - "enabled": false, - "from": ""Test From" ", - "html": { - "en": "", - "es": "", - }, - "message": { - "en": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", - "es": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", }, "mimeType": "text/html", "styles": "body { - background-color: #324054; - color: #455469; - padding: 60px; - text-align: center + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center } - a { - text-decoration: none; - color: #109cf1; + +a { + text-decoration: none; + color: #109cf1; } - .content { - background-color: #fff; - border-radius: 4px; - margin: 0 auto; - padding: 48px; - width: 235px + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px } ", "subject": { - "en": "", - "es": "", + "en": "ATTENTION: Violation Reassigned", }, - "templateId": "testTemplate", }, - "updatePassword": { - "_id": "emailTemplate/updatePassword", + "violationReminder": { + "_id": "emailTemplate/violationReminder", "defaultLocale": "en", "enabled": true, "from": "", "html": { - "en": "

Verify email to update password

Update password link

", + "en": "
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
", }, "message": { - "en": "

Verify email to update password

Update password link

", + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "styles": "body { + background-color: #324054; + color: #455469; + padding: 60px; + text-align: center +} + +a { + text-decoration: none; + color: #109cf1; +} + +.content { + background-color: #fff; + border-radius: 4px; + margin: 0 auto; + padding: 48px; + width: 235px +} +", "subject": { - "en": "Update your password", + "en": "ATTENTION: Reminder to make decision on violation", }, }, "welcome": { "_id": "emailTemplate/welcome", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", + "from": "", "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "

Welcome. Your username is '{{object.userName}}'.

", }, "message": { "en": "

Welcome. Your username is '{{object.userName}}'.

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { "en": "Your account has been created", }, @@ -182,536 +10193,259 @@ a{ } `; -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3 1`] = `0`; +exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file with a separate file for the HTML and CSS 1`] = `0`; -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3 2`] = `""`; +exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file with a separate file for the HTML and CSS 2`] = `""`; -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/forgottenUsername.template.email.json 1`] = ` +exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file with a separate file for the HTML and CSS: allEmailTemplates.template.email.json 1`] = ` { "emailTemplate": { - "forgottenUsername": { - "_id": "emailTemplate/forgottenUsername", + "FrodoTestEmailTemplate1": { + "_id": "emailTemplate/FrodoTestEmailTemplate1", "defaultLocale": "en", + "displayName": "Frodo Test Email Template One", "enabled": true, "from": "", - "html": { - "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", - }, "message": { - "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + "en": "

Click to reset your password

Password reset link

", + "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Account Information - username", - "fr": "Informations sur le compte - nom d'utilisateur", + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe", }, }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/registration.template.email.json 1`] = ` -{ - "emailTemplate": { - "registration": { - "_id": "emailTemplate/registration", + "FrodoTestEmailTemplate2": { + "_id": "emailTemplate/FrodoTestEmailTemplate2", "defaultLocale": "en", + "displayName": "Frodo Test Email Template Two", "enabled": true, "from": "", - "html": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", - }, "message": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + "en": "

This is your one-time password:

{{object.description}}

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Register new account", - "fr": "Créer un nouveau compte", + "en": "One-Time Password for login", }, }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/resetPassword.template.email.json 1`] = ` -{ - "emailTemplate": { - "resetPassword": { - "_id": "emailTemplate/resetPassword", + "FrodoTestEmailTemplate3": { + "_id": "emailTemplate/FrodoTestEmailTemplate3", "defaultLocale": "en", + "displayName": "Frodo Test Email Template Three", "enabled": true, "from": "", "message": { - "en": "

Click to reset your password

Password reset link

", - "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + "en": "

You started a login or profile update that requires MFA.

Click to Proceed

", }, "mimeType": "text/html", "subject": { - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe", + "en": "Multi-Factor Email for Identity Cloud login", }, }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/testTemplate.template.email.json 1`] = ` -{ - "emailTemplate": { - "testTemplate": { - "_id": "emailTemplate/testTemplate", - "advancedEditor": true, + "certificationAssigned": { + "_id": "emailTemplate/certificationAssigned", "defaultLocale": "en", - "description": "Test description", - "displayName": "TestTemplate", - "enabled": false, - "from": ""Test From" ", - "html": { - "en": "", - "es": "", - }, + "enabled": true, + "from": "", "message": { - "en": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", - "es": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.", }, "mimeType": "text/html", - "styles": "body { - background-color: #324054; - color: #455469; - padding: 60px; - text-align: center -} - a { - text-decoration: none; - color: #109cf1; -} - .content { - background-color: #fff; - border-radius: 4px; - margin: 0 auto; - padding: 48px; - width: 235px -} -", "subject": { - "en": "", - "es": "", + "en": "ATTENTION: Certification Task Assigned", }, - "templateId": "testTemplate", }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/updatePassword.template.email.json 1`] = ` -{ - "emailTemplate": { - "updatePassword": { - "_id": "emailTemplate/updatePassword", + "certificationEscalated": { + "_id": "emailTemplate/certificationEscalated", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

Verify email to update password

Update password link

", + "message": { + "en": "One or more certification tasks for {{object.campaign.name}} have been escalated to you.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task(s) Escalation", }, + }, + "certificationExpired": { + "_id": "emailTemplate/certificationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", "message": { - "en": "

Verify email to update password

Update password link

", + "en": "Your certification task for {{object.campaign.name}} has expired due to inactivity.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Update your password", + "en": "ATTENTION: Expiration of Certification Task", }, }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3: emailTemplateExportTestDir3/welcome.template.email.json 1`] = ` -{ - "emailTemplate": { - "welcome": { - "_id": "emailTemplate/welcome", + "certificationReassigned": { + "_id": "emailTemplate/certificationReassigned", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "from": "", + "message": { + "en": "Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.", }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Certification Task Reassigned", + }, + }, + "certificationReminder": { + "_id": "emailTemplate/certificationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", "message": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "This is a reminder to complete your certification task for {{object.campaign.name}}.", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", "subject": { - "en": "Your account has been created", + "en": "ATTENTION: Reminder to complete Certification Task", }, }, - }, -} -`; - -exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome" 1`] = `0`; - -exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome" 2`] = `""`; - -exports[`frodo email template export "frodo email template export --template-id welcome": should export the email template with email id "welcome": welcome.template.email.json 1`] = ` -{ - "emailTemplate": { - "welcome": { - "_id": "emailTemplate/welcome", + "delegationAssigned": { + "_id": "emailTemplate/delegationAssigned", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "from": "", + "message": { + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
+Start Date: {{object.startDate}}
+End Date: {{object.endDate}}

", + }, + "mimeType": "text/html", + "subject": { + "en": "Delegation Assigned", }, + }, + "delegationRemoved": { + "_id": "emailTemplate/delegationRemoved", + "defaultLocale": "en", + "enabled": true, + "from": "", "message": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", "subject": { - "en": "Your account has been created", + "en": "Delegation Removed", }, }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files 1`] = `0`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files 2`] = `""`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: forgottenUsername.template.email.json 1`] = ` -{ - "emailTemplate": { "forgottenUsername": { "_id": "emailTemplate/forgottenUsername", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", - }, "message": { "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { "en": "Account Information - username", "fr": "Informations sur le compte - nom d'utilisateur", }, }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: registration.template.email.json 1`] = ` -{ - "emailTemplate": { - "registration": { - "_id": "emailTemplate/registration", + "frodoTestEmailTemplateFour": { + "_id": "emailTemplate/frodoTestEmailTemplateFour", "defaultLocale": "en", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", "enabled": true, - "from": "", - "html": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", - }, + "from": ""From" ", "message": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Register new account", - "fr": "Créer un nouveau compte", + "en": "Subject", }, + "templateId": "frodoTestEmailTemplateFour", }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: resetPassword.template.email.json 1`] = ` -{ - "emailTemplate": { - "resetPassword": { - "_id": "emailTemplate/resetPassword", + "registration": { + "_id": "emailTemplate/registration", "defaultLocale": "en", "enabled": true, "from": "", "message": { - "en": "

Click to reset your password

Password reset link

", - "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + "en": "

This is your registration email.

Email verification link

", + "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", }, "mimeType": "text/html", "subject": { - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe", - }, - }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: testTemplate.template.email.json 1`] = ` -{ - "emailTemplate": { - "testTemplate": { - "_id": "emailTemplate/testTemplate", - "advancedEditor": true, - "defaultLocale": "en", - "description": "Test description", - "displayName": "TestTemplate", - "enabled": false, - "from": ""Test From" ", - "html": { - "en": "", - "es": "", + "en": "Register new account", + "fr": "Créer un nouveau compte", }, + }, + "requestAssigned": { + "_id": "emailTemplate/requestAssigned", + "defaultLocale": "en", + "enabled": true, + "from": "", "message": { - "en": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", - "es": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", + "en": ">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", }, "mimeType": "text/html", - "styles": "body { - background-color: #324054; - color: #455469; - padding: 60px; - text-align: center -} - a { - text-decoration: none; - color: #109cf1; -} - .content { - background-color: #fff; - border-radius: 4px; - margin: 0 auto; - padding: 48px; - width: 235px -} -", "subject": { - "en": "", - "es": "", + "en": "ATTENTION: Request Assigned", }, - "templateId": "testTemplate", }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: updatePassword.template.email.json 1`] = ` -{ - "emailTemplate": { - "updatePassword": { - "_id": "emailTemplate/updatePassword", + "requestEscalated": { + "_id": "emailTemplate/requestEscalated", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

Verify email to update password

Update password link

", - }, "message": { - "en": "

Verify email to update password

Update password link

", + "en": "A request approval has been escalated to your attention.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Update your password", + "en": "ATTENTION: Request Escalation", }, }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -A": should export all email templates to separate files: welcome.template.email.json 1`] = ` -{ - "emailTemplate": { - "welcome": { - "_id": "emailTemplate/welcome", + "requestExpired": { + "_id": "emailTemplate/requestExpired", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", - }, + "from": "", "message": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": " A request approval assigned to you has expired.", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", "subject": { - "en": "Your account has been created", + "en": "ATTENTION: Expiration of Request", }, }, - }, - "meta": Any, -} -`; - -exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2 1`] = `0`; - -exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2 2`] = `""`; - -exports[`frodo email template export "frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2: emailTemplateExportTestDir2/allEmailTemplates.template.email.json 1`] = ` -{ - "emailTemplate": { - "forgottenUsername": { - "_id": "emailTemplate/forgottenUsername", + "requestReassigned": { + "_id": "emailTemplate/requestReassigned", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", - }, "message": { - "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + "en": "A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Account Information - username", - "fr": "Informations sur le compte - nom d'utilisateur", + "en": "ATTENTION: Request Reassigned", }, }, - "registration": { - "_id": "emailTemplate/registration", + "requestReminder": { + "_id": "emailTemplate/requestReminder", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", - }, "message": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + "en": "A request approval assigned to you is awaiting your action.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Register new account", - "fr": "Créer un nouveau compte", + "en": "ATTENTION: Reminder to complete Request", }, }, "resetPassword": { @@ -729,344 +10463,191 @@ exports[`frodo email template export "frodo email template export -NaD emailTemp "fr": "Réinitialisez votre mot de passe", }, }, - "testTemplate": { - "_id": "emailTemplate/testTemplate", - "advancedEditor": true, - "defaultLocale": "en", - "description": "Test description", - "displayName": "TestTemplate", - "enabled": false, - "from": ""Test From" ", - "html": { - "en": "", - "es": "", - }, - "message": { - "en": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", - "es": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", + "staffNe1AccountCreation": { + "_id": "emailTemplate/staffNe1AccountCreation", + "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-1-AccountCreation", + "enabled": true, + "from": "TechSupportPortal@fcps.edu", + "message": { + "en": "
Non-Employee Account Created +

+ Welcome to FCPS! +

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
+Manager Name: {{object.manager}}
+Destination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, "I agree to these policies and directives."

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", }, "mimeType": "text/html", - "styles": "body { - background-color: #324054; - color: #455469; - padding: 60px; - text-align: center -} - a { - text-decoration: none; - color: #109cf1; -} - .content { - background-color: #fff; - border-radius: 4px; - margin: 0 auto; - padding: 48px; - width: 235px -} -", "subject": { - "en": "", - "es": "", + "en": "Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}", }, - "templateId": "testTemplate", + "templateId": "staffNe1AccountCreation", }, - "updatePassword": { - "_id": "emailTemplate/updatePassword", + "staffNe2AccountCreationPassword": { + "_id": "emailTemplate/staffNe2AccountCreationPassword", "defaultLocale": "en", + "description": "", + "displayName": "StaffNE-2-AccountCreationPassword", "enabled": true, - "from": "", - "html": { - "en": "

Verify email to update password

Update password link

", - }, + "from": "TechSupportPortal@fcps.edu", "message": { - "en": "

Verify email to update password

Update password link

", + "en": "

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", + "name": "staffNe1AccountCreation", "subject": { - "en": "Update your password", + "en": "Non-Employee Account Information", }, + "templateId": "staffNe2AccountCreationPassword", }, - "welcome": { - "_id": "emailTemplate/welcome", + "staffNe3Attestation": { + "_id": "emailTemplate/staffNe3Attestation", "defaultLocale": "en", - "displayName": "Welcome", + "description": "", + "displayName": "StaffNE-3-Attestation", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", - }, + "from": "TechSupportPortal@fcps.edu", "message": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria: +
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue. +
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues."

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", + "name": "staffNe2AccountCreationPassword", "subject": { - "en": "Your account has been created", + "en": "Account Verification Reminder for {{object.displayName}} - $expireDays$ days left", }, + "templateId": "staffNe3Attestation", }, - }, -} -`; - -exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 1`] = `0`; - -exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 2`] = `""`; - -exports[`frodo email template export "frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1: emailTemplateExportTestDir1/welcome.template.email.json 1`] = ` -{ - "emailTemplate": { - "welcome": { - "_id": "emailTemplate/welcome", + "undefined": { + "_id": "emailTemplate/undefined", "defaultLocale": "en", - "displayName": "Welcome", + "description": "Frodo email template four", + "displayName": "Frodo Test Email Template Four", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", - }, + "from": ""From" ", "message": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "

alt text

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", "subject": { - "en": "Your account has been created", + "en": "Subject", }, + "templateId": "frodoTestEmailTemplateFour", }, - }, -} -`; - -exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file 1`] = `0`; - -exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file 2`] = `""`; - -exports[`frodo email template export "frodo email template export -a": should export all email templates to a single file: allEmailTemplates.template.email.json 1`] = ` -{ - "emailTemplate": { - "forgottenUsername": { - "_id": "emailTemplate/forgottenUsername", + "updatePassword": { + "_id": "emailTemplate/updatePassword", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", - }, "message": { - "en": "

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

", - "fr": "
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

", + "en": "

Verify email to update password

Update password link

", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Account Information - username", - "fr": "Informations sur le compte - nom d'utilisateur", + "en": "Update your password", }, }, - "registration": { - "_id": "emailTemplate/registration", + "violationAssigned": { + "_id": "emailTemplate/violationAssigned", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", - }, "message": { - "en": "

This is your registration email.

Email verification link

", - "fr": "

Ceci est votre mail d'inscription.

Lien de vérification email

", + "en": "A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Register new account", - "fr": "Créer un nouveau compte", + "en": "ATTENTION: Violation Assigned", }, }, - "resetPassword": { - "_id": "emailTemplate/resetPassword", + "violationEscalated": { + "_id": "emailTemplate/violationEscalated", "defaultLocale": "en", "enabled": true, "from": "", "message": { - "en": "

Click to reset your password

Password reset link

", - "fr": "

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

", + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.", }, "mimeType": "text/html", "subject": { - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe", + "en": "ATTENTION: Violation Escalation", }, }, - "testTemplate": { - "_id": "emailTemplate/testTemplate", - "advancedEditor": true, - "defaultLocale": "en", - "description": "Test description", - "displayName": "TestTemplate", - "enabled": false, - "from": ""Test From" ", - "html": { - "en": "", - "es": "", - }, - "message": { - "en": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", - "es": " - - -
-

- alt text -

-

Email Title

-

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

-
- - ", + "violationExpired": { + "_id": "emailTemplate/violationExpired", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.", }, "mimeType": "text/html", - "styles": "body { - background-color: #324054; - color: #455469; - padding: 60px; - text-align: center -} - a { - text-decoration: none; - color: #109cf1; -} - .content { - background-color: #fff; - border-radius: 4px; - margin: 0 auto; - padding: 48px; - width: 235px -} -", "subject": { - "en": "", - "es": "", + "en": "ATTENTION: Expiration of Violation", }, - "templateId": "testTemplate", }, - "updatePassword": { - "_id": "emailTemplate/updatePassword", + "violationReassigned": { + "_id": "emailTemplate/violationReassigned", "defaultLocale": "en", "enabled": true, "from": "", - "html": { - "en": "

Verify email to update password

Update password link

", + "message": { + "en": "The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.", + }, + "mimeType": "text/html", + "subject": { + "en": "ATTENTION: Violation Reassigned", }, + }, + "violationReminder": { + "_id": "emailTemplate/violationReminder", + "defaultLocale": "en", + "enabled": true, + "from": "", "message": { - "en": "

Verify email to update password

Update password link

", + "en": "The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.", }, "mimeType": "text/html", - "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { - "en": "Update your password", + "en": "ATTENTION: Reminder to make decision on violation", }, }, "welcome": { "_id": "emailTemplate/welcome", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", - "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", - }, + "from": "", "message": { "en": "

Welcome. Your username is '{{object.userName}}'.

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px + "subject": { + "en": "Your account has been created", + }, + }, + }, + "meta": Any, } -", +`; + +exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json with a separate file for the HTML and CSS 1`] = `0`; + +exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json with a separate file for the HTML and CSS 2`] = `""`; + +exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json with a separate file for the HTML and CSS: my-welcome.template.email.json 1`] = ` +{ + "emailTemplate": { + "welcome": { + "_id": "emailTemplate/welcome", + "defaultLocale": "en", + "enabled": true, + "from": "", + "message": { + "en": "

Welcome. Your username is '{{object.userName}}'.

", + }, + "mimeType": "text/html", "subject": { "en": "Your account has been created", }, @@ -1076,44 +10657,26 @@ a{ } `; -exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json 1`] = `0`; +exports[`frodo email template export "frodo email template export -i welcome -x -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json 1`] = `0`; -exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json 2`] = `""`; +exports[`frodo email template export "frodo email template export -i welcome -x -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json 2`] = `""`; -exports[`frodo email template export "frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json: my-welcome.template.email.json 1`] = ` +exports[`frodo email template export "frodo email template export -i welcome -x -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json: my-welcome.template.email.json 1`] = ` { "emailTemplate": { "welcome": { "_id": "emailTemplate/welcome", "defaultLocale": "en", - "displayName": "Welcome", "enabled": true, - "from": "saas@forgerock.com", + "from": "", "html": { - "en": "

Welcome. Your username is '{{object.userName}}'.

", + "en": "

Welcome. Your username is '{{object.userName}}'.

", }, "message": { "en": "

Welcome. Your username is '{{object.userName}}'.

", }, "mimeType": "text/html", - "styles": "body{ - background-color:#324054; - color:#5e6d82; - padding:60px; - text-align:center -} -a{ - text-decoration:none; - color:#109cf1 -} -.content{ - background-color:#fff; - border-radius:4px; - margin:0 auto; - padding:48px; - width:235px -} -", + "styles": "body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}", "subject": { "en": "Your account has been created", }, diff --git a/test/e2e/email-template-export.e2e.test.js b/test/e2e/email-template-export.e2e.test.js index 9b4f27d2d..ca2db8cd0 100644 --- a/test/e2e/email-template-export.e2e.test.js +++ b/test/e2e/email-template-export.e2e.test.js @@ -55,6 +55,8 @@ FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgebloc FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo email template export -NaD emailTemplateExportTestDir2 FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo email template export -A FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3 +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo email template export -A -x +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://openam-frodo-dev.forgeblocks.com/am frodo email template export --all-separate --no-extract --no-metadata --directory emailTemplateExportTestDir3 */ import { getEnv, testExport } from './utils/TestUtils'; import { connection as c } from './utils/TestConfig'; @@ -62,52 +64,91 @@ import { connection as c } from './utils/TestConfig'; process.env['FRODO_MOCK'] = '1'; const env = getEnv(c); -const type = 'template.email'; +const type = '(template.email|template.email.theme)'; describe('frodo email template export', () => { - test('"frodo email template export --template-id welcome": should export the email template with email id "welcome"', async () => { + test('"frodo email template export --template-id welcome": should export the email template with email id "welcome" with a separate file for the HTML and CSS', async () => { const exportFile = 'welcome.template.email.json'; const CMD = `frodo email template export --template-id welcome`; await testExport(CMD, env, type, exportFile); }); + test('"frodo email template export --no-extract --template-id welcome": should export the email template with email id "welcome"', async () => { + const exportFile = 'welcome.template.email.json'; + const CMD = `frodo email template export --no-extract --template-id welcome`; + await testExport(CMD, env, type, exportFile); + }); - test('"frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json', async () => { + test('"frodo email template export -i welcome -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json with a separate file for the HTML and CSS', async () => { const exportFile = 'my-welcome.template.email.json'; const CMD = `frodo email template export -i welcome -f ${exportFile}`; await testExport(CMD, env, type, exportFile); }); + test('"frodo email template export -i welcome -x -f my-welcome.template.email.json": should export the email template with email id "welcome" into file named my-welcome.template.email.json', async () => { + const exportFile = 'my-welcome.template.email.json'; + const CMD = `frodo email template export -i welcome -x -f ${exportFile}`; + await testExport(CMD, env, type, exportFile); + }); - test('"frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1', async () => { + test('"frodo email template export -Ni welcome -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1 with a separate file for the HTML and CSS', async () => { const exportDirectory = 'emailTemplateExportTestDir1'; const CMD = `frodo email template export -Ni welcome -D ${exportDirectory}`; await testExport(CMD, env, type, undefined, exportDirectory, false); }); + test('"frodo email template export -Ni welcome -x -D emailTemplateExportTestDir1": should export the email template with email id "welcome" into the directory emailTemplateExportTestDir1', async () => { + const exportDirectory = 'emailTemplateExportTestDir1'; + const CMD = `frodo email template export -Ni welcome -x -D ${exportDirectory}`; + await testExport(CMD, env, type, undefined, exportDirectory, false); + }); - test('"frodo email template export -a": should export all email templates to a single file', async () => { + test('"frodo email template export -a": should export all email templates to a single file with a separate file for the HTML and CSS', async () => { const exportFile = 'allEmailTemplates.template.email.json'; const CMD = `frodo email template export -a`; await testExport(CMD, env, type, exportFile); }); + test('"frodo email template export -a -x": should export all email templates to a single file', async () => { + const exportFile = 'allEmailTemplates.template.email.json'; + const CMD = `frodo email template export -a -x`; + await testExport(CMD, env, type, exportFile); + }); - test('"frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json', async () => { + test('"frodo email template export --all --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json with a separate file for the HTML and CSS', async () => { const exportFile = 'my-allEmailTemplates.template.email.json'; const CMD = `frodo email template export --all --file ${exportFile}`; await testExport(CMD, env, type, exportFile); }); + test('"frodo email template export --all --no-extract --file my-allEmailTemplates.template.email.json": should export all email templates to a single file named my-allEmailTemplates.template.email.json', async () => { + const exportFile = 'my-allEmailTemplates.template.email.json'; + const CMD = `frodo email template export --all --no-extract --file ${exportFile}`; + await testExport(CMD, env, type, exportFile); + }); - test('"frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2', async () => { + test('"frodo email template export -NaD emailTemplateExportTestDir2": should export all email templates to a single file with a separate file for the HTML and CSS in the directory emailTemplateExportTestDir2', async () => { const exportDirectory = 'emailTemplateExportTestDir2'; const CMD = `frodo email template export -NaD ${exportDirectory}`; await testExport(CMD, env, type, undefined, exportDirectory, false); }); + test('"frodo email template export -NaxD emailTemplateExportTestDir2": should export all email templates to a single file in the directory emailTemplateExportTestDir2', async () => { + const exportDirectory = 'emailTemplateExportTestDir2'; + const CMD = `frodo email template export -NaxD ${exportDirectory}`; + await testExport(CMD, env, type, undefined, exportDirectory, false); + }); - test('"frodo email template export -A": should export all email templates to separate files', async () => { + test('"frodo email template export -A": should export all email templates to separate files as well as their themes', async () => { const CMD = `frodo email template export -A`; await testExport(CMD, env, type); }); - test('"frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3', async () => { + test('"frodo email template export -A -x": should export all email templates to separate files', async () => { + const CMD = `frodo email template export -A -x`; + await testExport(CMD, env, type); + }); + test('"frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files as well as their themes in the directory emailTemplateExportTestDir3', async () => { const exportDirectory = 'emailTemplateExportTestDir3'; const CMD = `frodo email template export --all-separate --no-metadata --directory ${exportDirectory}`; await testExport(CMD, env, type, undefined, exportDirectory, false); }); + test('"frodo email template export --all-separate --no-metadata --directory emailTemplateExportTestDir3": should export all email templates to separate files in the directory emailTemplateExportTestDir3', async () => { + const exportDirectory = 'emailTemplateThemeExportTestDir3'; + const CMD = `frodo email template export --all-separate --no-extract --no-metadata --directory ${exportDirectory}`; + await testExport(CMD, env, type, undefined, exportDirectory, false); + }); }); diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/am_1076162899/recording.har index 0ccbf131a..8c5689c7a 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:01 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -133,17 +133,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 779, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:01.651Z", - "time": 171, + "startedDateTime": "2026-06-09T18:54:28.986Z", + "time": 162, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 171 + "wait": 162 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:02 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -284,17 +284,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 780, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:01.968Z", - "time": 92, + "startedDateTime": "2026-06-09T18:54:29.326Z", + "time": 129, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 92 + "wait": 129 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/environment_1072573434/recording.har new file mode 100644 index 000000000..f556cce17 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_A/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:54:29 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "fe41554d-7aa6-448e-93be-291314612748" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:54:29.461Z", + "time": 122, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 122 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/oauth2_393036114/recording.har index 5cf1d5231..715bc1e35 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":898}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:02 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -118,17 +118,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 556, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:01.840Z", - "time": 115, + "startedDateTime": "2026-06-09T18:54:29.163Z", + "time": 156, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 115 + "wait": 156 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/openidm_3290118515/recording.har index 18bfb9cae..a52a6f9c5 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:02 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:02.008Z", - "time": 172, + "startedDateTime": "2026-06-09T18:54:29.362Z", + "time": 191, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 172 + "wait": 191 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:02 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -282,17 +282,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:02.066Z", - "time": 69, + "startedDateTime": "2026-06-09T18:54:29.589Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 69 + "wait": 106 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "authorization", @@ -340,7 +340,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -349,20 +349,20 @@ "value": "_id sw 'emailTemplat'" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 7757, + "bodySize": 33961, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7757, - "text": "{\"result\":[{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/testTemplate\",\"displayName\":\"TestTemplate\",\"from\":\"\\\"Test From\\\" \",\"templateId\":\"testTemplate\",\"defaultLocale\":\"en\",\"enabled\":false,\"html\":{\"en\":\"\",\"es\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \",\"es\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"\",\"es\":\"\"},\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"description\":\"Test description\",\"advancedEditor\":true},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:02 GMT" + "value": "Tue, 09 Jun 2026 18:54:29 GMT" }, { "name": "vary", @@ -408,13 +408,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "7757" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-933378e6-504f-4782-985f-0282e60d2ca4" + "value": "frodo-0a9e3f9e-d3ce-4738-9fd7-71df774421c9" }, { "name": "strict-transport-security", @@ -430,17 +426,21 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 679, + "headersSize": 660, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:02.142Z", - "time": 74, + "startedDateTime": "2026-06-09T18:54:29.700Z", + "time": 136, "timings": { "blocked": -1, "connect": -1, @@ -448,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 136 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/am_1076162899/recording.har new file mode 100644 index 000000000..92c527e14 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_A_x/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:01 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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": 804, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:01.625Z", + "time": 168, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 168 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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": 805, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:01.969Z", + "time": 124, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 124 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/environment_1072573434/recording.har new file mode 100644 index 000000000..90b568d8d --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_A_x/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "5dff6062-9c6b-481f-aa6e-a637770e071d" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:02.100Z", + "time": 116, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 116 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/oauth2_393036114/recording.har new file mode 100644 index 000000000..70ada4839 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_A_x/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:55:01 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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": 581, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:01.807Z", + "time": 156, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 156 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/openidm_3290118515/recording.har new file mode 100644 index 000000000..e1a23dffe --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_A_x_3213102340/openidm_3290118515/recording.har @@ -0,0 +1,458 @@ +{ + "log": { + "_recordingName": "email/template-export/0_A_x/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:02 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:02.006Z", + "time": 183, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 183 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:02 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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": 682, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:02.221Z", + "time": 120, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 120 + } + }, + { + "_id": "778b519855abd745b38438bc349de829", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1944, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + }, + "response": { + "bodySize": 33961, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:02 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" + }, + { + "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": "x-forgerock-transactionid", + "value": "frodo-9d7ee279-a0f2-45f7-830b-772065220874" + }, + { + "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" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 685, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:02.346Z", + "time": 152, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 152 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/am_1076162899/recording.har index ab0475a05..b63a017a7 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -133,17 +133,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 779, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.069Z", - "time": 181, + "startedDateTime": "2026-06-09T18:54:12.635Z", + "time": 161, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 181 + "wait": 161 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:13 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -284,17 +284,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 780, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.374Z", - "time": 82, + "startedDateTime": "2026-06-09T18:54:12.966Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 118 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/environment_1072573434/recording.har new file mode 100644 index 000000000..cefbddb2d --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_NaD/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:54:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "b4ba88e4-b867-43ed-bb51-9543e8c0ea55" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:54:13.090Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/oauth2_393036114/recording.har index bf73ffeb7..6e08cb817 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:12 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -118,17 +118,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 556, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.269Z", - "time": 93, + "startedDateTime": "2026-06-09T18:54:12.810Z", + "time": 150, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 93 + "wait": 150 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/openidm_3290118515/recording.har index 9312b6649..f3140e156 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaD_233614431/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:13 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.414Z", - "time": 188, + "startedDateTime": "2026-06-09T18:54:13.001Z", + "time": 189, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 188 + "wait": 189 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:13 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -282,17 +282,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.461Z", - "time": 82, + "startedDateTime": "2026-06-09T18:54:13.207Z", + "time": 106, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 82 + "wait": 106 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "authorization", @@ -340,7 +340,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -349,20 +349,20 @@ "value": "_id sw 'emailTemplat'" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 7757, + "bodySize": 33961, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7757, - "text": "{\"result\":[{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/testTemplate\",\"displayName\":\"TestTemplate\",\"from\":\"\\\"Test From\\\" \",\"templateId\":\"testTemplate\",\"defaultLocale\":\"en\",\"enabled\":false,\"html\":{\"en\":\"\",\"es\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \",\"es\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"\",\"es\":\"\"},\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"description\":\"Test description\",\"advancedEditor\":true},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:45 GMT" + "value": "Tue, 09 Jun 2026 18:54:13 GMT" }, { "name": "vary", @@ -408,13 +408,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "7757" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-8a95a57f-62fb-4f95-959b-53cb467827c4" + "value": "frodo-3a638842-0ba7-4180-9e7c-1bf092b44b4f" }, { "name": "strict-transport-security", @@ -430,17 +426,21 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 679, + "headersSize": 660, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:45.550Z", - "time": 78, + "startedDateTime": "2026-06-09T18:54:13.319Z", + "time": 136, "timings": { "blocked": -1, "connect": -1, @@ -448,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 78 + "wait": 136 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/am_1076162899/recording.har new file mode 100644 index 000000000..956715b48 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_NaxD/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:34 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:34.746Z", + "time": 186, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 186 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:35.111Z", + "time": 131, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 131 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/environment_1072573434/recording.har new file mode 100644 index 000000000..a51a74e06 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_NaxD/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "d6baeeb2-15ee-47c3-b413-1bfeace553d0" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:35.248Z", + "time": 110, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 110 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/oauth2_393036114/recording.har new file mode 100644 index 000000000..681b48ebf --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_NaxD/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:52:35 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:34.945Z", + "time": 162, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 162 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/openidm_3290118515/recording.har new file mode 100644 index 000000000..474afa0bc --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_NaxD_1192534509/openidm_3290118515/recording.har @@ -0,0 +1,458 @@ +{ + "log": { + "_recordingName": "email/template-export/0_NaxD/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:35 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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": 682, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:35.146Z", + "time": 184, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 184 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:35 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:35.364Z", + "time": 108, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 108 + } + }, + { + "_id": "778b519855abd745b38438bc349de829", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1944, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + }, + "response": { + "bodySize": 33961, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52: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" + }, + { + "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": "x-forgerock-transactionid", + "value": "frodo-e7bfaaeb-9f4a-4d88-a8c7-d26cc1692f33" + }, + { + "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" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 660, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:35.479Z", + "time": 144, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 144 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/am_1076162899/recording.har index 27a1b0a7d..99d971cc9 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:23 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -136,14 +136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 804, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.293Z", - "time": 142, + "startedDateTime": "2026-06-09T18:53:23.692Z", + "time": 178, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 142 + "wait": 178 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:24 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -287,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 805, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.560Z", - "time": 76, + "startedDateTime": "2026-06-09T18:53:24.032Z", + "time": 122, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 122 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/environment_1072573434/recording.har new file mode 100644 index 000000000..4eea0a8f8 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_Ni_D/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:53:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "2d5d1c7f-f3e5-4904-ba0b-515d294201e1" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:53:24.160Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/oauth2_393036114/recording.har index d09db6614..59b4d908f 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:23 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -121,14 +121,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 581, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.452Z", - "time": 101, + "startedDateTime": "2026-06-09T18:53:23.883Z", + "time": 143, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 143 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/openidm_3290118515/recording.har index b7d2ef1f4..c0c0bc92e 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_D_1857086194/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:24 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.598Z", - "time": 130, + "startedDateTime": "2026-06-09T18:53:24.066Z", + "time": 196, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 130 + "wait": 196 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:24 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -291,8 +291,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.641Z", - "time": 71, + "startedDateTime": "2026-06-09T18:53:24.279Z", + "time": 110, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 71 + "wait": 110 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "authorization", @@ -340,24 +340,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1891, + "headersSize": 1923, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" }, "response": { - "bodySize": 879, + "bodySize": 789, "content": { "mimeType": "application/json;charset=utf-8", - "size": 879, - "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}" + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:55 GMT" + "value": "Tue, 09 Jun 2026 18:53:24 GMT" }, { "name": "vary", @@ -405,11 +405,11 @@ }, { "name": "content-length", - "value": "879" + "value": "789" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0947318d-176e-4d04-bdd6-9dfd010d0de3" + "value": "frodo-6d850912-f7b6-45b6-b144-c91581534565" }, { "name": "strict-transport-security", @@ -434,8 +434,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:55.719Z", - "time": 45, + "startedDateTime": "2026-06-09T18:53:24.396Z", + "time": 107, "timings": { "blocked": -1, "connect": -1, @@ -443,7 +443,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 45 + "wait": 107 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/am_1076162899/recording.har new file mode 100644 index 000000000..e25c50367 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_Ni_x_D/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:45 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:45.821Z", + "time": 200, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 200 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:46 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.186Z", + "time": 143, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 143 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/environment_1072573434/recording.har new file mode 100644 index 000000000..efd3d836f --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_Ni_x_D/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:46 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "2dc7dcd1-ad6e-47e9-a37c-91344114938d" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.334Z", + "time": 115, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 115 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/oauth2_393036114/recording.har new file mode 100644 index 000000000..008b13484 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_Ni_x_D/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:51:46 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.036Z", + "time": 143, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 143 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/openidm_3290118515/recording.har new file mode 100644 index 000000000..51978440f --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_Ni_x_D_3772599045/openidm_3290118515/recording.har @@ -0,0 +1,453 @@ +{ + "log": { + "_recordingName": "email/template-export/0_Ni_x_D/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:46 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.223Z", + "time": 196, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 196 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:46 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.456Z", + "time": 117, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 117 + } + }, + { + "_id": "76be78f43255ef6c7f0ec368787fd6fa", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1923, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" + }, + "response": { + "bodySize": 789, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:46 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" + }, + { + "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": "789" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8c5a7316-f634-4aa9-bd25-51df7d8c68d8" + }, + { + "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" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:46.580Z", + "time": 105, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 105 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/am_1076162899/recording.har index a6f37d47b..150c97e34 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -133,17 +133,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 779, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:11.877Z", - "time": 207, + "startedDateTime": "2026-06-09T18:53:40.015Z", + "time": 161, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 207 + "wait": 161 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -284,17 +284,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 780, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:12.292Z", - "time": 77, + "startedDateTime": "2026-06-09T18:53:40.334Z", + "time": 117, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 117 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/environment_1072573434/recording.har new file mode 100644 index 000000000..9c52b90f4 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_a/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:53:40 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "31715fac-49a5-4f47-a552-7aee7b46317d" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:53:40.457Z", + "time": 127, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 127 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/oauth2_393036114/recording.har index f13e4057f..f92531f4d 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -118,17 +118,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 556, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:12.104Z", - "time": 179, + "startedDateTime": "2026-06-09T18:53:40.190Z", + "time": 136, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 179 + "wait": 136 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/openidm_3290118515/recording.har index e0d8f7ae6..5a3202990 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -143,8 +143,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:12.318Z", - "time": 197, + "startedDateTime": "2026-06-09T18:53:40.369Z", + "time": 183, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 197 + "wait": 183 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -282,17 +282,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:12.373Z", - "time": 141, + "startedDateTime": "2026-06-09T18:53:40.591Z", + "time": 102, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 141 + "wait": 102 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "authorization", @@ -340,7 +340,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -349,20 +349,20 @@ "value": "_id sw 'emailTemplat'" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 7757, + "bodySize": 33961, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7757, - "text": "{\"result\":[{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/testTemplate\",\"displayName\":\"TestTemplate\",\"from\":\"\\\"Test From\\\" \",\"templateId\":\"testTemplate\",\"defaultLocale\":\"en\",\"enabled\":false,\"html\":{\"en\":\"\",\"es\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \",\"es\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"\",\"es\":\"\"},\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"description\":\"Test description\",\"advancedEditor\":true},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:12 GMT" + "value": "Tue, 09 Jun 2026 18:53:40 GMT" }, { "name": "vary", @@ -408,13 +408,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "7757" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-848baf00-e2a7-4c7b-85e8-3e6618ed90e7" + "value": "frodo-491f6ebd-1930-4a9e-b785-097b95fbb887" }, { "name": "strict-transport-security", @@ -430,17 +426,21 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 679, + "headersSize": 660, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:12.518Z", - "time": 56, + "startedDateTime": "2026-06-09T18:53:40.699Z", + "time": 125, "timings": { "blocked": -1, "connect": -1, @@ -448,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 125 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/am_1076162899/recording.har new file mode 100644 index 000000000..4a5eb89ea --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_a_x/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.151Z", + "time": 173, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 173 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.496Z", + "time": 129, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 129 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/environment_1072573434/recording.har new file mode 100644 index 000000000..cdec5d985 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_a_x/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "07698b49-54fc-4e94-94d1-6f10d81d2709" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.631Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/oauth2_393036114/recording.har new file mode 100644 index 000000000..36a5ef1df --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_a_x/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.338Z", + "time": 152, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 152 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/openidm_3290118515/recording.har new file mode 100644 index 000000000..23dab5519 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_a_x_1570194980/openidm_3290118515/recording.har @@ -0,0 +1,458 @@ +{ + "log": { + "_recordingName": "email/template-export/0_a_x/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.530Z", + "time": 198, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 198 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.749Z", + "time": 113, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 113 + } + }, + { + "_id": "778b519855abd745b38438bc349de829", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1944, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + }, + "response": { + "bodySize": 33961, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:02 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" + }, + { + "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": "x-forgerock-transactionid", + "value": "frodo-5c9f0a82-e300-4609-b24e-353a19fd38ce" + }, + { + "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" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 660, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:02.868Z", + "time": 140, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 140 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/am_1076162899/recording.har new file mode 100644 index 000000000..d0ca059d2 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all-separate_no-extract_no-metadata_directory/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:17.934Z", + "time": 174, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 174 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.270Z", + "time": 146, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 146 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/environment_1072573434/recording.har new file mode 100644 index 000000000..a4e6c8b40 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all-separate_no-extract_no-metadata_directory/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "e3ea144a-1279-4fd3-aa1a-3e9fcf4d3b9b" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.422Z", + "time": 120, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 120 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/oauth2_393036114/recording.har new file mode 100644 index 000000000..ad566ebe8 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all-separate_no-extract_no-metadata_directory/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.122Z", + "time": 143, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 143 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/openidm_3290118515/recording.har new file mode 100644 index 000000000..d05af84fb --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-extract_no-metadata_directory_4254046731/openidm_3290118515/recording.har @@ -0,0 +1,458 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all-separate_no-extract_no-metadata_directory/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.305Z", + "time": 188, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 188 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.549Z", + "time": 116, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 116 + } + }, + { + "_id": "778b519855abd745b38438bc349de829", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1944, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + }, + "response": { + "bodySize": 33961, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:55:18 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" + }, + { + "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": "x-forgerock-transactionid", + "value": "frodo-9897ef31-9bc8-45dd-a3e8-6285ee4f7bc2" + }, + { + "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" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 660, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:55:18.672Z", + "time": 133, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 133 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/am_1076162899/recording.har index 46b9aa073..f4e649f78 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -136,14 +136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 804, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.225Z", - "time": 159, + "startedDateTime": "2026-06-09T18:54:45.301Z", + "time": 176, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 159 + "wait": 176 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -287,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 805, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.541Z", - "time": 73, + "startedDateTime": "2026-06-09T18:54:45.649Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 73 + "wait": 118 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/environment_1072573434/recording.har new file mode 100644 index 000000000..72ef949f3 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all-separate_no-metadata_directory/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:54:45 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "6ff9a56d-1309-4cc8-b983-15a0d7379dde" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:54:45.771Z", + "time": 124, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 124 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/oauth2_393036114/recording.har index 98d36315d..9efd9d03a 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:45 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -121,14 +121,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 581, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.395Z", - "time": 136, + "startedDateTime": "2026-06-09T18:54:45.489Z", + "time": 154, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 136 + "wait": 154 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/openidm_3290118515/recording.har index 85e1ed91d..0738d0cca 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all-separate_no-metadata_directory_1438635135/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:45 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.566Z", - "time": 155, + "startedDateTime": "2026-06-09T18:54:45.683Z", + "time": 186, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 155 + "wait": 186 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:45 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -291,8 +291,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.619Z", - "time": 64, + "startedDateTime": "2026-06-09T18:54:45.900Z", + "time": 117, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 64 + "wait": 117 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "authorization", @@ -340,7 +340,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -349,20 +349,20 @@ "value": "_id sw 'emailTemplat'" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 7757, + "bodySize": 33961, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7757, - "text": "{\"result\":[{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/testTemplate\",\"displayName\":\"TestTemplate\",\"from\":\"\\\"Test From\\\" \",\"templateId\":\"testTemplate\",\"defaultLocale\":\"en\",\"enabled\":false,\"html\":{\"en\":\"\",\"es\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \",\"es\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"\",\"es\":\"\"},\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"description\":\"Test description\",\"advancedEditor\":true},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:51:18 GMT" + "value": "Tue, 09 Jun 2026 18:54:46 GMT" }, { "name": "vary", @@ -408,13 +408,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "7757" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-98209ccd-908a-4fa4-931b-0f8ec4983915" + "value": "frodo-f315bbb5-234d-4ef4-9bba-a7080848f3d0" }, { "name": "strict-transport-security", @@ -431,16 +427,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 679, + "headersSize": 685, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:51:18.689Z", - "time": 77, + "startedDateTime": "2026-06-09T18:54:46.023Z", + "time": 137, "timings": { "blocked": -1, "connect": -1, @@ -448,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 77 + "wait": 137 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/am_1076162899/recording.har index 06ca725fb..1b5ecbb7e 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:28 GMT" + "value": "Tue, 09 Jun 2026 18:53:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -136,14 +136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 804, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.509Z", - "time": 134, + "startedDateTime": "2026-06-09T18:53:56.321Z", + "time": 182, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 134 + "wait": 182 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:28 GMT" + "value": "Tue, 09 Jun 2026 18:53:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -287,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 805, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.765Z", - "time": 72, + "startedDateTime": "2026-06-09T18:53:56.672Z", + "time": 134, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 134 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/environment_1072573434/recording.har new file mode 100644 index 000000000..7ccd3fd56 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all_file/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:53:56 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "1c25b836-4c8f-4054-a897-f2dbc40b1cdb" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:53:56.812Z", + "time": 134, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 134 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/oauth2_393036114/recording.har index ea57650ff..43a25e6bc 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:28 GMT" + "value": "Tue, 09 Jun 2026 18:53:56 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -121,14 +121,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 581, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.657Z", - "time": 101, + "startedDateTime": "2026-06-09T18:53:56.518Z", + "time": 148, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 101 + "wait": 148 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/openidm_3290118515/recording.har index b1f385ec0..596d59c9c 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_file_3124693826/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:28 GMT" + "value": "Tue, 09 Jun 2026 18:53:56 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.798Z", - "time": 133, + "startedDateTime": "2026-06-09T18:53:56.708Z", + "time": 179, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 133 + "wait": 179 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:28 GMT" + "value": "Tue, 09 Jun 2026 18:53:57 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -291,8 +291,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.841Z", - "time": 72, + "startedDateTime": "2026-06-09T18:53:56.952Z", + "time": 119, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 72 + "wait": 119 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "authorization", @@ -340,7 +340,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1912, + "headersSize": 1944, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -349,20 +349,20 @@ "value": "_id sw 'emailTemplat'" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" }, "response": { - "bodySize": 7757, + "bodySize": 33961, "content": { "mimeType": "application/json;charset=utf-8", - "size": 7757, - "text": "{\"result\":[{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/testTemplate\",\"displayName\":\"TestTemplate\",\"from\":\"\\\"Test From\\\" \",\"templateId\":\"testTemplate\",\"defaultLocale\":\"en\",\"enabled\":false,\"html\":{\"en\":\"\",\"es\":\"\"},\"message\":{\"en\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \",\"es\":\"\\n \\n \\n
\\n

\\n \\\"alt\\n

\\n

Email Title

\\n

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\\n
\\n \\n \"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"\",\"es\":\"\"},\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"description\":\"Test description\",\"advancedEditor\":true},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":6,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":6,\"remainingPagedResults\":-1}" + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:50:29 GMT" + "value": "Tue, 09 Jun 2026 18:53:57 GMT" }, { "name": "vary", @@ -408,13 +408,9 @@ "name": "x-frame-options", "value": "DENY" }, - { - "name": "content-length", - "value": "7757" - }, { "name": "x-forgerock-transactionid", - "value": "frodo-c75a8a03-2cd1-4407-9b18-94b899e4a6ce" + "value": "frodo-a1b18ad3-d59e-4410-b64c-6d139002b051" }, { "name": "strict-transport-security", @@ -431,16 +427,20 @@ { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "transfer-encoding", + "value": "chunked" } ], - "headersSize": 679, + "headersSize": 685, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:50:28.918Z", - "time": 56, + "startedDateTime": "2026-06-09T18:53:57.077Z", + "time": 131, "timings": { "blocked": -1, "connect": -1, @@ -448,7 +448,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 56 + "wait": 131 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/am_1076162899/recording.har new file mode 100644 index 000000000..fb3ab0453 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all_no-extract_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:18.452Z", + "time": 163, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 163 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:18.781Z", + "time": 126, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 126 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/environment_1072573434/recording.har new file mode 100644 index 000000000..24edfdf9c --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all_no-extract_file/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "a1a26a6c-6233-4547-95c8-f070ebeedb5f" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:18.914Z", + "time": 122, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 122 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/oauth2_393036114/recording.har new file mode 100644 index 000000000..51afd5b54 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all_no-extract_file/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:52:18 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:18.632Z", + "time": 144, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 144 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/openidm_3290118515/recording.har new file mode 100644 index 000000000..358763520 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_all_no-extract_file_3330912070/openidm_3290118515/recording.har @@ -0,0 +1,458 @@ +{ + "log": { + "_recordingName": "email/template-export/0_all_no-extract_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:18 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:18.815Z", + "time": 174, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 174 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:19 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:19.043Z", + "time": 118, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 118 + } + }, + { + "_id": "778b519855abd745b38438bc349de829", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1944, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "_id sw 'emailTemplat'" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config?_queryFilter=_id%20sw%20%27emailTemplat%27" + }, + "response": { + "bodySize": 33961, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 33961, + "text": "{\"result\":[{\"_id\":\"emailTemplate/certificationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.
\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was assigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Assigned\"}},{\"_id\":\"emailTemplate/certificationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"message\":{\"en\":\"One or more certification tasks for {{object.campaign.name}} have been escalated to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task(s) Escalation\"}},{\"_id\":\"emailTemplate/certificationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"message\":{\"en\":\"Your certification task for {{object.campaign.name}} has expired due to inactivity.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Certification Task\"}},{\"_id\":\"emailTemplate/certificationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"message\":{\"en\":\"Hello, {{object.user.givenName}} {{object.user.sn}}!
A certification task for the campaign {{object.campaign.name}} was reassigned to you.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Certification Task Reassigned\"}},{\"_id\":\"emailTemplate/certificationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"message\":{\"en\":\"This is a reminder to complete your certification task for {{object.campaign.name}}.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Certification Task\"}},{\"_id\":\"emailTemplate/delegationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been added as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

Delegation type: {{object.delegationType}}
\\nStart Date: {{object.startDate}}
\\nEnd Date: {{object.endDate}}

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Assigned\"}},{\"_id\":\"emailTemplate/delegationRemoved\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"message\":{\"en\":\"

Hello, {{object.delegate.givenName}} {{object.delegate.sn}}!

You have been removed as a delegate for {{object.delegator.givenName}} {{object.delegator.sn}} ({{object.delegator.userName}})

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"Delegation Removed\"}},{\"_id\":\"emailTemplate/forgottenUsername\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"{{#if object.userName}}

Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"message\":{\"en\":\"

{{#if object.userName}}Your username is '{{object.userName}}'.

{{else}}If you received this email in error, please disregard.{{/if}}

Click here to login

\",\"fr\":\"
{{#if object.userName}}

Votre nom d'utilisateur est '{{object.userName}}'.

{{else}}Si vous avez reçu cet e-mail par erreur, veuillez ne pas en tenir compte.{{/if}}

Cliquez ici pour vous connecter

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Account Information - username\",\"fr\":\"Informations sur le compte - nom d'utilisateur\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate1\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template One\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate2\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Two\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

This is your one-time password:

{{object.description}}

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"One-Time Password for login\"}},{\"_id\":\"emailTemplate/FrodoTestEmailTemplate3\",\"defaultLocale\":\"en\",\"displayName\":\"Frodo Test Email Template Three\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

You started a login or profile update that requires MFA.

Click to Proceed

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Multi-Factor Email for Identity Cloud login\"}},{\"_id\":\"emailTemplate/frodoTestEmailTemplateFour\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/registration\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"message\":{\"en\":\"

This is your registration email.

Email verification link

\",\"fr\":\"

Ceci est votre mail d'inscription.

Lien de vérification email

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Register new account\",\"fr\":\"Créer un nouveau compte\"}},{\"_id\":\"emailTemplate/requestAssigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Assigned\"},\"html\":{\"en\":\"
A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\">A Request was assigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestEscalated\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Escalation\"},\"html\":{\"en\":\"
A request approval has been escalated to your attention.
\"},\"message\":{\"en\":\"A request approval has been escalated to your attention.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestExpired\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Expiration of Request\"},\"message\":{\"en\":\" A request approval assigned to you has expired.\"},\"html\":{\"en\":\"
A request approval assigned to you has expired.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReassigned\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Request Reassigned\"},\"message\":{\"en\":\"A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.\"},\"html\":{\"en\":\"
A Request was reassigned to you to approve access for {{object.user.givenName}} {{object.user.sn}}, please review at your earliest convenience.
\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/requestReminder\",\"enabled\":true,\"from\":\"\",\"subject\":{\"en\":\"ATTENTION: Reminder to complete Request\"},\"html\":{\"en\":\"
A request approval assigned to you is awaiting your action.
\"},\"message\":{\"en\":\"A request approval assigned to you is awaiting your action.\"},\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"defaultLocale\":\"en\",\"mimeType\":\"text/html\"},{\"_id\":\"emailTemplate/resetPassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"message\":{\"en\":\"

Click to reset your password

Password reset link

\",\"fr\":\"

Cliquez pour réinitialiser votre mot de passe

Mot de passe lien de réinitialisation

\"},\"mimeType\":\"text/html\",\"subject\":{\"en\":\"Reset your password\",\"fr\":\"Réinitialisez votre mot de passe\"}},{\"_id\":\"emailTemplate/staffNe1AccountCreation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-1-AccountCreation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"
Non-Employee Account Created\\n

\\n Welcome to FCPS!\\n

A non-employee user account has been created.

Non-Employee’s Display Name: {{object.custom_DisplayName}}
\\nManager Name: {{object.manager}}
\\nDestination Work/School Location: {{object.custom_LocationName}}

Your UserID to log into computers is: {{object.cn}}

A separate email with just your temporary password has been sent. You must change this password before you will be able to use the account.

  • Login to the FCPS SSO Portal
  • Set up your MFA when prompted.
  • After MFA is configured, click on reset to change your password and follow the prompts.
  • After reviewing the notices on the pop-up window, select the blue button, \\\"I agree to these policies and directives.\\\"

If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Created - {{object.custom_siteLocation}} - Effective {{getDate}} - {{object.custom_DisplayName}}\"},\"templateId\":\"staffNe1AccountCreation\"},{\"_id\":\"emailTemplate/staffNe2AccountCreationPassword\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-2-AccountCreationPassword\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

Welcome to FCPS!

A non-employee user account has been created for you and an email was sent earlier with your login information and password policy.


Your temporary password is: {{object.custom_pPassword_eEncrypted}}


If you need further assistance, please contact the FCPS Technology Support Desk.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe1AccountCreation\",\"styles\":\" \",\"subject\":{\"en\":\"Non-Employee Account Information\"},\"templateId\":\"staffNe2AccountCreationPassword\"},{\"_id\":\"emailTemplate/staffNe3Attestation\",\"defaultLocale\":\"en\",\"description\":\"\",\"displayName\":\"StaffNE-3-Attestation\",\"enabled\":true,\"from\":\"TechSupportPortal@fcps.edu\",\"html\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"message\":{\"en\":\"

The Network/E-Mail Account for {{object.displayName}} (Non-Employee), a non-employee, will be disabled on {{object.date}} if you or your proxy have not confirmed his or her continued work for FCPS.

Non-employee’s User ID: {{object.cn}}

Destination Work/School Location: {{object.custom_LocationName}}

A manager or proxy can verify and extend this account for 6 months by following these steps:

  1. Sign in to the FCPS SSO Portal and click on the Verify a Non-Employee menu option.
  2. Enter your search criteria:\\n
    1. If verifying a current employee, check the Limit Searches to My Direct Reports checkbox.
    2. If verifying an employee who is new to your site or a new direct report to you, uncheck the Limit Searches to My Direct Reports checkbox.
  3. Select the appropriate employee account and click Continue.\\n
    1. Set the value to Yes if you want to extend the account for another 6 months.
    2. Set the value to No if you want to disable the account from FCPS. This takes effect immediately.
  4. For additional information related to non-employee accounts, go to the Non-Employee content page on the FCPS HUB:
    https://hub.fcps.edu/it-service-desk-itsd/non-employee-accounts

If additional support is needed, please submit a ticket using the Tech Support Portal. An IT support partner will assist you.

Thank You.

FCPS Tech Support Desk

\\\"Do you have an IT question? Ask the FCPS Tech Support Portal, where you can search for solutions, services, and submit tickets to solve all your tech-related issues.\\\"

\"},\"mimeType\":\"text/html\",\"name\":\"staffNe2AccountCreationPassword\",\"styles\":\" \",\"subject\":{\"en\":\"Account Verification Reminder for {{object.displayName}} - $expireDays$ days left\"},\"templateId\":\"staffNe3Attestation\"},{\"_id\":\"emailTemplate/undefined\",\"defaultLocale\":\"en\",\"description\":\"Frodo email template four\",\"displayName\":\"Frodo Test Email Template Four\",\"enabled\":true,\"from\":\"\\\"From\\\" \",\"html\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"message\":{\"en\":\"

\\\"alt

Email Title

Message text lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor.

\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n background-color: #324054;\\n color: #455469;\\n padding: 60px;\\n text-align: center \\n}\\n a {\\n text-decoration: none;\\n color: #109cf1;\\n}\\n .content {\\n background-color: #fff;\\n border-radius: 4px;\\n margin: 0 auto;\\n padding: 48px;\\n width: 235px \\n}\\n\",\"subject\":{\"en\":\"Subject\"},\"templateId\":\"frodoTestEmailTemplateFour\"},{\"_id\":\"emailTemplate/updatePassword\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Verify email to update password

Update password link

\"},\"message\":{\"en\":\"

Verify email to update password

Update password link

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Update your password\"}},{\"_id\":\"emailTemplate/violationAssigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.
.
\"},\"message\":{\"en\":\"A violation created for {{object.user.givenName}} {{object.user.sn}} was assigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Assigned\"}},{\"_id\":\"emailTemplate/violationEscalated\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} has been escalated to your attention.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Escalation\"}},{\"_id\":\"emailTemplate/violationExpired\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} has expired.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Expiration of Violation\"}},{\"_id\":\"emailTemplate/violationReassigned\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.
\"},\"message\":{\"en\":\"The violation for {{object.user.givenName}} {{object.user.sn}} was reassigned to you to make a decision on the user's violating access, please review at your earliest convenience.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Violation Reassigned\"}},{\"_id\":\"emailTemplate/violationReminder\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"
The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.
\"},\"message\":{\"en\":\"The violation assigned to you for {{object.user.givenName}} {{object.user.sn}} is awaiting your action.\"},\"mimeType\":\"text/html\",\"styles\":\"body {\\n\\tbackground-color: #324054;\\n\\tcolor: #455469;\\n\\tpadding: 60px;\\n\\ttext-align: center\\n}\\n\\na {\\n\\ttext-decoration: none;\\n\\tcolor: #109cf1;\\n}\\n\\n.content {\\n\\tbackground-color: #fff;\\n\\tborder-radius: 4px;\\n\\tmargin: 0 auto;\\n\\tpadding: 48px;\\n\\twidth: 235px\\n}\\n\",\"subject\":{\"en\":\"ATTENTION: Reminder to make decision on violation\"}},{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}],\"resultCount\":30,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":30,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:19 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" + }, + { + "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": "x-forgerock-transactionid", + "value": "frodo-4432f27c-fb9c-4862-8349-ea13607e6b2d" + }, + { + "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" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "headersSize": 660, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:19.166Z", + "time": 133, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 133 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/am_1076162899/recording.har index 392558a61..a4c9a8e80 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:38 GMT" + "value": "Tue, 09 Jun 2026 18:53:07 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -136,14 +136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 804, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:38.705Z", - "time": 117, + "startedDateTime": "2026-06-09T18:53:07.370Z", + "time": 172, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 117 + "wait": 172 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:39 GMT" + "value": "Tue, 09 Jun 2026 18:53:07 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -284,17 +284,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 780, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:38.943Z", - "time": 80, + "startedDateTime": "2026-06-09T18:53:07.711Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 80 + "wait": 118 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/environment_1072573434/recording.har new file mode 100644 index 000000000..5537e8659 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_i_f/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:53:07 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "bfbe20eb-37bf-4a23-83f4-fb3e543ec63a" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:53:07.834Z", + "time": 124, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 124 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/oauth2_393036114/recording.har index 50cefe0f7..f2b5f869e 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":898}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:39 GMT" + "value": "Tue, 09 Jun 2026 18:53:07 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -118,17 +118,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 556, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:38.837Z", - "time": 98, + "startedDateTime": "2026-06-09T18:53:07.559Z", + "time": 146, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 98 + "wait": 146 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/openidm_3290118515/recording.har index 2a1889fb5..5fceae67c 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_f_3126144190/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:39 GMT" + "value": "Tue, 09 Jun 2026 18:53:07 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:38.978Z", - "time": 125, + "startedDateTime": "2026-06-09T18:53:07.746Z", + "time": 178, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 125 + "wait": 178 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:39 GMT" + "value": "Tue, 09 Jun 2026 18:53:08 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -291,8 +291,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:39.028Z", - "time": 74, + "startedDateTime": "2026-06-09T18:53:07.965Z", + "time": 118, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 74 + "wait": 118 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "authorization", @@ -340,24 +340,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1891, + "headersSize": 1923, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" }, "response": { - "bodySize": 879, + "bodySize": 789, "content": { "mimeType": "application/json;charset=utf-8", - "size": 879, - "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}" + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:39 GMT" + "value": "Tue, 09 Jun 2026 18:53:08 GMT" }, { "name": "vary", @@ -405,11 +405,11 @@ }, { "name": "content-length", - "value": "879" + "value": "789" }, { "name": "x-forgerock-transactionid", - "value": "frodo-0a297368-b011-435d-bdfa-220c7334734d" + "value": "frodo-0ae773c0-22dc-436d-bba6-5dae718fb0ea" }, { "name": "strict-transport-security", @@ -434,8 +434,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:39.108Z", - "time": 55, + "startedDateTime": "2026-06-09T18:53:08.090Z", + "time": 104, "timings": { "blocked": -1, "connect": -1, @@ -443,7 +443,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 55 + "wait": 104 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/am_1076162899/recording.har new file mode 100644 index 000000000..c208f0621 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_i_x_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:29 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 804, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:29.506Z", + "time": 224, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 224 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:29 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 805, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:29.911Z", + "time": 140, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 140 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/environment_1072573434/recording.har new file mode 100644 index 000000000..f41371beb --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_i_x_f/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:30 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "ccf13535-e234-41c2-82da-6a127bbfbc93" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:30.057Z", + "time": 137, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 137 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/oauth2_393036114/recording.har new file mode 100644 index 000000000..b6a43cbc3 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_i_x_f/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:51:29 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 581, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:29.743Z", + "time": 162, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 162 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/openidm_3290118515/recording.har new file mode 100644 index 000000000..f46dca8d1 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_i_x_f_904198381/openidm_3290118515/recording.har @@ -0,0 +1,453 @@ +{ + "log": { + "_recordingName": "email/template-export/0_i_x_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:30 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:29.950Z", + "time": 210, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 210 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:30 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 682, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:30.201Z", + "time": 112, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 112 + } + }, + { + "_id": "76be78f43255ef6c7f0ec368787fd6fa", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1923, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" + }, + "response": { + "bodySize": 789, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:30 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" + }, + { + "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": "789" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-933e9e70-37da-48ad-b1a5-a742ae46539f" + }, + { + "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": 678, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:30.320Z", + "time": 117, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 117 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/am_1076162899/recording.har new file mode 100644 index 000000000..80bce6149 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/am_1076162899/recording.har @@ -0,0 +1,312 @@ +{ + "log": { + "_recordingName": "email/template-export/0_no-extract_template-id/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 398, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 614, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"959929574\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "614" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 779, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.206Z", + "time": 316, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 316 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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": 1947, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 273, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "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": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1245987628\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "273" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 780, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.703Z", + "time": 140, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 140 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/environment_1072573434/recording.har new file mode 100644 index 000000000..6eb29e7c6 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_no-extract_template-id/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "1d4710e4-7d26-452b-b5dd-2be9f3e44dff" + }, + { + "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" + } + ], + "headersSize": 388, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.848Z", + "time": 122, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 122 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/oauth2_393036114/recording.har new file mode 100644 index 000000000..e2cd18122 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/oauth2_393036114/recording.har @@ -0,0 +1,146 @@ +{ + "log": { + "_recordingName": "email/template-export/0_no-extract_template-id/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1345, + "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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "1345" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 453, + "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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" + }, + "queryString": [], + "url": "https://openam-trivir-fairfax.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:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + }, + "cookies": [], + "headers": [ + { + "name": "content-security-policy", + "value": "frame-ancestors 'self'" + }, + { + "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": "Tue, 09 Jun 2026 18:51:13 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 556, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.536Z", + "time": 161, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 161 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/openidm_3290118515/recording.har new file mode 100644 index 000000000..db407c022 --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_no-extract_template-id_3343503124/openidm_3290118515/recording.har @@ -0,0 +1,453 @@ +{ + "log": { + "_recordingName": "email/template-export/0_no-extract_template-id/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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:13 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.739Z", + "time": 196, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 196 + } + }, + { + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1959, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_fields", + "value": "*" + } + ], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" + }, + "response": { + "bodySize": 1382, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:14 GMT" + }, + { + "name": "vary", + "value": "Origin" + }, + { + "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": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" + }, + { + "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-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:13.976Z", + "time": 108, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 108 + } + }, + { + "_id": "76be78f43255ef6c7f0ec368787fd6fa", + "_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/4.0.0-39" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1923, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" + }, + "response": { + "bodySize": 789, + "content": { + "mimeType": "application/json;charset=utf-8", + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:51:14 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" + }, + { + "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": "789" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-83d2db0d-8521-4e24-a276-07a4770a69eb" + }, + { + "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" + } + ], + "headersSize": 653, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:51:14.091Z", + "time": 105, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 105 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/am_1076162899/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/am_1076162899/recording.har index 367e607f9..385162468 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/am_1076162899/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/am_1076162899/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "accept-api-version", @@ -44,24 +44,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 387, + "headersSize": 398, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/*" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/*" }, "response": { - "bodySize": 585, + "bodySize": 614, "content": { "mimeType": "application/json;charset=UTF-8", - "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}" + "size": 614, + "text": "{\"_id\":\"*\",\"_rev\":\"959929574\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"311468432e97f1f\",\"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,\"oauth2AIAgentsEnabled\":false}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -79,10 +79,6 @@ "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" @@ -93,7 +89,7 @@ }, { "name": "etag", - "value": "\"-494299414\"" + "value": "\"959929574\"" }, { "name": "expires", @@ -103,21 +99,25 @@ "name": "pragma", "value": "no-cache" }, + { + "name": "x-frame-options", + "value": "DENY" + }, { "name": "content-type", "value": "application/json;charset=UTF-8" }, { "name": "content-length", - "value": "585" + "value": "614" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -136,14 +136,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 804, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.129Z", - "time": 148, + "startedDateTime": "2026-06-09T18:52:51.071Z", + "time": 166, "timings": { "blocked": -1, "connect": -1, @@ -151,7 +151,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 148 + "wait": 166 } }, { @@ -172,11 +172,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "accept-api-version", @@ -195,24 +195,28 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1915, + "headersSize": 1947, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/json/serverinfo/version" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/json/serverinfo/version" }, "response": { - "bodySize": 279, + "bodySize": 273, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 279, - "text": "{\"_id\":\"version\",\"_rev\":\"1682172738\",\"version\":\"8.1.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 8.1.0-SNAPSHOT Build c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed (2026-January-19 16:11)\",\"revision\":\"c04fb3b03f6a918c492d3dd439fb7bb79d02f9ed\",\"date\":\"2026-January-19 16:11\"}" + "size": 273, + "text": "{\"_id\":\"version\",\"_rev\":\"1245987628\",\"version\":\"9.0.0-SNAPSHOT\",\"fullVersion\":\"ForgeRock Access Management 9.0.0-SNAPSHOT Build 96952edaffd9295f1b26b1145ff158e577b2ecb0 (2026-June-02 12:57)\",\"revision\":\"96952edaffd9295f1b26b1145ff158e577b2ecb0\",\"date\":\"2026-June-02 12:57\"}" }, "cookies": [], "headers": [ { "name": "x-frame-options", - "value": "SAMEORIGIN" + "value": "DENY" + }, + { + "name": "content-security-policy", + "value": "frame-ancestors 'self', default-src 'none';frame-ancestors 'none';sandbox" }, { "name": "content-security-policy-report-only", @@ -230,10 +234,6 @@ "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" @@ -244,7 +244,7 @@ }, { "name": "etag", - "value": "\"1682172738\"" + "value": "\"1245987628\"" }, { "name": "expires", @@ -260,15 +260,15 @@ }, { "name": "content-length", - "value": "279" + "value": "273" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -287,14 +287,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 787, + "headersSize": 805, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.419Z", - "time": 76, + "startedDateTime": "2026-06-09T18:52:51.399Z", + "time": 129, "timings": { "blocked": -1, "connect": -1, @@ -302,7 +302,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 76 + "wait": 129 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/environment_1072573434/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/environment_1072573434/recording.har new file mode 100644 index 000000000..85729b35d --- /dev/null +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/environment_1072573434/recording.har @@ -0,0 +1,125 @@ +{ + "log": { + "_recordingName": "email/template-export/0_template-id/environment", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccc7ec61c2094114d7917814bb19b83b", + "_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/4.0.0-39" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1898, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-trivir-fairfax.forgeblocks.com/environment/scopes/service-accounts" + }, + "response": { + "bodySize": 1910, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 1910, + "text": "[{\"scope\":\"fr:am:*\",\"description\":\"All Access Management APIs\"},{\"scope\":\"fr:idc:analytics:*\",\"description\":\"All Analytics APIs\"},{\"scope\":\"fr:idc:certificate:*\",\"description\":\"All TLS certificate APIs\",\"childScopes\":[{\"scope\":\"fr:idc:certificate:read\",\"description\":\"Read TLS certificates\"}]},{\"scope\":\"fr:idc:content-security-policy:*\",\"description\":\"All content security policy APIs\",\"childScopes\":[{\"scope\":\"fr:idc:content-security-policy:read\",\"description\":\"Read content security policy\"}]},{\"scope\":\"fr:idc:cookie-domain:*\",\"description\":\"All cookie domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:cookie-domain:read\",\"description\":\"Read cookie domains\"}]},{\"scope\":\"fr:idc:custom-domain:*\",\"description\":\"All custom domain APIs\",\"childScopes\":[{\"scope\":\"fr:idc:custom-domain:read\",\"description\":\"Read custom domains\"}]},{\"scope\":\"fr:idc:dataset:*\",\"description\":\"All dataset deletion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:dataset:read\",\"description\":\"Read dataset deletions\"}]},{\"scope\":\"fr:idc:esv:*\",\"description\":\"All ESV APIs\",\"childScopes\":[{\"scope\":\"fr:idc:esv:read\",\"description\":\"Read ESVs, excluding values of secrets\"},{\"scope\":\"fr:idc:esv:update\",\"description\":\"Create, modify, and delete ESVs\"},{\"scope\":\"fr:idc:esv:restart\",\"description\":\"Restart workloads that consume ESVs\"}]},{\"scope\":\"fr:idc:promotion:*\",\"description\":\"All configuration promotion APIs\",\"childScopes\":[{\"scope\":\"fr:idc:promotion:read\",\"description\":\"Read configuration promotion\"}]},{\"scope\":\"fr:idc:release:*\",\"description\":\"All product release APIs\",\"childScopes\":[{\"scope\":\"fr:idc:release:read\",\"description\":\"Read product release\"}]},{\"scope\":\"fr:idc:sso-cookie:*\",\"description\":\"All SSO cookie APIs\",\"childScopes\":[{\"scope\":\"fr:idc:sso-cookie:read\",\"description\":\"Read SSO cookie\"}]},{\"scope\":\"fr:idm:*\",\"description\":\"All Identity Management APIs\"},{\"scope\":\"fr:iga:*\",\"description\":\"All Identity Governance APIs\"}]" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "1910" + }, + { + "name": "etag", + "value": "W/\"776-b2xCO2Gdrqb/5HdcH8WdC8M9zoM\"" + }, + { + "name": "date", + "value": "Tue, 09 Jun 2026 18:52:51 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "3e5476ec-8fc6-45c2-be30-6fb89c4f6553" + }, + { + "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": 413, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-09T18:52:51.533Z", + "time": 127, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 127 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/oauth2_393036114/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/oauth2_393036114/recording.har index e27697077..f7683aefc 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/oauth2_393036114/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/oauth2_393036114/recording.har @@ -12,7 +12,7 @@ "_order": 0, "cache": {}, "request": { - "bodySize": 1329, + "bodySize": 1345, "cookies": [], "headers": [ { @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "accept-api-version", @@ -37,7 +37,7 @@ }, { "name": "content-length", - "value": "1329" + "value": "1345" }, { "name": "accept-encoding", @@ -48,29 +48,29 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 442, + "headersSize": 453, "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:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*" + "text": "assertion=&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*" }, "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/am/oauth2/access_token" + "url": "https://openam-trivir-fairfax.forgeblocks.com/am/oauth2/access_token" }, "response": { - "bodySize": 1787, + "bodySize": 1818, "content": { "mimeType": "application/json;charset=UTF-8", - "size": 1787, - "text": "{\"access_token\":\"\",\"scope\":\"fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:am:* fr:autoaccess:* fr:idc:esv:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:analytics:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" + "size": 1818, + "text": "{\"access_token\":\"\",\"scope\":\"fr:am:* fr:idc:esv:* fr:iga:* fr:idc:analytics:* fr:idc:custom-domain:* fr:idc:release:* fr:idc:sso-cookie:* fr:idc:content-security-policy:* fr:idc:certificate:* fr:idm:* fr:idc:dataset:* fr:idc:cookie-domain:* fr:idc:promotion:*\",\"token_type\":\"Bearer\",\"expires_in\":899}" }, "cookies": [], "headers": [ { - "name": "x-frame-options", - "value": "SAMEORIGIN" + "name": "content-security-policy", + "value": "frame-ancestors 'self'" }, { "name": "content-security-policy-report-only", @@ -94,15 +94,15 @@ }, { "name": "content-length", - "value": "1787" + "value": "1818" }, { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -121,14 +121,14 @@ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" } ], - "headersSize": 561, + "headersSize": 581, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.292Z", - "time": 119, + "startedDateTime": "2026-06-09T18:52:51.250Z", + "time": 143, "timings": { "blocked": -1, "connect": -1, @@ -136,7 +136,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 119 + "wait": 143 } } ], diff --git a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/openidm_3290118515/recording.har b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/openidm_3290118515/recording.har index 91e35ea4d..a189e8ccc 100644 --- a/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/openidm_3290118515/recording.har +++ b/test/e2e/mocks/email_2324124615/template-export_3631781680/0_template-id_4260181200/openidm_3290118515/recording.har @@ -25,11 +25,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "authorization", @@ -44,7 +44,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -53,20 +53,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "vary", @@ -94,7 +94,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -114,11 +114,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -134,17 +134,17 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + "value": "h3=\":443\"; ma=2592000" } ], - "headersSize": 682, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.455Z", - "time": 154, + "startedDateTime": "2026-06-09T18:52:51.433Z", + "time": 187, "timings": { "blocked": -1, "connect": -1, @@ -152,7 +152,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 154 + "wait": 187 } }, { @@ -173,11 +173,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "authorization", @@ -192,7 +192,7 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1927, + "headersSize": 1959, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [ @@ -201,20 +201,20 @@ "value": "*" } ], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/managed/svcacct/912dcd07-421b-4ba9-b019-edbfe66a89be?_fields=%2A" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/managed/svcacct/0c2e1478-c138-4ad6-9653-bea356376180?_fields=%2A" }, "response": { - "bodySize": 1386, + "bodySize": 1382, "content": { "mimeType": "application/json;charset=utf-8", - "size": 1386, - "text": "{\"_id\":\"912dcd07-421b-4ba9-b019-edbfe66a89be\",\"_rev\":\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1758728043147\",\"description\":\"volker.scheuber@pingidentity.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\\\":\\\"OKHgZEZheTahPfK3TAGfjuHrO30jsfbT6cKbofNoA88\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"tdt1kpa-5s4R9W-Dzx3DLGSkk3uJwLCOKBCF34YbGuFna_20wkQ_YxImxYaesDKsPhg4uUdvYmr14PfA2eU-lRaGVQteRnMmV3A4W_w909yrssQ1zam0l_rT1_DOXug0OZhXCEU03nyoZrT04ChmbUUpUPGH5874PEBSP1yMGqqErfetoR-DR4JiWQ9KaOkPxh375mfIrRwCXVfTzA_9dsPjz9XBLT1t4TsKcrzhx_l9xYVpcIByAq2WhslsfgbKeuMEKG_Vrgs2I0d0K9-3f7YhrFYPW1fd9skKUvdOKmF3JZGO6_pROioRsW_XXI2AMpsxBiwIvorJHHplraTW9VBp7Yqu6hfs5acKkxC-kRph_2bB6NdyBNUCRmpBV8XKmZZAsiO8f7yhmG1BygS7Kz_9jEG052gawjupDjbjgcyo_A3zK0jP6YbxI8EUyXh9GukDS_xXTugEramsF421NyjaZcWtWmqpSv--jxt6mX6RP1eGduymYCjQ0Ua1e1KLHTu1pIOChW0L9pnJxqG9q-93AGmmIz2dSw-hdcQHn2lReSoaT0F14960SkK4Z8hMf8Cds2SDEFy6K1HIPW-XsbDOr_BubI0MDF7HgT-ePqh7UsKhIcdn1O6R7kVGmo4516TpNjo7lRcILFxMztHHr5zoq0T5y7XvysG9umKr4Ps\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" + "size": 1382, + "text": "{\"_id\":\"0c2e1478-c138-4ad6-9653-bea356376180\",\"_rev\":\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\",\"accountStatus\":\"active\",\"name\":\"Frodo-SA-1781020880295\",\"description\":\"csong@trivir.com's Frodo Service Account\",\"scopes\":[\"fr:am:*\",\"fr:idc:analytics:*\",\"fr:idc:certificate:*\",\"fr:idc:content-security-policy:*\",\"fr:idc:cookie-domain:*\",\"fr:idc:custom-domain:*\",\"fr:idc:dataset:*\",\"fr:idc:esv:*\",\"fr:idm:*\",\"fr:iga:*\",\"fr:idc:promotion:*\",\"fr:idc:release:*\",\"fr:idc:sso-cookie:*\"],\"jwks\":\"{\\\"keys\\\":[{\\\"kty\\\":\\\"RSA\\\",\\\"kid\\\":\\\"sbHvFTOy884rz-Ck4pbiXaCrMvAwzNV5-mZSYinBjhs\\\",\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"n\\\":\\\"08VYwsdmRPJCFpyONi-oWkSIOsfpBL5xAE8RU8tI5tS5YNCBJmsiNEHNl5SdKHDN3NgzonzypYuv26x2kN8NMGoSpoERqBXEz4JoAoTts8QLptE56BOWkh1CZ_y5jTDvPN38O4u79d7GyXt1403wVGRenUR37HfE8lXQCxUbSFOxthkIIkw-zsJWs0nQenFoK8XzEAI87VIYwHfHd_YCdLu01jV_jWSJwhkKjdkgw_qQ-hXt5tNww30vOgHfJ4xYJ5GeAbgfVsEFgT-K-BwK07czxcwHXlkIRLOsgUE6o31ndx127kSq5w494M4v8F_ZOR8Quw8LAitvBJTmLJwgwfpRUYzcy_oBhH4DxJHqLOvuLrCM-DexNkWmveofecVjL77hzeL4-bvvzrXJheXgt7lc9qJDwVtJDCxdF8FNcEHeGZ9fpE7lBZEdJzU1yaCLSDgcLSn2uGGh4zN2skyjy0kQzpY0bj7RC0CvrKGxpGD_Vvrm0ieKMmEHtwl43gQoj4yEHKJnTnA-xSuaClXoocZI7ca_U7guOrz-5AMjSm5sHWscl8IaAcKrd-r4nccPKzc31n_qeFa7FiAye6ucuL1Cy8oJDaTp2rkVVskAs0qoo5f0khFPzqQDG_JCmljC3LP107y0YfI69wTi6JXM5AF4xgQWW3BAcuGyGGnIJsM\\\"}]}\",\"maxCachingTime\":\"15\",\"maxIdleTime\":\"15\",\"maxSessionTime\":\"15\",\"quotaLimit\":\"5\"}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "vary", @@ -242,7 +242,7 @@ }, { "name": "etag", - "value": "\"4d8aa86e-f087-4c6d-acd0-5a50328c9e7c-7510\"" + "value": "\"a183b615-3e46-44dc-8ac1-7950d78cb0b3-7955\"" }, { "name": "expires", @@ -262,11 +262,11 @@ }, { "name": "content-length", - "value": "1386" + "value": "1382" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -291,8 +291,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.500Z", - "time": 83, + "startedDateTime": "2026-06-09T18:52:51.666Z", + "time": 105, "timings": { "blocked": -1, "connect": -1, @@ -300,7 +300,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 83 + "wait": 105 } }, { @@ -321,11 +321,11 @@ }, { "name": "user-agent", - "value": "@rockcarver/frodo-lib/3.3.6-1" + "value": "@rockcarver/frodo-lib/4.0.0-39" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "authorization", @@ -340,24 +340,24 @@ "value": "openam-frodo-dev.forgeblocks.com" } ], - "headersSize": 1891, + "headersSize": 1923, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://openam-frodo-dev.forgeblocks.com/openidm/config/emailTemplate/welcome" + "url": "https://openam-trivir-fairfax.forgeblocks.com/openidm/config/emailTemplate/welcome" }, "response": { - "bodySize": 879, + "bodySize": 789, "content": { "mimeType": "application/json;charset=utf-8", - "size": 879, - "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"displayName\":\"Welcome\",\"enabled\":true,\"from\":\"saas@forgerock.com\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{\\n background-color:#324054;\\n color:#5e6d82;\\n padding:60px;\\n text-align:center\\n}\\na{\\n text-decoration:none;\\n color:#109cf1\\n}\\n.content{\\n background-color:#fff;\\n border-radius:4px;\\n margin:0 auto;\\n padding:48px;\\n width:235px\\n}\\n\",\"subject\":{\"en\":\"Your account has been created\"}}" + "size": 789, + "text": "{\"_id\":\"emailTemplate/welcome\",\"defaultLocale\":\"en\",\"enabled\":true,\"from\":\"\",\"html\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"message\":{\"en\":\"

Welcome. Your username is '{{object.userName}}'.

\"},\"mimeType\":\"text/html\",\"styles\":\"body{background-color:#324054;color:#5e6d82;padding:60px;text-align:center}a{text-decoration:none;color:#109cf1}.content{background-color:#fff;border-radius:4px;margin:0 auto;padding:48px;width:235px}\",\"subject\":{\"en\":\"Your account has been created\"}}" }, "cookies": [], "headers": [ { "name": "date", - "value": "Sun, 25 Jan 2026 15:49:22 GMT" + "value": "Tue, 09 Jun 2026 18:52:51 GMT" }, { "name": "vary", @@ -405,11 +405,11 @@ }, { "name": "content-length", - "value": "879" + "value": "789" }, { "name": "x-forgerock-transactionid", - "value": "frodo-977b6043-47c5-4624-8497-2d987aa02efb" + "value": "frodo-2bb4f61e-6cd1-466f-8f7a-bb6989b50ddb" }, { "name": "strict-transport-security", @@ -434,8 +434,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2026-01-25T15:49:22.589Z", - "time": 68, + "startedDateTime": "2026-06-09T18:52:51.778Z", + "time": 101, "timings": { "blocked": -1, "connect": -1, @@ -443,7 +443,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 68 + "wait": 101 } } ], diff --git a/test/e2e/utils/TestUtils.js b/test/e2e/utils/TestUtils.js index 7f2796298..1e49fd9f0 100644 --- a/test/e2e/utils/TestUtils.js +++ b/test/e2e/utils/TestUtils.js @@ -90,6 +90,7 @@ export async function testExport( if (checkForMetadata || exportData.meta) { expect(exportData).toMatchSnapshot( { + ...exportData, meta: expect.any(Object), }, path diff --git a/testWorkflow1/draft/approvalTask-7e33e73d6763.workflow.js b/testWorkflow1/draft/approvalTask-7e33e73d6763.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/draft/approvalTask-7e33e73d6763.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)() diff --git a/testWorkflow1/draft/fulfillmentTask-7fce35a32915.workflow.js b/testWorkflow1/draft/fulfillmentTask-7fce35a32915.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/draft/fulfillmentTask-7fce35a32915.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)() diff --git a/testWorkflow1/draft/scriptTask-493f5ea87636.workflow.js b/testWorkflow1/draft/scriptTask-493f5ea87636.workflow.js new file mode 100644 index 000000000..608a2ce0f --- /dev/null +++ b/testWorkflow1/draft/scriptTask-493f5ea87636.workflow.js @@ -0,0 +1,17 @@ +/* +Script nodes are used to invoke APIs or execute business logic. +You can invoke governance APIs or IDM APIs. +See https://backstage.forgerock.com/docs/idcloud/latest/identity-governance/administration/workflow-configure.html for more details. + +Script nodes should return a single value and should have the +logic enclosed in a try-catch block. + +Example: +try { + var requestObj = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + applicationId = requestObj.application.id; +} +catch (e) { + failureReason = 'Validation failed: Error reading request with id ' + requestId; +} +*/ diff --git a/testWorkflow1/draft/violationTask-50261d9bc712.workflow.js b/testWorkflow1/draft/violationTask-50261d9bc712.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/draft/violationTask-50261d9bc712.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)() diff --git a/testWorkflow1/published/approvalTask-7e33e73d6763.workflow.js b/testWorkflow1/published/approvalTask-7e33e73d6763.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/published/approvalTask-7e33e73d6763.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)() diff --git a/testWorkflow1/published/fulfillmentTask-7fce35a32915.workflow.js b/testWorkflow1/published/fulfillmentTask-7fce35a32915.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/published/fulfillmentTask-7fce35a32915.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)() diff --git a/testWorkflow1/published/scriptTask-493f5ea87636.workflow.js b/testWorkflow1/published/scriptTask-493f5ea87636.workflow.js new file mode 100644 index 000000000..608a2ce0f --- /dev/null +++ b/testWorkflow1/published/scriptTask-493f5ea87636.workflow.js @@ -0,0 +1,17 @@ +/* +Script nodes are used to invoke APIs or execute business logic. +You can invoke governance APIs or IDM APIs. +See https://backstage.forgerock.com/docs/idcloud/latest/identity-governance/administration/workflow-configure.html for more details. + +Script nodes should return a single value and should have the +logic enclosed in a try-catch block. + +Example: +try { + var requestObj = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + applicationId = requestObj.application.id; +} +catch (e) { + failureReason = 'Validation failed: Error reading request with id ' + requestId; +} +*/ diff --git a/testWorkflow1/published/violationTask-50261d9bc712.workflow.js b/testWorkflow1/published/violationTask-50261d9bc712.workflow.js new file mode 100644 index 000000000..79925202b --- /dev/null +++ b/testWorkflow1/published/violationTask-50261d9bc712.workflow.js @@ -0,0 +1,23 @@ +/** +Define custom script which returns an array of actors in the following format +(function() { + var content = execution.getVariables(); + var requestId = content.get('id'); + var requestIndex = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {}); + return [{ + id: "managed/user/" + requestIndex.applicationOwner[0].id, + permissions: { + approve: true, + reject: true, + reassign: true, + modify: true, + comment: true + } + }]; +})() +**/ +( +function(){ + return []; +} +)()