From 94c2ccaaa49d05c607c6ef02ac2071ecd5f14229 Mon Sep 17 00:00:00 2001 From: natasha41575 Date: Mon, 11 Apr 2022 16:17:57 -0700 Subject: [PATCH] move test out of temp dir --- Makefile | 4 +- api/krusty/fnplugin_test.go | 65 +++---------------- .../charts/helloworld-chart/Chart.yaml | 0 .../helloworld-chart/templates/NOTES.txt | 0 .../helloworld-chart/templates/_helpers.tpl | 0 .../templates/deployment.yaml | 0 .../helloworld-chart/templates/ingress.yaml | 0 .../helloworld-chart/templates/service.yaml | 0 .../templates/serviceaccount.yaml | 0 .../templates/tests/test-connection.yaml | 0 .../charts/helloworld-chart/values.yaml | 0 .../charts/helloworld-values/values.yaml | 0 .../testdata/fnmounts/kustomization.yaml | 20 ++++++ 13 files changed, 32 insertions(+), 57 deletions(-) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/Chart.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/NOTES.txt (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/_helpers.tpl (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/deployment.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/ingress.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/service.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/serviceaccount.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/templates/tests/test-connection.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-chart/values.yaml (100%) rename api/krusty/testdata/{ => fnmounts}/charts/helloworld-values/values.yaml (100%) create mode 100644 api/krusty/testdata/fnmounts/kustomization.yaml diff --git a/Makefile b/Makefile index 8709fa0fe02..63ae4eb564e 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ kustomize: $(MYGOBIN)/kustomize # Used to add non-default compilation flags when experimenting with # plugin-to-api compatibility checks. .PHONY: build-kustomize-api -build-kustomize-api: $(builtinplugins) +build-kustomize-api: $(MYGOBIN)/goimports $(builtinplugins) cd api; $(MAKE) build .PHONY: generate-kustomize-api @@ -132,7 +132,7 @@ test-unit-all: \ # This target is used by our Github Actions CI to run unit tests for all non-plugin modules in multiple GOOS environments. .PHONY: test-unit-non-plugin -test-unit-non-plugin: +test-unit-non-plugin: kustomize ./hack/for-each-module.sh "make test" "./plugin/*" 15 .PHONY: build-non-plugin-all diff --git a/api/krusty/fnplugin_test.go b/api/krusty/fnplugin_test.go index 758d1a4f152..3a26de1be16 100644 --- a/api/krusty/fnplugin_test.go +++ b/api/krusty/fnplugin_test.go @@ -4,10 +4,10 @@ package krusty_test import ( + "bytes" "os" "os/exec" "path/filepath" - "runtime" "testing" "github.com/stretchr/testify/assert" @@ -639,61 +639,18 @@ metadata: func TestFnContainerMounts(t *testing.T) { skipIfNoDocker(t) - th := kusttest_test.MakeHarness(t) - o := th.MakeOptionsPluginsEnabled() - fSys := filesys.MakeFsOnDisk() - b := MakeKustomizer(&o) - tmpDir, err := filesys.NewTmpConfirmedDir() - assert.NoError(t, err) - path, err := os.Getwd() assert.NoError(t, err) - src := filepath.Join(path, "testdata", "charts") + string(filepath.Separator) - dst := filepath.Join(tmpDir.String(), "testdata", "charts") + string(filepath.Separator) - assert.NoError(t, os.MkdirAll(dst, 0777)) - - switch runtime.GOOS { - case "darwin": - cmd := exec.Command("cp", "-r", src, dst) - assert.NoError(t, cmd.Run()) - case "linux": - d := dst + "." - cmd := exec.Command("cp", "-r", src, d) - assert.NoError(t, cmd.Run()) - default: - t.SkipNow() - } + testDir := filepath.Join(path, "testdata", "fnmounts") + command := exec.Command("kustomize", "build", testDir, "--enable-alpha-plugins") + var stdout bytes.Buffer + var stderr bytes.Buffer + command.Stdout = &stdout + command.Stderr = &stderr + t.Log(stdout.String()) - chartPath, err := filepath.Rel(tmpDir.String(), dst) - assert.NoError(t, err) - - assert.NoError(t, fSys.WriteFile(filepath.Join(tmpDir.String(), "kustomization.yaml"), []byte(` -generators: - - |- - apiVersion: v1alpha1 - kind: RenderHelmChart - metadata: - name: demo - annotations: - config.kubernetes.io/function: | - container: - image: gcr.io/kpt-fn/render-helm-chart:v0.1.0 - mounts: - - type: "bind" - src: "`+chartPath+`" - dst: "/tmp/charts" - helmCharts: - - name: helloworld-chart - releaseName: test - valuesFile: /tmp/charts/helloworld-values/values.yaml -`))) - m, err := b.Run( - fSys, - tmpDir.String()) - assert.NoError(t, err) - yml, err := m.AsYaml() - assert.NoError(t, err) + assert.NoError(t, command.Run()) assert.Equal(t, `apiVersion: v1 kind: ServiceAccount metadata: @@ -790,9 +747,7 @@ spec: image: busybox name: wget restartPolicy: Never -`, string(yml)) - - assert.NoError(t, fSys.RemoveAll(tmpDir.String())) +`, stdout.String()) } func TestFnContainerMountsLoadRestrictions_absolute(t *testing.T) { diff --git a/api/krusty/testdata/charts/helloworld-chart/Chart.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/Chart.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/Chart.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/Chart.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/NOTES.txt b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/NOTES.txt similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/NOTES.txt rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/NOTES.txt diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/_helpers.tpl b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/_helpers.tpl similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/_helpers.tpl rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/_helpers.tpl diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/deployment.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/deployment.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/deployment.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/deployment.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/ingress.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/ingress.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/ingress.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/ingress.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/service.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/service.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/service.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/service.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/serviceaccount.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/serviceaccount.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/serviceaccount.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/serviceaccount.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/templates/tests/test-connection.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/tests/test-connection.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/templates/tests/test-connection.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/templates/tests/test-connection.yaml diff --git a/api/krusty/testdata/charts/helloworld-chart/values.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-chart/values.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-chart/values.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-chart/values.yaml diff --git a/api/krusty/testdata/charts/helloworld-values/values.yaml b/api/krusty/testdata/fnmounts/charts/helloworld-values/values.yaml similarity index 100% rename from api/krusty/testdata/charts/helloworld-values/values.yaml rename to api/krusty/testdata/fnmounts/charts/helloworld-values/values.yaml diff --git a/api/krusty/testdata/fnmounts/kustomization.yaml b/api/krusty/testdata/fnmounts/kustomization.yaml new file mode 100644 index 00000000000..1a24bc7c75f --- /dev/null +++ b/api/krusty/testdata/fnmounts/kustomization.yaml @@ -0,0 +1,20 @@ +# Test file for TestFnContainerMounts + +generators: + - |- + apiVersion: v1alpha1 + kind: RenderHelmChart + metadata: + name: demo + annotations: + config.kubernetes.io/function: | + container: + image: gcr.io/kpt-fn/render-helm-chart:v0.1.0 + mounts: + - type: "bind" + src: "./charts" + dst: "/tmp/charts" + helmCharts: + - name: helloworld-chart + releaseName: test + valuesFile: /tmp/charts/helloworld-values/values.yaml \ No newline at end of file