'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { shouldRequireImageSearchCredentials } = require('../src/services/imageSearchCredentialGuard'); test('optional image search never blocks production unless explicitly required', (context) => { const previousNodeEnv = process.env.NODE_ENV; const previousRequirement = process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS; context.after(() => { if (previousNodeEnv === undefined) delete process.env.NODE_ENV; else process.env.NODE_ENV = previousNodeEnv; if (previousRequirement === undefined) delete process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS; else process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS = previousRequirement; }); process.env.NODE_ENV = 'production'; delete process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS; assert.equal(shouldRequireImageSearchCredentials(), false); process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS = 'false'; assert.equal(shouldRequireImageSearchCredentials(), false); process.env.NODE_ENV = 'development'; delete process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS; assert.equal(shouldRequireImageSearchCredentials(), false); process.env.REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS = 'true'; assert.equal(shouldRequireImageSearchCredentials(), true); });