github.com/cloudfoundry-incubator/stembuild@v0.0.0-20211223202937-5b61d62226c6/integration/package/package_suite_test.go (about)

     1  package package_test
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"testing"
     8  
     9  	"github.com/cloudfoundry-incubator/stembuild/test/helpers"
    10  
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  )
    14  
    15  func TestPackage(t *testing.T) {
    16  	RegisterFailHandler(Fail)
    17  	RunSpecs(t, "Package Suite")
    18  }
    19  
    20  const (
    21  	VcenterCACert                     = "VCENTER_CA_CERT"
    22  	baseVMNameEnvVar                  = "PACKAGE_TEST_VM_NAME"
    23  	vcenterURLVariable                = "VCENTER_BASE_URL"
    24  	vcenterAdminCredentialUrlVariable = "VCENTER_ADMIN_CREDENTIAL_URL"
    25  	vcenterFolderVariable             = "VM_FOLDER"
    26  	vcenterStembuildUsernameVariable  = "VCENTER_USERNAME"
    27  	vcenterStembuildPasswordVariable  = "VCENTER_PASSWORD"
    28  	stembuildVersionVariable          = "STEMBUILD_VERSION"
    29  )
    30  
    31  var (
    32  	pathToCACert     string
    33  	stembuildVersion string
    34  	executable       string
    35  	baseVMName       string
    36  )
    37  
    38  var _ = SynchronizedBeforeSuite(func() []byte {
    39  	rawCA := envMustExist(VcenterCACert)
    40  	t, err := ioutil.TempFile("", "ca-cert")
    41  	Expect(err).ToNot(HaveOccurred())
    42  	pathToCACert = t.Name()
    43  	Expect(t.Close()).To(Succeed())
    44  	err = ioutil.WriteFile(pathToCACert, []byte(rawCA), 0666)
    45  	Expect(err).ToNot(HaveOccurred())
    46  
    47  	stembuildVersion = helpers.EnvMustExist(stembuildVersionVariable)
    48  	executable, err = helpers.BuildStembuild(stembuildVersion)
    49  	Expect(err).NotTo(HaveOccurred())
    50  
    51  	baseVMName = os.Getenv(baseVMNameEnvVar)
    52  	Expect(baseVMName).NotTo(Equal(""), fmt.Sprintf("%s required", baseVMNameEnvVar))
    53  	return nil
    54  }, func(_ []byte) {
    55  })
    56  
    57  var _ = SynchronizedAfterSuite(func() {
    58  }, func() {
    59  	if pathToCACert != "" {
    60  		os.RemoveAll(pathToCACert)
    61  	}
    62  })
    63  
    64  func envMustExist(variableName string) string {
    65  	result := os.Getenv(variableName)
    66  	if result == "" {
    67  		Fail(fmt.Sprintf("%s must be set", variableName))
    68  	}
    69  
    70  	return result
    71  }