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