github.com/sleungcy-sap/cli@v7.1.0+incompatible/integration/v7/push/stacks_test.go (about) 1 package push 2 3 import ( 4 "code.cloudfoundry.org/cli/integration/helpers" 5 . "github.com/onsi/ginkgo" 6 . "github.com/onsi/gomega" 7 . "github.com/onsi/gomega/gbytes" 8 . "github.com/onsi/gomega/gexec" 9 ) 10 11 var _ = Describe("stack", func() { 12 var ( 13 appName string 14 stackName string 15 ) 16 17 BeforeEach(func() { 18 appName = helpers.PrefixedRandomName("app") 19 stackName = helpers.CreateStack() 20 }) 21 22 AfterEach(func() { 23 buffer := NewBuffer() 24 _, err := buffer.Write([]byte("y\n")) 25 Expect(err).ToNot(HaveOccurred()) 26 session := helpers.CFWithStdin(buffer, "delete", appName) 27 Eventually(session).Should(Exit(0)) 28 helpers.DeleteStack(stackName) 29 }) 30 31 When("the --stack flag is provided", func() { 32 It("successfully pushes the app with the provided stack", func() { 33 helpers.WithHelloWorldApp(func(appDir string) { 34 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: appDir}, 35 PushCommandName, appName, 36 "--stack", stackName, 37 "--no-start", 38 ) 39 Eventually(session).Should(Exit(0)) 40 Expect(helpers.AppJSON(appName)).To(MatchRegexp(`"stack":\s*"%s"`, stackName)) 41 }) 42 }) 43 44 It("fails to push the app with an invalid stack", func() { 45 helpers.WithHelloWorldApp(func(appDir string) { 46 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: appDir}, 47 PushCommandName, appName, 48 "--stack", "invalidStack", 49 ) 50 51 Eventually(session.Err).Should(Say(`Stack must be an existing stack`)) 52 Eventually(session).Should(Say("FAILED")) 53 Eventually(session).Should(Exit(1)) 54 }) 55 }) 56 }) 57 })