//go:build unit // +build unit package main import ( "testing" ) func TestExport(t *testing.T) { namespace := allocateNamespace("flux-system") objectFile := "testdata/export/objects.yaml" tmpl := map[string]string{ "fluxns": namespace, } testEnv.CreateObjectFile(objectFile, tmpl, t) cases := []struct { name string arg string goldenFile string tmpl map[string]string }{ { "alert-provider", "export alert-provider slack", "testdata/export/provider.yaml", tmpl, }, { "alert", "export alert flux-system", "testdata/export/alert.yaml", tmpl, }, { "image policy", "export image policy flux-system", "testdata/export/image-policy.yaml", tmpl, }, { "image repository", "export image repository flux-system", "testdata/export/image-repo.yaml", tmpl, }, { "image update", "export image update flux-system", "testdata/export/image-update.yaml", tmpl, }, { "source git", "export source git flux-system", "testdata/export/git-repo.yaml", tmpl, }, { "source chart", "export source chart flux-system", "testdata/export/helm-chart.yaml", tmpl, }, { "source helm", "export source helm flux-system", "testdata/export/helm-repo.yaml", tmpl, }, { "receiver", "export receiver flux-system", "testdata/export/receiver.yaml", tmpl, }, { "kustomization", "export kustomization flux-system", "testdata/export/ks.yaml", tmpl, }, { "helmrelease", "export helmrelease flux-system", "testdata/export/helm-release.yaml", tmpl, }, { "bucket", "export source bucket flux-system", "testdata/export/bucket.yaml", tmpl, }, } for _, tt := range cases { t.Run(tt.name, func(t *testing.T) { cmd := cmdTestCase{ args: tt.arg + " -n=" + namespace, assert: assertGoldenTemplateFile(tt.goldenFile, tmpl), } cmd.runTestCmd(t) }) } }