github.com/sleungcy/cli@v7.1.0+incompatible/integration/v6/isolated/update_quota_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("update-quota command", func() { 12 var ( 13 orgName string 14 spaceName string 15 quotaName string 16 username string 17 ) 18 BeforeEach(func() { 19 orgName = helpers.NewOrgName() 20 spaceName = helpers.NewSpaceName() 21 username, _ = helpers.GetCredentials() 22 23 helpers.SetupCF(orgName, spaceName) 24 quotaName = helpers.QuotaName() 25 totalMemory := "24M" 26 instanceMemory := "6M" 27 routes := "8" 28 serviceInstances := "2" 29 appInstances := "3" 30 reservedRoutePorts := "1" 31 session := helpers.CF("create-quota", quotaName, "-m", totalMemory, "-i", instanceMemory, "-r", routes, "-s", serviceInstances, "-a", appInstances, "--allow-paid-service-plans", "--reserved-route-ports", reservedRoutePorts) 32 Eventually(session).Should(Exit(0)) 33 }) 34 35 AfterEach(func() { 36 helpers.QuickDeleteOrg(orgName) 37 }) 38 39 It("updates a quota", func() { 40 totalMemory := "25M" 41 instanceMemory := "5M" 42 serviceInstances := "1" 43 appInstances := "2" 44 reservedRoutePorts := "0" 45 session := helpers.CF("update-quota", quotaName, "-m", totalMemory, "-i", instanceMemory, "-s", serviceInstances, "-a", appInstances, "--allow-paid-service-plans", "--reserved-route-ports", reservedRoutePorts) 46 Eventually(session).Should(Say("Updating quota %s", quotaName)) 47 Eventually(session).Should(Exit(0)) 48 49 session = helpers.CF("quota", quotaName) 50 Eventually(session).Should(Say(`Total Memory\s+%s`, totalMemory)) 51 Eventually(session).Should(Say(`Instance Memory\s+%s`, instanceMemory)) 52 Eventually(session).Should(Say(`Routes\s+%s`, "8")) 53 Eventually(session).Should(Say(`Services\s+%s`, serviceInstances)) 54 Eventually(session).Should(Say(`Paid service plans\s+%s`, "allowed")) 55 Eventually(session).Should(Say(`App instance limit\s+%s`, appInstances)) 56 Eventually(session).Should(Say(`Reserved Route Ports\s+%s`, reservedRoutePorts)) 57 Eventually(session).Should(Exit(0)) 58 }) 59 60 When("the named quota does not exist", func() { 61 It("displays a missing quota error message and fails", func() { 62 session := helpers.CF("update-quota", "bogus-org-quota") 63 Eventually(session).Should(Say("FAILED")) 64 Eventually(session).Should(Say(`Quota %s not found`, "bogus-org-quota")) 65 Eventually(session).Should(Exit(1)) 66 }) 67 }) 68 69 When("no user-provided updates to the quota are specified", func() { 70 It("behaves idempotently and succeeds", func() { 71 session := helpers.CF("update-quota", quotaName) 72 Eventually(session).Should(Say(`Updating quota %s as %s\.\.\.`, quotaName, username)) 73 Eventually(session).Should(Say("OK")) 74 Eventually(session).Should(Exit(0)) 75 }) 76 }) 77 78 When("conflicting flags are specified", func() { 79 It("displays a flag conflict error message and fails", func() { 80 session := helpers.CF("update-quota", quotaName, "--allow-paid-service-plans", "--disallow-paid-service-plans") 81 Eventually(session).Should(Say("FAILED")) 82 Eventually(session).Should(Say(`Please choose either allow or disallow. Both flags are not permitted to be passed in the same command.`)) 83 Eventually(session).Should(Exit(1)) 84 }) 85 }) 86 })