github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/integration/shared/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  })