github.com/randomtask1155/cli@v6.41.1-0.20181227003417-a98eed78cbde+incompatible/integration/v6/push/tcp_random_route_test.go (about)

     1  package push
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccversion"
     5  	"code.cloudfoundry.org/cli/integration/helpers"
     6  	. "github.com/onsi/ginkgo"
     7  	. "github.com/onsi/gomega"
     8  	. "github.com/onsi/gomega/gbytes"
     9  	. "github.com/onsi/gomega/gexec"
    10  )
    11  
    12  var _ = Describe("TCP random route", func() {
    13  	var (
    14  		appName string
    15  	)
    16  
    17  	BeforeEach(func() {
    18  		appName = "short-app-name" // used on purpose to fit route length requirement
    19  	})
    20  
    21  	When("passed the --random-route flag", func() {
    22  		When("also passed a tcp domain", func() {
    23  			var domain helpers.Domain
    24  
    25  			BeforeEach(func() {
    26  				helpers.SkipIfVersionLessThan(ccversion.MinVersionRoutingV3)
    27  
    28  				domainName := helpers.NewDomainName("tcp-domain")
    29  				domain = helpers.NewDomain(organization, domainName)
    30  				domain.CreateWithRouterGroup(helpers.FindOrCreateTCPRouterGroup(GinkgoParallelNode()))
    31  			})
    32  
    33  			AfterEach(func() {
    34  				domain.DeleteShared()
    35  			})
    36  
    37  			It("creates a new route with the provided domain", func() {
    38  				helpers.WithHelloWorldApp(func(dir string) {
    39  					session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--random-route", "-d", domain.Name, "--no-start")
    40  					Eventually(session).Should(Say(`\+\s+%s:\?\?\?\?`, domain.Name))
    41  					Eventually(session).Should(Exit(0))
    42  				})
    43  			})
    44  
    45  			When("the app already exists with a tcp route", func() {
    46  				BeforeEach(func() {
    47  					helpers.WithHelloWorldApp(func(dir string) {
    48  						Eventually(helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--random-route", "-d", domain.Name, "--no-start")).Should(Exit(0))
    49  					})
    50  				})
    51  
    52  				It("does not create any new routes", func() {
    53  					helpers.WithHelloWorldApp(func(dir string) {
    54  						session := helpers.CustomCF(helpers.CFEnv{WorkingDirectory: dir}, PushCommandName, appName, "--random-route", "-d", domain.Name, "--no-start")
    55  						Consistently(session).ShouldNot(Say(`\+\s+%s:`, domain.Name))
    56  						Eventually(session).Should(Exit(0))
    57  					})
    58  				})
    59  			})
    60  		})
    61  	})
    62  })