@@ -20,6 +20,7 @@ package provisioning
2020
2121import (
2222 "context"
23+ "encoding/base64"
2324 "flag"
2425 "fmt"
2526 "os"
@@ -290,12 +291,23 @@ func TestKubevirtProvisioningE2E(t *testing.T) {
290291 selector := OsSelector ("ubuntu" , "centos" , "flatcar" )
291292
292293 params := []string {
293- fmt .Sprintf ("<< KUBECONFIG >>=%s" , kubevirtKubeconfig ),
294+ fmt .Sprintf ("<< KUBECONFIG_BASE64 >>=%s" , safeBase64Encoding ( kubevirtKubeconfig ) ),
294295 }
295296
296297 runScenarios (t , selector , params , kubevirtManifest , fmt .Sprintf ("kubevirt-%s" , * testRunIdentifier ))
297298}
298299
300+ // safeBase64Encoding takes a value and encodes it with base64
301+ // if it is not already encoded.
302+ func safeBase64Encoding (value string ) string {
303+ // If there was no error, the original value was already encoded.
304+ if _ , err := base64 .StdEncoding .DecodeString (value ); err == nil {
305+ return value
306+ }
307+
308+ return base64 .StdEncoding .EncodeToString ([]byte (value ))
309+ }
310+
299311func TestOpenstackProvisioningE2E (t * testing.T ) {
300312 t .Parallel ()
301313
@@ -690,8 +702,9 @@ func TestGCEProvisioningE2E(t *testing.T) {
690702 // Act. GCE does not support CentOS.
691703 selector := OsSelector ("ubuntu" )
692704 params := []string {
693- fmt .Sprintf ("<< GOOGLE_SERVICE_ACCOUNT >>=%s" , googleServiceAccount ),
705+ fmt .Sprintf ("<< GOOGLE_SERVICE_ACCOUNT_BASE64 >>=%s" , safeBase64Encoding ( googleServiceAccount ) ),
694706 }
707+
695708 runScenarios (t , selector , params , GCEManifest , fmt .Sprintf ("gce-%s" , * testRunIdentifier ))
696709}
697710
0 commit comments