72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
/* eslint-env node */
|
|
|
|
const test = require('tape');
|
|
|
|
const getEnvironment = require('../../config/environment.js');
|
|
|
|
test(
|
|
'config has the correct environment settings',
|
|
function(t) {
|
|
[
|
|
{
|
|
environment: 'production',
|
|
CONSUL_BINARY_TYPE: 'oss',
|
|
CONSUL_ACLS_ENABLED: '__RUNTIME_BOOL_ACLsEnabled__',
|
|
CONSUL_SSO_ENABLED: '__RUNTIME_BOOL_SSOEnabled__',
|
|
CONSUL_NSPACES_ENABLED: '__RUNTIME_BOOL_NamespacesEnabled__',
|
|
},
|
|
{
|
|
environment: 'test',
|
|
CONSUL_BINARY_TYPE: 'oss',
|
|
CONSUL_ACLS_ENABLED: true,
|
|
CONSUL_NSPACES_ENABLED: false,
|
|
CONSUL_SSO_ENABLED: false,
|
|
},
|
|
{
|
|
$: {
|
|
CONSUL_NSPACES_ENABLED: 1
|
|
},
|
|
environment: 'test',
|
|
CONSUL_BINARY_TYPE: 'oss',
|
|
CONSUL_ACLS_ENABLED: true,
|
|
CONSUL_NSPACES_ENABLED: true,
|
|
CONSUL_SSO_ENABLED: false,
|
|
},
|
|
{
|
|
$: {
|
|
CONSUL_SSO_ENABLED: 1
|
|
},
|
|
environment: 'test',
|
|
CONSUL_BINARY_TYPE: 'oss',
|
|
CONSUL_ACLS_ENABLED: true,
|
|
CONSUL_NSPACES_ENABLED: false,
|
|
CONSUL_SSO_ENABLED: true,
|
|
},
|
|
{
|
|
environment: 'staging',
|
|
CONSUL_BINARY_TYPE: 'oss',
|
|
CONSUL_ACLS_ENABLED: true,
|
|
CONSUL_NSPACES_ENABLED: true,
|
|
CONSUL_SSO_ENABLED: true,
|
|
}
|
|
].forEach(
|
|
function(item) {
|
|
const env = getEnvironment(item.environment, typeof item.$ !== 'undefined' ? item.$ : undefined);
|
|
Object.keys(item).forEach(
|
|
function(key) {
|
|
if(key === '$') {
|
|
return;
|
|
}
|
|
t.equal(
|
|
env[key],
|
|
item[key],
|
|
`Expect ${key} to equal ${item[key]} in the ${item.environment} environment ${typeof item.$ !== 'undefined' ? `(with ${JSON.stringify(item.$)})` : ''}`
|
|
);
|
|
}
|
|
);
|
|
}
|
|
);
|
|
t.end();
|
|
}
|
|
);
|