Skip to content

Commit acd2e77

Browse files
authored
chore(internal/it): replace kubectl apply bash script with direct exec (#163)
Fixes: #79
1 parent 4fb8541 commit acd2e77

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

internal/it/suite_test.go

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@ package it
22

33
import (
44
"context"
5-
"fmt"
5+
"log"
6+
"os"
7+
"os/exec"
8+
"strings"
9+
"testing"
10+
"time"
11+
612
"github.com/go-logr/stdr"
713
"github.com/jodevsa/wireguard-operator/pkg/api/v1alpha1"
814
. "github.com/onsi/ginkgo"
@@ -12,17 +18,11 @@ import (
1218
"k8s.io/client-go/kubernetes/scheme"
1319
"k8s.io/client-go/rest"
1420
"k8s.io/client-go/tools/clientcmd"
15-
"log"
16-
"os"
17-
"os/exec"
1821
"sigs.k8s.io/controller-runtime/pkg/client"
1922
"sigs.k8s.io/controller-runtime/pkg/envtest"
2023
"sigs.k8s.io/kind/pkg/apis/config/v1alpha4"
2124
kind "sigs.k8s.io/kind/pkg/cluster"
2225
log2 "sigs.k8s.io/kind/pkg/log"
23-
"strings"
24-
"testing"
25-
"time"
2626
//+kubebuilder:scaffold:imports
2727
)
2828

@@ -97,20 +97,21 @@ func WaitForPeerToBeReady(name string, namespace string) {
9797
}
9898

9999
func KubectlApply(resource string, namespace string) (string, error) {
100-
bashCommand := fmt.Sprintf("echo \"%s\" | kubectl apply -n %s --context %s -f -", strings.TrimSpace(strings.ReplaceAll(resource, "\"", "\\\"")), namespace, testKindContextName)
101-
102-
cmd := exec.Command("bash", "-c", bashCommand)
103-
104-
o, err := cmd.Output()
105-
106-
if err != nil {
107-
if exitError, ok := err.(*exec.ExitError); ok {
108-
return string(exitError.Stderr), err
109-
}
110-
return "", err
100+
cmd := exec.Command("kubectl", "apply",
101+
"--context", testKindContextName,
102+
"-n", namespace,
103+
"-f", "-",
104+
)
105+
cmd.Stdin = strings.NewReader(resource)
106+
107+
var stdout, stderr strings.Builder
108+
cmd.Stdout = &stdout
109+
cmd.Stderr = &stderr
110+
111+
if err := cmd.Run(); err != nil {
112+
return stderr.String(), err
111113
}
112-
113-
return strings.TrimSpace(string(o)), nil
114+
return strings.TrimSpace(stdout.String()), nil
114115
}
115116

116117
var _ = BeforeSuite(func() {

0 commit comments

Comments
 (0)