-
Florent Aide authoredFlorent Aide authored
config_test.go 1.26 KiB
package runner
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"orus.io/cloudcrane/beaver/testutils"
)
func TestConfig(t *testing.T) {
logger := testutils.GetLogger(t)
configDir := "fixtures/"
testNS := "ns1"
config, err := NewConfig(logger, configDir, testNS)
require.NoError(t, err)
// first config.spec.variables entry name should be VAULT_KV in our test file
assert.Equal(t, "VAULT_KV", config.Spec.Variables[0].Name)
// the postgres chart should have been expanded with our variables
assert.Equal(
t,
`config:
datasource:
password: <path:cnpp.k8s.cloudcrane.io/data/ns1/postgres#password>
fullnameoverride: pg-exporter-ns1
`,
config.Spec.Charts.Helm["postgres"].Values,
)
// verify ytt entries
assert.Equal(t, "cnpp.k8s.cloudcrane.io", config.Spec.Charts.Ytt["odoo"].Values[0].Value)
assert.Equal(t, testNS, config.Spec.Charts.Ytt["odoo"].Values[1].Value)
// yaml support should let toto entry use DEFAULT_VALUES defined in odoo
assert.Equal(t, "cnpp.k8s.cloudcrane.io", config.Spec.Charts.Ytt["toto"].Values[0].Value)
assert.Equal(t, testNS, config.Spec.Charts.Ytt["toto"].Values[1].Value)
// verify variables overwrite
assert.Equal(t, "admin", config.Spec.Charts.Ytt["odoo"].Values[2].Value)
}