cangku/backend/test/imageSearchCredentialGuard.test.js

31 lines
1.3 KiB
JavaScript

'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);
});