github.com/ablease/cli@v6.37.1-0.20180613014814-3adbb7d7fb19+incompatible/integration/push/no_hostname_test.go (about) 1 package push 2 3 import ( 4 "code.cloudfoundry.org/cli/api/cloudcontroller/ccversion" 5 "code.cloudfoundry.org/cli/integration/helpers" 6 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 . "github.com/onsi/gomega/gbytes" 10 . "github.com/onsi/gomega/gexec" 11 ) 12 13 var _ = Describe("pushing with no-hostname", func() { 14 var ( 15 appName string 16 domainName string 17 ) 18 19 BeforeEach(func() { 20 appName = helpers.NewAppName() 21 domainName = helpers.DomainName() 22 }) 23 24 Context("when pushing with no manifest", func() { 25 Context("when using a private domain", func() { 26 var domain helpers.Domain 27 28 BeforeEach(func() { 29 domain = helpers.NewDomain(organization, domainName) 30 domain.Create() 31 }) 32 33 AfterEach(func() { 34 domain.Delete() 35 }) 36 37 It("creates a route with no hostname", func() { 38 helpers.WithHelloWorldApp(func(dir string) { 39 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--no-hostname", "-d", domainName, "--no-start") 40 Eventually(session).Should(Say("\\+\\s+name:\\s+%s", appName)) 41 Eventually(session).Should(Say("\\+\\s+%s", domainName)) 42 Eventually(session).Should(Exit(0)) 43 }) 44 45 session := helpers.CF("app", appName) 46 Eventually(session).Should(Say("name:\\s+%s", appName)) 47 Eventually(session).Should(Say("(?m)routes:\\s+%s", domainName)) 48 Eventually(session).Should(Exit(0)) 49 }) 50 }) 51 52 Context("when using a shared domain", func() { 53 Context("when using an HTTP domain", func() { 54 It("returns an invalid route error", func() { 55 helpers.WithHelloWorldApp(func(dir string) { 56 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--no-hostname", "--no-start") 57 Eventually(session.Err).Should(Say("The route is invalid: a hostname is required for shared domains.")) 58 Eventually(session).Should(Exit(1)) 59 }) 60 }) 61 }) 62 63 Context("when using a TCP domain", func() { 64 var domain helpers.Domain 65 66 BeforeEach(func() { 67 helpers.SkipIfVersionLessThan(ccversion.MinVersionRoutingV3) 68 69 domain = helpers.NewDomain(organization, domainName) 70 domain.CreateWithRouterGroup(helpers.FindOrCreateTCPRouterGroup(GinkgoParallelNode())) 71 }) 72 73 AfterEach(func() { 74 domain.DeleteShared() 75 }) 76 77 It("creates a TCP route", func() { 78 helpers.WithHelloWorldApp(func(dir string) { 79 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--no-hostname", "-d", domainName, "--no-start") 80 Eventually(session).Should(Say("\\+\\s+name:\\s+%s", appName)) 81 Eventually(session).Should(Say("\\+\\s+%s:", domainName)) 82 Eventually(session).Should(Exit(0)) 83 }) 84 85 session := helpers.CF("app", appName) 86 Eventually(session).Should(Say("name:\\s+%s", appName)) 87 Eventually(session).Should(Say("(?m)routes:\\s+%s:\\d+", domainName)) 88 Eventually(session).Should(Exit(0)) 89 }) 90 }) 91 }) 92 }) 93 })