github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+incompatible/integration/push/name_only_test.go (about) 1 package push 2 3 import ( 4 "strings" 5 6 "code.cloudfoundry.org/cli/integration/helpers" 7 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 . "github.com/onsi/gomega/gbytes" 11 . "github.com/onsi/gomega/gexec" 12 ) 13 14 var _ = Describe("push with only an app name", func() { 15 var ( 16 appName string 17 ) 18 19 BeforeEach(func() { 20 appName = helpers.NewAppName() 21 }) 22 23 Describe("app existence", func() { 24 Context("when the app does not exist", func() { 25 It("creates the app", func() { 26 helpers.WithHelloWorldApp(func(dir string) { 27 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName) 28 Eventually(session).Should(Say("Getting app info\\.\\.\\.")) 29 Eventually(session).Should(Say("Creating app with these attributes\\.\\.\\.")) 30 Eventually(session).Should(Say("\\+\\s+name:\\s+%s", appName)) 31 Eventually(session).Should(Say("\\s+routes:")) 32 Eventually(session).Should(Say("(?i)\\+\\s+%s.%s", appName, defaultSharedDomain())) 33 Eventually(session).Should(Say("Mapping routes\\.\\.\\.")) 34 Eventually(session).Should(Say("Comparing local files to remote cache\\.\\.\\.")) 35 Eventually(session).Should(Say("Packaging files to upload\\.\\.\\.")) 36 Eventually(session).Should(Say("Uploading files\\.\\.\\.")) 37 Eventually(session).Should(Say("100.00%")) 38 Eventually(session).Should(Say("Waiting for API to complete processing files\\.\\.\\.")) 39 Eventually(session).Should(Say("Staging complete")) 40 Eventually(session).Should(Say("Waiting for app to start\\.\\.\\.")) 41 Eventually(session).Should(Say("requested state:\\s+started")) 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(Exit(0)) 48 }) 49 }) 50 51 Context("when the app exists", func() { 52 BeforeEach(func() { 53 helpers.WithHelloWorldApp(func(dir string) { 54 Eventually(helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, "push", appName)).Should(Exit(0)) 55 }) 56 }) 57 58 It("updates the app", func() { 59 helpers.WithHelloWorldApp(func(dir string) { 60 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName) 61 Eventually(session).Should(Say("Getting app info\\.\\.\\.")) 62 Eventually(session).Should(Say("Updating app with these attributes\\.\\.\\.")) 63 Eventually(session).Should(Say("(?m)^\\s+name:\\s+%s$", appName)) 64 Eventually(session).Should(Say("\\s+routes:")) 65 Eventually(session).Should(Say("(?mi)^\\s+%s.%s$", strings.ToLower(appName), defaultSharedDomain())) 66 Eventually(session).Should(Say("Mapping routes\\.\\.\\.")) 67 Eventually(session).Should(Say("Uploading files\\.\\.\\.")) 68 Eventually(session).Should(Say("100.00%")) 69 Eventually(session).Should(Say("Waiting for API to complete processing files\\.\\.\\.")) 70 Eventually(session).Should(Say("Stopping app\\.\\.\\.")) 71 Eventually(session).Should(Say("Staging complete")) 72 Eventually(session).Should(Say("Waiting for app to start\\.\\.\\.")) 73 Eventually(session).Should(Say("requested state:\\s+started")) 74 Eventually(session).Should(Exit(0)) 75 }) 76 77 session := helpers.CF("app", appName) 78 Eventually(session).Should(Say("name:\\s+%s", appName)) 79 Eventually(session).Should(Exit(0)) 80 }) 81 }) 82 }) 83 })