github.com/sleungcy/cli@v7.1.0+incompatible/integration/shared/experimental/experimental_suite_test.go (about)

     1  package experimental
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  	"time"
     7  
     8  	"code.cloudfoundry.org/cli/integration/helpers"
     9  	. "github.com/onsi/ginkgo"
    10  	. "github.com/onsi/gomega"
    11  )
    12  
    13  const (
    14  	CFEventuallyTimeout   = 300 * time.Second
    15  	CFConsistentlyTimeout = 500 * time.Millisecond
    16  )
    17  
    18  var (
    19  	// Suite Level
    20  	apiURL            string
    21  	skipSSLValidation bool
    22  
    23  	// Per Test Level
    24  	homeDir string
    25  )
    26  
    27  func TestExperimental(t *testing.T) {
    28  	RegisterFailHandler(Fail)
    29  	RunSpecs(t, "Experimental Integration Suite")
    30  }
    31  
    32  var _ = SynchronizedBeforeSuite(func() []byte {
    33  	GinkgoWriter.Write([]byte("==============================Global FIRST Node Synchronized Before Each=============================="))
    34  	SetDefaultEventuallyTimeout(CFEventuallyTimeout)
    35  	SetDefaultConsistentlyDuration(CFConsistentlyTimeout)
    36  
    37  	helpers.SetupSynchronizedSuite(func() {
    38  		helpers.EnableFeatureFlag("diego_docker")
    39  		helpers.EnableFeatureFlag("service_instance_sharing")
    40  	})
    41  
    42  	GinkgoWriter.Write([]byte("==============================End of Global FIRST Node Synchronized Before Each=============================="))
    43  
    44  	return nil
    45  }, func(_ []byte) {
    46  	GinkgoWriter.Write([]byte(fmt.Sprintf("==============================Global Node %d Synchronized Before Each==============================", GinkgoParallelNode())))
    47  	// Ginkgo Globals
    48  	SetDefaultEventuallyTimeout(CFEventuallyTimeout)
    49  	SetDefaultConsistentlyDuration(CFConsistentlyTimeout)
    50  
    51  	// Setup common environment variables
    52  	helpers.TurnOffColors()
    53  
    54  	// Enable Experimental Flag
    55  	helpers.TurnOnExperimental()
    56  
    57  	GinkgoWriter.Write([]byte(fmt.Sprintf("==============================End of Global Node %d Synchronized Before Each==============================", GinkgoParallelNode())))
    58  })
    59  
    60  var _ = SynchronizedAfterSuite(func() {
    61  	GinkgoWriter.Write([]byte(fmt.Sprintf("==============================Global Node %d Synchronized After Each==============================", GinkgoParallelNode())))
    62  	suiteHomeDir := helpers.SetHomeDir()
    63  	helpers.SetAPI()
    64  	helpers.LoginCF()
    65  	helpers.DestroyHomeDir(suiteHomeDir)
    66  	GinkgoWriter.Write([]byte(fmt.Sprintf("==============================End of Global Node %d Synchronized After Each==============================", GinkgoParallelNode())))
    67  }, func() {})
    68  
    69  var _ = BeforeEach(func() {
    70  	GinkgoWriter.Write([]byte("==============================Global Before Each=============================="))
    71  	homeDir = helpers.SetHomeDir()
    72  	apiURL, skipSSLValidation = helpers.SetAPI()
    73  
    74  	GinkgoWriter.Write([]byte("==============================End of Global Before Each=============================="))
    75  })
    76  
    77  var _ = AfterEach(func() {
    78  	GinkgoWriter.Write([]byte("==============================Global After Each=============================="))
    79  	helpers.DestroyHomeDir(homeDir)
    80  	GinkgoWriter.Write([]byte("==============================End of Global After Each=============================="))
    81  })