github.com/jenspinney/cli@v6.42.1-0.20190207184520-7450c600020e+incompatible/integration/v6/push/app_flags_test.go (about) 1 package push 2 3 import ( 4 "fmt" 5 "regexp" 6 "time" 7 8 "code.cloudfoundry.org/cli/integration/helpers" 9 . "github.com/onsi/ginkgo" 10 . "github.com/onsi/gomega" 11 . "github.com/onsi/gomega/gbytes" 12 . "github.com/onsi/gomega/gexec" 13 ) 14 15 var _ = Describe("push with various flags and no manifest", func() { 16 var ( 17 appName string 18 ) 19 20 BeforeEach(func() { 21 appName = helpers.NewAppName() 22 }) 23 24 It("creates the app with the specified settings, with the health check type", func() { 25 helpers.WithHelloWorldApp(func(dir string) { 26 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, 27 PushCommandName, appName, 28 "-b", "staticfile_buildpack", 29 "-c", fmt.Sprintf("echo 'hi' && %s", helpers.StaticfileBuildpackStartCommand), 30 "-u", "port", //works if this stuff is commentted out 31 "-k", "300M", 32 "-i", "2", 33 "-m", "70M", 34 "-s", "cflinuxfs2", 35 "-t", "180", 36 ) 37 Eventually(session).Should(Say(`Getting app info\.\.\.`)) 38 Eventually(session).Should(Say(`Creating app with these attributes\.\.\.`)) 39 Eventually(session).Should(Say(`\+\s+name:\s+%s`, appName)) 40 Eventually(session).Should(Say(`(?m)\s+buildpacks:\s+\+\s+staticfile_buildpack`)) 41 Eventually(session).Should(Say(`\s+command:\s+echo 'hi' && %s`, regexp.QuoteMeta(helpers.StaticfileBuildpackStartCommand))) 42 Eventually(session).Should(Say(`\s+disk quota:\s+300M`)) 43 Eventually(session).Should(Say(`\s+health check timeout:\s+180`)) 44 Eventually(session).Should(Say(`\s+health check type:\s+port`)) 45 Eventually(session).Should(Say(`\s+instances:\s+2`)) 46 Eventually(session).Should(Say(`\s+memory:\s+70M`)) 47 Eventually(session).Should(Say(`\s+stack:\s+cflinuxfs2`)) 48 Eventually(session).Should(Say(`\s+routes:`)) 49 Eventually(session).Should(Say(`(?i)\+\s+%s.%s`, appName, helpers.DefaultSharedDomain())) 50 Eventually(session).Should(Say(`Mapping routes\.\.\.`)) 51 Eventually(session).Should(Say(`Uploading files\.\.\.`)) 52 Eventually(session).Should(Say("100.00%")) 53 Eventually(session).Should(Say(`Waiting for API to complete processing files\.\.\.`)) 54 helpers.ConfirmStagingLogs(session) 55 Eventually(session).Should(Say(`Waiting for app to start\.\.\.`)) 56 Eventually(session).Should(Say(`requested state:\s+started`)) 57 Eventually(session).Should(Say(`start command:\s+echo 'hi' && %s`, regexp.QuoteMeta(helpers.StaticfileBuildpackStartCommand))) 58 Eventually(session).Should(Exit(0)) 59 }) 60 61 // output is different from when API version is below 3.27.0 62 time.Sleep(5 * time.Second) 63 session := helpers.CF("app", appName) 64 Eventually(session).Should(Say(`name:\s+%s`, appName)) 65 Eventually(session).Should(Say(`last uploaded:\s+\w{3} \d{1,2} \w{3} \d{2}:\d{2}:\d{2} \w{3} \d{4}`)) 66 Eventually(session).Should(Say(`stack:\s+cflinuxfs2`)) 67 Eventually(session).Should(Say(`buildpacks:\s+staticfile`)) 68 Eventually(session).Should(Say(`type:\s+web`)) 69 Eventually(session).Should(Say(`instances:\s+2/2`)) 70 Eventually(session).Should(Say(`memory usage:\s+70M`)) 71 Eventually(session).Should(Say(`\s+state\s+since\s+cpu\s+memory\s+disk`)) 72 Eventually(session).Should(Say(`#0\s+running\s+\d{4}-[01]\d-[0-3]\dT[0-2][0-9]:[0-5]\d:[0-5]\dZ`)) 73 Eventually(session).Should(Exit(0)) 74 }) 75 76 It("creates the app with the specified settings, with the health check type being 'http'", func() { 77 helpers.WithHelloWorldApp(func(dir string) { 78 session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, 79 PushCommandName, appName, 80 "-b", "staticfile_buildpack", 81 "-c", fmt.Sprintf("echo 'hi' && %s", helpers.StaticfileBuildpackStartCommand), 82 "-u", "http", 83 "-k", "300M", 84 "-i", "2", 85 "-m", "70M", 86 "-s", "cflinuxfs2", 87 "-t", "180", 88 ) 89 90 Eventually(session).Should(Say(`Getting app info\.\.\.`)) 91 Eventually(session).Should(Say(`Creating app with these attributes\.\.\.`)) 92 Eventually(session).Should(Say(`\+\s+name:\s+%s`, appName)) 93 Eventually(session).Should(Say(`(?m)\s+buildpacks:\s+\+\s+staticfile_buildpack`)) 94 Eventually(session).Should(Say(`\s+command:\s+echo 'hi' && %s`, regexp.QuoteMeta(helpers.StaticfileBuildpackStartCommand))) 95 Eventually(session).Should(Say(`\s+disk quota:\s+300M`)) 96 Eventually(session).Should(Say(`\s+health check http endpoint:\s+/`)) 97 Eventually(session).Should(Say(`\s+health check timeout:\s+180`)) 98 Eventually(session).Should(Say(`\s+health check type:\s+http`)) 99 Eventually(session).Should(Say(`\s+instances:\s+2`)) 100 Eventually(session).Should(Say(`\s+memory:\s+70M`)) 101 Eventually(session).Should(Say(`\s+stack:\s+cflinuxfs`)) 102 Eventually(session).Should(Say(`\s+routes:`)) 103 Eventually(session).Should(Say(`(?i)\+\s+%s.%s`, appName, helpers.DefaultSharedDomain())) 104 Eventually(session).Should(Say(`Mapping routes\.\.\.`)) 105 Eventually(session).Should(Say(`Uploading files\.\.\.`)) 106 Eventually(session).Should(Say("100.00%")) 107 Eventually(session).Should(Say(`Waiting for API to complete processing files\.\.\.`)) 108 helpers.ConfirmStagingLogs(session) 109 Eventually(session).Should(Say(`Waiting for app to start\.\.\.`)) 110 Eventually(session).Should(Say(`requested state:\s+started`)) 111 Eventually(session).Should(Say(`start command:\s+echo 'hi' && %s`, regexp.QuoteMeta(helpers.StaticfileBuildpackStartCommand))) 112 Eventually(session).Should(Exit(0)) 113 }) 114 115 // output is different from when API version is below 3.27.0 116 117 time.Sleep(5 * time.Second) 118 session := helpers.CF("app", appName) 119 Eventually(session).Should(Say(`name:\s+%s`, appName)) 120 Eventually(session).Should(Say(`last uploaded:\s+\w{3} \d{1,2} \w{3} \d{2}:\d{2}:\d{2} \w{3} \d{4}`)) 121 Eventually(session).Should(Say(`stack:\s+cflinuxfs`)) 122 Eventually(session).Should(Say(`buildpacks:\s+staticfile`)) 123 Eventually(session).Should(Say(`type:\s+web`)) 124 Eventually(session).Should(Say(`instances:\s+2/2`)) 125 Eventually(session).Should(Say(`memory usage:\s+70M`)) 126 Eventually(session).Should(Say(`\s+state\s+since\s+cpu\s+memory\s+disk`)) 127 Eventually(session).Should(Say(`#0\s+running\s+\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z`)) 128 Eventually(session).Should(Exit(0)) 129 }) 130 })