forked from lunanting/cangku
31 lines
1.3 KiB
JavaScript
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);
|
|
});
|