github.com/arunkumar7540/cli@v6.45.0+incompatible/integration/v7/push/name_only_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 _ = When("only the name is provided", func() { 12 var ( 13 appName string 14 userName string 15 ) 16 17 BeforeEach(func() { 18 appName = helpers.PrefixedRandomName("app") 19 userName, _ = helpers.GetCredentials() 20 }) 21 22 When("the app does not already exist", func() { 23 It("creates a new app", func() { 24 helpers.WithHelloWorldApp(func(appDir string) { 25 session := helpers.CustomCF( 26 helpers.CFEnv{WorkingDirectory: appDir}, 27 PushCommandName, appName, 28 ) 29 30 Eventually(session).Should(Say(`Creating app %s\.\.\.`, appName)) 31 Eventually(session).Should(Say(`Pushing app %s to org %s / space %s as %s\.\.\.`, appName, organization, space, userName)) 32 Eventually(session).Should(Say(`Getting app info\.\.\.`)) 33 Eventually(session).Should(Say(`Packaging files to upload\.\.\.`)) 34 Eventually(session).Should(Say(`Uploading files\.\.\.`)) 35 Eventually(session).Should(Say(`100.00%`)) 36 Eventually(session).Should(Say(`Waiting for API to complete processing files\.\.\.`)) 37 Eventually(session).Should(Say(`Staging app and tracing logs\.\.\.`)) 38 Eventually(session).Should(Say(`Waiting for app %s to start\.\.\.`, appName)) 39 Eventually(session).Should(Say(`name:\s+%s`, appName)) 40 Eventually(session).Should(Say(`requested state:\s+started`)) 41 Eventually(session).Should(Say(`routes:\s+%s.%s`, appName, helpers.DefaultSharedDomain())) 42 Eventually(session).Should(Say(`type:\s+web`)) 43 Eventually(session).Should(Say(`start command:\s+%s`, helpers.StaticfileBuildpackStartCommand)) 44 Eventually(session).Should(Exit(0)) 45 }) 46 }) 47 }) 48 49 When("the app exists", func() { 50 BeforeEach(func() { 51 helpers.WithHelloWorldApp(func(appDir string) { 52 Eventually(helpers.CustomCF(helpers.CFEnv{WorkingDirectory: appDir}, 53 PushCommandName, appName, 54 )).Should(Exit(0)) 55 }) 56 }) 57 58 It("pushes the app", func() { 59 helpers.WithHelloWorldApp(func(appDir string) { 60 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: appDir}, 61 PushCommandName, appName, 62 ) 63 64 Eventually(session).Should(Say(`Updating app %s\.\.\.`, appName)) 65 Eventually(session).Should(Say(`Pushing app %s to org %s / space %s as %s\.\.\.`, appName, organization, space, userName)) 66 Eventually(session).Should(Say(`Getting app info\.\.\.`)) 67 Eventually(session).Should(Say(`Packaging files to upload\.\.\.`)) 68 Eventually(session).Should(Say(`Uploading files\.\.\.`)) 69 Eventually(session).Should(Say(`100.00%`)) 70 Eventually(session).Should(Say(`Waiting for API to complete processing files\.\.\.`)) 71 Eventually(session).Should(Say(`Staging app and tracing logs\.\.\.`)) 72 Eventually(session).Should(Say(`Waiting for app %s to start\.\.\.`, appName)) 73 Eventually(session).Should(Say(`name:\s+%s`, appName)) 74 Eventually(session).Should(Say(`requested state:\s+started`)) 75 Eventually(session).Should(Say(`routes:\s+%s.%s`, appName, helpers.DefaultSharedDomain())) 76 Eventually(session).Should(Say(`type:\s+web`)) 77 Eventually(session).Should(Say(`start command:\s+%s`, helpers.StaticfileBuildpackStartCommand)) 78 Eventually(session).Should(Exit(0)) 79 }) 80 }) 81 }) 82 83 When("the app crashes", func() { 84 It("pushes the app", func() { 85 helpers.WithCrashingApp(func(appDir string) { 86 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: appDir}, PushCommandName, appName) 87 Eventually(session).Should(Say(`Creating app %s\.\.\.`, appName)) 88 Eventually(session).Should(Say(`Pushing app %s to org %s / space %s as %s\.\.\.`, appName, organization, space, userName)) 89 Eventually(session).Should(Say(`Getting app info\.\.\.`)) 90 Eventually(session).Should(Say(`Packaging files to upload\.\.\.`)) 91 Eventually(session).Should(Say(`Uploading files\.\.\.`)) 92 Eventually(session).Should(Say(`100.00%`)) 93 Eventually(session).Should(Say(`Waiting for API to complete processing files\.\.\.`)) 94 Eventually(session).Should(Say(`Staging app and tracing logs\.\.\.`)) 95 Eventually(session).Should(Say(`Waiting for app %s to start\.\.\.`, appName)) 96 Eventually(session).Should(Say(`name:\s+%s`, appName)) 97 Eventually(session).Should(Say(`requested state:\s+started`)) 98 Eventually(session).Should(Say(`type:\s+web`)) 99 Eventually(session).Should(Say(`start command:\s+bogus bogus`)) 100 Eventually(session).Should(Say(`#0\s+crashed`)) 101 Eventually(session.Err).Should(Say(`Start unsuccessful`)) 102 Eventually(session.Err).Should(Say(`TIP: use 'cf logs %s --recent' for more information`, appName)) 103 Eventually(session).Should(Exit(1)) 104 }) 105 }) 106 }) 107 })