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.
65 lines
1.4 KiB
65 lines
1.4 KiB
3 years ago
|
'use strict'
|
||
|
|
||
|
const t = require('tap')
|
||
|
const makeTest = require('./make-test')
|
||
|
const { join } = require('path')
|
||
|
|
||
|
process.env.K8S_NAMESPACE = 'pippo'
|
||
|
process.env.K8S_CLUSTERID = 'pluto'
|
||
|
process.env.URL = 'https://prefix.$K8S_NAMESPACE.$K8S_CLUSTERID.my.domain.com'
|
||
|
process.env.PASSWORD = 'password'
|
||
|
|
||
|
const tests = [
|
||
|
{
|
||
|
name: 'simple object - ok - expandEnv',
|
||
|
schema: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
URL: {
|
||
|
type: 'string'
|
||
|
},
|
||
|
K8S_NAMESPACE: {
|
||
|
type: 'string'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
expandEnv: true,
|
||
|
isOk: true,
|
||
|
confExpected: {
|
||
|
URL: 'https://prefix.pippo.pluto.my.domain.com',
|
||
|
K8S_NAMESPACE: 'pippo'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
name: 'simple object - ok - expandEnv use dotenv',
|
||
|
schema: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
EXPANDED_VALUE_FROM_DOTENV: {
|
||
|
type: 'string'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
expandEnv: true,
|
||
|
isOk: true,
|
||
|
dotenv: { path: join(__dirname, '.env') },
|
||
|
confExpected: {
|
||
|
EXPANDED_VALUE_FROM_DOTENV: 'the password is password!'
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
|
||
|
tests.forEach(function (testConf) {
|
||
|
t.test(testConf.name, t => {
|
||
|
const options = {
|
||
|
schema: testConf.schema,
|
||
|
data: testConf.data,
|
||
|
dotenv: testConf.dotenv,
|
||
|
dotenvConfig: testConf.dotenvConfig,
|
||
|
expandEnv: testConf.expandEnv
|
||
|
}
|
||
|
|
||
|
makeTest(t, options, testConf.isOk, testConf.confExpected, testConf.errorMessage)
|
||
|
})
|
||
|
})
|