Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.1 KiB

/* 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',
operatorConfig: {}
},
{
environment: 'test',
CONSUL_BINARY_TYPE: 'oss',
operatorConfig: {
ACLsEnabled: true,
NamespacesEnabled: false,
SSOEnabled: false,
PartitionsEnabled: false,
LocalDatacenter: 'dc1',
}
},
{
$: {
CONSUL_NSPACES_ENABLED: 1
},
environment: 'test',
CONSUL_BINARY_TYPE: 'oss',
operatorConfig: {
ACLsEnabled: true,
NamespacesEnabled: true,
SSOEnabled: false,
PartitionsEnabled: false,
LocalDatacenter: 'dc1',
}
},
{
$: {
CONSUL_SSO_ENABLED: 1
},
environment: 'test',
CONSUL_BINARY_TYPE: 'oss',
operatorConfig: {
ACLsEnabled: true,
NamespacesEnabled: false,
SSOEnabled: true,
PartitionsEnabled: false,
LocalDatacenter: 'dc1',
}
},
{
environment: 'staging',
CONSUL_BINARY_TYPE: 'oss',
operatorConfig: {
ACLsEnabled: true,
NamespacesEnabled: true,
SSOEnabled: true,
PartitionsEnabled: true,
LocalDatacenter: 'dc1',
}
}
].forEach(
function(item) {
const env = getEnvironment(item.environment, typeof item.$ !== 'undefined' ? item.$ : undefined);
Object.keys(item).forEach(
function(key) {
if(key === '$') {
return;
}
t.deepEqual(
env[key],
item[key],
`Expect ${key} to equal ${item[key]} in the ${item.environment} environment ${typeof item.$ !== 'undefined' ? `(with ${JSON.stringify(item.$)})` : ''}`
);
}
);
}
);
t.end();
}
);