github.com/arunkumar7540/cli@v6.45.0+incompatible/integration/v7/isolated/unshare_private_domain_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("Unshare Private Domain", func() {
    12  	var (
    13  		domainName      string
    14  		owningOrgName   string
    15  		sharedToOrgName string
    16  	)
    17  
    18  	BeforeEach(func() {
    19  		domainName = helpers.NewDomainName()
    20  		sharedToOrgName = helpers.NewOrgName()
    21  	})
    22  
    23  	Describe("Help Text", func() {
    24  		It("Displays the help text", func() {
    25  			session := helpers.CF("unshare-private-domain", "--help")
    26  			Eventually(session).Should(Say("NAME:"))
    27  			Eventually(session).Should(Say("unshare-private-domain - Unshare a private domain with a specific org"))
    28  			Eventually(session).Should(Say("USAGE:"))
    29  			Eventually(session).Should(Say("cf unshare-private-domain ORG DOMAIN"))
    30  			Eventually(session).Should(Say("SEE ALSO:"))
    31  			Eventually(session).Should(Say("delete-private-domain, domains"))
    32  			Eventually(session).Should(Exit(0))
    33  		})
    34  	})
    35  
    36  	Describe("When the environment is not set up correctly", func() {
    37  		When("The user is not logged in", func() {
    38  			It("lets the user know", func() {
    39  				session := helpers.CF("unshare-private-domain", sharedToOrgName, domainName)
    40  				Eventually(session).Should(Say("FAILED"))
    41  				Eventually(session.Err).Should(Say("Not logged in. Use 'cf login' to log in."))
    42  			})
    43  		})
    44  	})
    45  
    46  	Describe("When the environment is set up correctly", func() {
    47  		When("the user says yes", func() {
    48  			BeforeEach(func() {
    49  				helpers.LoginCF()
    50  				owningOrgName = helpers.CreateAndTargetOrg()
    51  				helpers.CreateOrg(sharedToOrgName)
    52  				domain := helpers.NewDomain(owningOrgName, domainName)
    53  				domain.CreatePrivate()
    54  				domain.V7Share(sharedToOrgName)
    55  			})
    56  
    57  			It("unshares the domain from the org", func() {
    58  				buffer := NewBuffer()
    59  				_, err := buffer.Write([]byte("y\n"))
    60  				Expect(err).ToNot(HaveOccurred())
    61  				session := helpers.CFWithStdin(buffer, "unshare-private-domain", sharedToOrgName, domainName)
    62  				Eventually(session).Should(Say(`Warning: org %s will no longer be able to access private domain %s`, sharedToOrgName, domainName))
    63  				Eventually(session).Should(Say(`Really unshare private domain %s\? \[yN\]`, domainName))
    64  				Eventually(session).Should(Say("Unsharing domain %s from org %s as admin...", domainName, sharedToOrgName))
    65  				Eventually(session).Should(Say("OK"))
    66  				Eventually(session).Should(Exit(0))
    67  
    68  				helpers.TargetOrg(sharedToOrgName)
    69  				session = helpers.CF("domains")
    70  				Consistently(session).Should(Not(Say("%s", domainName)))
    71  			})
    72  
    73  		})
    74  		When("the user says no", func() {
    75  			BeforeEach(func() {
    76  				helpers.LoginCF()
    77  				owningOrgName = helpers.CreateAndTargetOrg()
    78  				helpers.CreateOrg(sharedToOrgName)
    79  				domain := helpers.NewDomain(owningOrgName, domainName)
    80  				domain.CreatePrivate()
    81  				domain.V7Share(sharedToOrgName)
    82  			})
    83  
    84  			It("does not unshare the domain from the org", func() {
    85  				buffer := NewBuffer()
    86  				_, err := buffer.Write([]byte("n\n"))
    87  				Expect(err).ToNot(HaveOccurred())
    88  				session := helpers.CFWithStdin(buffer, "unshare-private-domain", sharedToOrgName, domainName)
    89  				Consistently(session).ShouldNot(Say("Unsharing domain %s from org %s as admin...", domainName, sharedToOrgName))
    90  				Consistently(session).ShouldNot(Say("OK"))
    91  				Eventually(session).Should(Say(`Warning: org %s will no longer be able to access private domain %s`, sharedToOrgName, domainName))
    92  				Eventually(session).Should(Say(`Really unshare private domain %s\? \[yN\]`, domainName))
    93  				Eventually(session).Should(Say("Domain %s has not been unshared from organization %s", domainName, sharedToOrgName))
    94  				Eventually(session).Should(Exit(0))
    95  
    96  				helpers.TargetOrg(sharedToOrgName)
    97  				session = helpers.CF("domains")
    98  				Eventually(session).Should(Say("%s", domainName))
    99  			})
   100  
   101  		})
   102  	})
   103  })