From a3bf41952676d5bce360d834b485d9293b1cb4ec Mon Sep 17 00:00:00 2001 From: Jacek Date: Thu, 11 Jun 2026 11:33:01 -0500 Subject: [PATCH] ci(e2e): report captcha drift in staging instance validation --- .changeset/heavy-pugs-warn.md | 2 ++ scripts/validate-staging-instances.mjs | 3 +-- scripts/validate-staging-instances.test.mjs | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 .changeset/heavy-pugs-warn.md diff --git a/.changeset/heavy-pugs-warn.md b/.changeset/heavy-pugs-warn.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/heavy-pugs-warn.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/scripts/validate-staging-instances.mjs b/scripts/validate-staging-instances.mjs index 5afb0178617..a02e336aaac 100644 --- a/scripts/validate-staging-instances.mjs +++ b/scripts/validate-staging-instances.mjs @@ -25,8 +25,6 @@ const IGNORED_PATHS = [ /\.id$/, /^auth_config\.id$/, /\.logo_url$/, - /\.captcha_enabled$/, - /\.captcha_widget_type$/, /\.enforce_hibp_on_sign_in$/, /\.disable_hibp$/, ]; @@ -416,5 +414,6 @@ export { collapseAttributeMismatches, collapseSocialMismatches, compareEnvironments, + isIgnored, main, }; diff --git a/scripts/validate-staging-instances.test.mjs b/scripts/validate-staging-instances.test.mjs index 57c86a53801..f1381349ea5 100644 --- a/scripts/validate-staging-instances.test.mjs +++ b/scripts/validate-staging-instances.test.mjs @@ -11,11 +11,29 @@ import { collapseSocialMismatches, diffObjects, fetchEnvironment, + isIgnored, loadKeys, main, parseFapiDomain, } from './validate-staging-instances.mjs'; +// ── isIgnored ─────────────────────────────────────────────────────────────── + +describe('isIgnored', () => { + it('compares captcha settings (behavior-changing for headless e2e)', () => { + expect(isIgnored('user_settings.sign_up.captcha_enabled')).toBe(false); + expect(isIgnored('user_settings.sign_up.captcha_widget_type')).toBe(false); + }); + + it('still ignores ids, logo_url and hibp settings', () => { + expect(isIgnored('user_settings.social.oauth_google.id')).toBe(true); + expect(isIgnored('auth_config.id')).toBe(true); + expect(isIgnored('user_settings.social.oauth_google.logo_url')).toBe(true); + expect(isIgnored('user_settings.sign_in.enforce_hibp_on_sign_in')).toBe(true); + expect(isIgnored('user_settings.password_settings.disable_hibp')).toBe(true); + }); +}); + // ── loadKeys ──────────────────────────────────────────────────────────────── describe('loadKeys', () => {