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  })