github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/integration/v6/isolated/create_org_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-org", func() { 12 When("invoked with --help", func() { 13 It("displays the help information", func() { 14 session := helpers.CF("create-org", "--help") 15 Eventually(session).Should(Say(`NAME:`)) 16 Eventually(session).Should(Say(`create-org - Create an org\n`)) 17 Eventually(session).Should(Say(`\n`)) 18 19 Eventually(session).Should(Say(`USAGE:`)) 20 Eventually(session).Should(Say(`cf create-org ORG\n`)) 21 Eventually(session).Should(Say(`\n`)) 22 23 Eventually(session).Should(Say(`OPTIONS:`)) 24 Eventually(session).Should(Say(`-q\s+Quota to assign to the newly created org \(excluding this option results in assignment of default quota\)`)) 25 Eventually(session).Should(Say(`\n`)) 26 27 Eventually(session).Should(Say(`SEE ALSO:`)) 28 Eventually(session).Should(Say(`create-space, orgs, quotas, set-org-role`)) 29 30 Eventually(session).Should(Exit(0)) 31 }) 32 }) 33 34 When("the environment is not set up correctly", func() { 35 It("fails with the appropriate errors", func() { 36 helpers.CheckEnvironmentTargetedCorrectly(false, false, "", "create-org", "some-org") 37 }) 38 }) 39 40 When("logged in as a client", func() { 41 var client string 42 43 BeforeEach(func() { 44 client = helpers.LoginCFWithClientCredentials() 45 }) 46 47 It("successfully creates an org", func() { 48 orgName := helpers.NewOrgName() 49 session := helpers.CF("create-org", orgName) 50 51 Eventually(session.Out).Should(Say(`Creating org %s as %s\.\.\.`, orgName, client)) 52 Eventually(session.Out).Should(Say(`OK\n\n`)) 53 Eventually(session.Out).Should(Say(`Assigning role OrgManager to user %s in org %s\.\.\.`, client, orgName)) 54 Eventually(session.Out).Should(Say(`OK\n\n`)) 55 Eventually(session.Out).Should(Say(`TIP: Use 'cf target -o "%s"' to target new org`, orgName)) 56 Eventually(session).Should(Exit(0)) 57 }) 58 }) 59 60 When("logged in as a user", func() { 61 var user string 62 63 BeforeEach(func() { 64 user = helpers.LoginCF() 65 }) 66 67 When("the org does not exist yet", func() { 68 It("creates the org", func() { 69 orgName := helpers.NewOrgName() 70 session := helpers.CF("create-org", orgName) 71 72 Eventually(session.Out).Should(Say(`Creating org %s as %s\.\.\.`, orgName, user)) 73 Eventually(session.Out).Should(Say(`OK\n\n`)) 74 Eventually(session.Out).Should(Say(`Assigning role OrgManager to user %s in org %s\.\.\.`, user, orgName)) 75 Eventually(session.Out).Should(Say(`OK\n\n`)) 76 Eventually(session.Out).Should(Say(`TIP: Use 'cf target -o "%s"' to target new org`, orgName)) 77 Eventually(session).Should(Exit(0)) 78 }) 79 80 It("makes the user an org manager", func() { 81 orgName := helpers.NewOrgName() 82 session := helpers.CF("create-org", orgName) 83 Eventually(session).Should(Exit(0)) 84 85 session = helpers.CF("org-users", orgName) 86 Eventually(session).Should(Exit(0)) 87 Expect(session.Out).To(Say(`ORG MANAGER\n\s+%s`, user)) 88 }) 89 90 When("an existing quota is provided", func() { 91 var quotaName string 92 93 BeforeEach(func() { 94 quotaName = helpers.QuotaName() 95 session := helpers.CF("create-quota", quotaName) 96 Eventually(session).Should(Exit(0)) 97 }) 98 99 It("creates the org with the provided quota", func() { 100 orgName := helpers.NewOrgName() 101 session := helpers.CF("create-org", orgName, "-q", quotaName) 102 Eventually(session).Should(Exit(0)) 103 104 session = helpers.CF("org", orgName) 105 Eventually(session).Should(Exit(0)) 106 Expect(session.Out).To(Say(`quota:\s+%s`, quotaName)) 107 }) 108 }) 109 110 When("a nonexistent quota is provided", func() { 111 It("fails with an error and does not create the org", func() { 112 orgName := helpers.NewOrgName() 113 session := helpers.CF("create-org", orgName, "-q", "no-such-quota") 114 Eventually(session.Err).Should(Say("Quota no-such-quota not found")) 115 Eventually(session).Should(Say(`FAILED\n`)) 116 Eventually(session).Should(Exit(1)) 117 118 Eventually(helpers.CF("org", orgName)).Should(Exit(1)) 119 }) 120 }) 121 }) 122 123 When("the org already exists", func() { 124 var orgName string 125 126 BeforeEach(func() { 127 orgName = helpers.NewOrgName() 128 session := helpers.CF("create-org", orgName) 129 Eventually(session).Should(Exit(0)) 130 }) 131 132 It("warns the user that the org already exists", func() { 133 session := helpers.CF("create-org", orgName) 134 Eventually(session.Out).Should(Say(`Creating org %s as %s\.\.\.`, orgName, user)) 135 Eventually(session.Out).Should(Say(`OK\n`)) 136 Eventually(session.Err).Should(Say("Org %s already exists", orgName)) 137 Eventually(session).Should(Exit(0)) 138 }) 139 }) 140 }) 141 })