|
|
@@ -0,0 +1,44 @@
|
|
|
+package e2e
|
|
|
+
|
|
|
+import (
|
|
|
+ "os"
|
|
|
+ "os/exec"
|
|
|
+ "strings"
|
|
|
+ "testing"
|
|
|
+)
|
|
|
+
|
|
|
+func TestV2MakeTargetCanSkipKubernetesProviderBuild(t *testing.T) {
|
|
|
+ t.Parallel()
|
|
|
+
|
|
|
+ defaultDryRun := runMakeDryRun(t, "VERSION=test-version")
|
|
|
+ if !strings.Contains(defaultDryRun, "docker.build.provider.kubernetes") {
|
|
|
+ t.Fatalf("expected default test.v2 dry-run to build the kubernetes provider image, output:\n%s", defaultDryRun)
|
|
|
+ }
|
|
|
+ if !strings.Contains(defaultDryRun, "ghcr.io/external-secrets/provider-kubernetes:test-version") {
|
|
|
+ t.Fatalf("expected default test.v2 dry-run to still load the kubernetes provider image, output:\n%s", defaultDryRun)
|
|
|
+ }
|
|
|
+
|
|
|
+ skippedDryRun := runMakeDryRun(t, "VERSION=test-version", "SKIP_PROVIDER_KUBERNETES_BUILD=true")
|
|
|
+ if strings.Contains(skippedDryRun, "docker.build.provider.kubernetes") {
|
|
|
+ t.Fatalf("expected skipped test.v2 dry-run to omit the kubernetes provider build, output:\n%s", skippedDryRun)
|
|
|
+ }
|
|
|
+ if !strings.Contains(skippedDryRun, "ghcr.io/external-secrets/provider-kubernetes:test-version") {
|
|
|
+ t.Fatalf("expected skipped test.v2 dry-run to still load the kubernetes provider image, output:\n%s", skippedDryRun)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func runMakeDryRun(t *testing.T, extraArgs ...string) string {
|
|
|
+ t.Helper()
|
|
|
+
|
|
|
+ args := append([]string{"-n", "test.v2"}, extraArgs...)
|
|
|
+ cmd := exec.Command("make", args...)
|
|
|
+ cmd.Dir = "."
|
|
|
+ cmd.Env = os.Environ()
|
|
|
+
|
|
|
+ output, err := cmd.CombinedOutput()
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("make dry-run failed: %v\n%s", err, string(output))
|
|
|
+ }
|
|
|
+
|
|
|
+ return string(output)
|
|
|
+}
|