github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/integration/push/push_suite_test.go (about) 1 package push 2 3 import ( 4 "io/ioutil" 5 "os" 6 "regexp" 7 "testing" 8 "time" 9 10 "code.cloudfoundry.org/cli/integration/helpers" 11 . "github.com/onsi/ginkgo" 12 . "github.com/onsi/gomega" 13 . "github.com/onsi/gomega/gexec" 14 ) 15 16 const ( 17 CFEventuallyTimeout = 300 * time.Second 18 RealIsolationSegment = "persistent_isolation_segment" 19 PushCommandName = "push" 20 PublicDockerImage = "cloudfoundry/diego-docker-app-custom" 21 ) 22 23 var ( 24 // Suite Level 25 organization string 26 space string 27 foundDefaultDomain string 28 realDir string 29 30 // Per Test Level 31 homeDir string 32 ) 33 34 func TestPush(t *testing.T) { 35 RegisterFailHandler(Fail) 36 RunSpecs(t, "Push Integration Suite") 37 } 38 39 var _ = SynchronizedBeforeSuite(func() []byte { 40 return nil 41 }, func(_ []byte) { 42 // Ginkgo Globals 43 SetDefaultEventuallyTimeout(CFEventuallyTimeout) 44 SetDefaultConsistentlyDuration(CFEventuallyTimeout) 45 // Setup common environment variables 46 helpers.TurnOffColors() 47 48 homeDir = helpers.SetHomeDir() 49 helpers.SetAPI() 50 helpers.LoginCF() 51 52 organization = helpers.NewOrgName() 53 helpers.CreateOrg(organization) 54 helpers.TargetOrg(organization) 55 helpers.CreateSpace("empty-space") 56 helpers.DestroyHomeDir(homeDir) 57 58 helpers.SetupSynchronizedSuite(func() { 59 helpers.EnableFeatureFlag("diego_docker") 60 helpers.EnableFeatureFlag("service_instance_sharing") 61 }) 62 63 var err error 64 realDir, err = ioutil.TempDir("", "push-real-dir") 65 Expect(err).ToNot(HaveOccurred()) 66 }) 67 68 var _ = SynchronizedAfterSuite(func() { 69 helpers.SetAPI() 70 helpers.LoginCF() 71 helpers.QuickDeleteOrg(organization) 72 Expect(os.RemoveAll(realDir)).ToNot(HaveOccurred()) 73 }, func() { 74 }) 75 76 var _ = BeforeEach(func() { 77 homeDir = helpers.SetHomeDir() 78 helpers.SetAPI() 79 space = helpers.NewSpaceName() 80 setupCF(organization, space) 81 }) 82 83 var _ = AfterEach(func() { 84 GinkgoWriter.Write([]byte("==============================Global After Each==============================")) 85 helpers.QuickDeleteSpace(space) 86 helpers.DestroyHomeDir(homeDir) 87 }) 88 89 func defaultSharedDomain() string { 90 // TODO: Move this into helpers when other packages need it, figure out how 91 // to cache cuz this is a wacky call otherwise 92 if foundDefaultDomain == "" { 93 session := helpers.CF("domains") 94 Eventually(session).Should(Exit(0)) 95 96 regex, err := regexp.Compile(`(.+?)\s+shared`) 97 Expect(err).ToNot(HaveOccurred()) 98 99 matches := regex.FindStringSubmatch(string(session.Out.Contents())) 100 Expect(matches).To(HaveLen(2)) 101 102 foundDefaultDomain = matches[1] 103 } 104 return foundDefaultDomain 105 } 106 107 func setupCF(org string, space string) { 108 helpers.LoginCF() 109 helpers.TargetOrg(org) 110 helpers.CreateSpace(space) 111 helpers.TargetOrgAndSpace(org, space) 112 }