github.com/sleungcy/cli@v7.1.0+incompatible/integration/v7/isolated/create_isolation_segment_command_test.go (about)

     1  package isolated
     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("create-isolation-segment command", func() {
    12  	var isolationSegmentName string
    13  
    14  	BeforeEach(func() {
    15  		isolationSegmentName = helpers.NewIsolationSegmentName()
    16  	})
    17  
    18  	Describe("help", func() {
    19  		When("--help flag is set", func() {
    20  			It("Displays command usage to output", func() {
    21  				session := helpers.CF("create-isolation-segment", "--help")
    22  				Eventually(session).Should(Say("NAME:"))
    23  				Eventually(session).Should(Say("create-isolation-segment - Create an isolation segment"))
    24  				Eventually(session).Should(Say("USAGE:"))
    25  				Eventually(session).Should(Say("cf create-isolation-segment SEGMENT_NAME"))
    26  				Eventually(session).Should(Say("NOTES:"))
    27  				Eventually(session).Should(Say("The isolation segment name must match the placement tag applied to the Diego cell."))
    28  				Eventually(session).Should(Say("SEE ALSO:"))
    29  				Eventually(session).Should(Say("enable-org-isolation, isolation-segments"))
    30  				Eventually(session).Should(Exit(0))
    31  			})
    32  		})
    33  	})
    34  
    35  	When("the environment is not setup correctly", func() {
    36  		It("fails with the appropriate errors", func() {
    37  			helpers.CheckEnvironmentTargetedCorrectly(false, false, ReadOnlyOrg, "create-isolation-segment", "isolation-seg-name")
    38  		})
    39  	})
    40  
    41  	When("the environment is set up correctly", func() {
    42  		BeforeEach(func() {
    43  			helpers.LoginCF()
    44  		})
    45  
    46  		When("the isolation segment does not exist", func() {
    47  			It("creates the isolation segment", func() {
    48  				session := helpers.CF("create-isolation-segment", isolationSegmentName)
    49  				userName, _ := helpers.GetCredentials()
    50  				Eventually(session).Should(Say("Creating isolation segment %s as %s...", isolationSegmentName, userName))
    51  				Eventually(session).Should(Say("OK"))
    52  				Eventually(session).Should(Exit(0))
    53  			})
    54  		})
    55  
    56  		When("the isolation segment already exists", func() {
    57  			BeforeEach(func() {
    58  				Eventually(helpers.CF("create-isolation-segment", isolationSegmentName)).Should(Exit(0))
    59  			})
    60  
    61  			It("returns an ok", func() {
    62  				session := helpers.CF("create-isolation-segment", isolationSegmentName)
    63  				Eventually(session.Err).Should(Say("Isolation segment '%s' already exists", isolationSegmentName))
    64  				Eventually(session).Should(Say("OK"))
    65  				Eventually(session).Should(Exit(0))
    66  			})
    67  		})
    68  	})
    69  })