@@ -2,7 +2,13 @@ package it
22
33import (
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
9999func 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
116117var _ = BeforeSuite (func () {
0 commit comments