Skip to content
Snippets Groups Projects
config_test.go 1.77 KiB
Newer Older
package runner_test
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
	"orus.io/cloudcrane/beaver/testutils"
	"orus.io/cloudcrane/beaver/runner"
)

var (
	fixtures = "fixtures/f1"
	secondFixtures = "fixtures/f2"
	config, err := runner.NewConfig(fixtures)
	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)
	assert.Equal(t, "orus.io", config.Spec.Variables[0].Value)
	assert.Equal(t, "vendor/helm/postgresql", config.Spec.Charts["postgres"].Path)
	assert.Equal(t, "vendor/ytt/odoo", config.Spec.Charts["odoo"].Path)
func TestNamespaceConfigNotMandatory(t *testing.T) {
	_, err := runner.NewConfig(secondFixtures)
	require.NoError(t, err)
}

func TestYttBuildArgs(t *testing.T) {
	tl := testutils.NewTestLogger(t)
	testNS := "ns1"
	absConfigDir, err := filepath.Abs(fixtures)
	require.NoError(t, err)
	c := runner.NewCmdConfig(tl.Logger(), absConfigDir, testNS, false)
	tmpDir, err := os.MkdirTemp(os.TempDir(), "beaver-")
	require.NoError(t, err)
Florent Aide's avatar
Florent Aide committed
	defer func() {
		assert.NoError(t, os.RemoveAll(tmpDir))
	}()
	require.NoError(t, c.Initialize(tmpDir))
	args := c.Spec.Ytt.BuildArgs(fixtures, testNS, []string{"/tmp/postgres.1234.yaml", "/tmp/odoo.5678.yaml"})
steeve.chailloux's avatar
steeve.chailloux committed
		[]string{
			"-f", "/tmp/postgres.1234.yaml", "--file-mark=postgres.1234.yaml:type=yaml-plain",
			"-f", "/tmp/odoo.5678.yaml", "--file-mark=odoo.5678.yaml:type=yaml-plain",
			"-f", filepath.Join(fixtures, "base/ytt"),
			"-f", filepath.Join(fixtures, "base/ytt.yml"),
			"-f", filepath.Join(fixtures, "environments/ns1/ytt"),
			"-f", filepath.Join(fixtures, "environments/ns1/ytt.yaml"),
steeve.chailloux's avatar
steeve.chailloux committed
		},