{ "metadata": { "guid": "my-quota-guid" }, "entity": { "name": "my-remote-quota", "memory_limit": 1024 } } ]}`}, }) ts, handler, repo := createQuotaRepo(req) defer ts.Close() quota, apiResponse := repo.FindByName("my-quota") Expect(handler.AllRequestsCalled()).To(BeTrue()) Expect(apiResponse.IsNotSuccessful()).To(BeFalse()) expectedQuota := models.QuotaFields{} expectedQuota.Guid = "my-quota-guid" expectedQuota.Name = "my-remote-quota" expectedQuota.MemoryLimit = 1024 Expect(quota).To(Equal(expectedQuota)) }) }) Describe("Update", func() { It("sets the quota for an organization", func() { req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "PUT", Path: "/v2/organizations/my-org-guid", Matcher: testnet.RequestBodyMatcher(`{"quota_definition_guid":"my-quota-guid"}`), Response: testnet.TestResponse{Status: http.StatusCreated}, })
}) Context("when the user is logged in", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true }) It("fails requirements when called without a quota name", func() { runCommand() Expect(ui.FailedWithUsage).To(BeTrue()) }) Context("When the quota provided exists", func() { BeforeEach(func() { quota := models.QuotaFields{} quota.Name = "my-quota" quota.Guid = "my-quota-guid" quotaRepo.FindByNameReturns.Quota = quota }) It("deletes a quota with a given name when the user confirms", func() { ui.Inputs = []string{"y"} runCommand("my-quota") Expect(quotaRepo.DeleteCalledWith.Guid).To(Equal("my-quota-guid")) Expect(ui.Prompts).To(ContainSubstrings( []string{"Really delete the quota", "my-quota"}, ))
reqFactory.LoginSuccess = true }) It("passes requirements when provided two args", func() { callSetQuota([]string{"my-org", "my-quota"}, reqFactory, quotaRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) Expect(reqFactory.OrganizationName).To(Equal("my-org")) }) It("TestSetQuota", func() { org := models.Organization{} org.Name = "my-org" org.Guid = "my-org-guid" quota := models.QuotaFields{} quota.Name = "my-found-quota" quota.Guid = "my-quota-guid" quotaRepo.FindByNameQuota = quota reqFactory.Organization = org ui := callSetQuota([]string{"my-org", "my-quota"}, reqFactory, quotaRepo) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Setting quota", "my-found-quota", "my-org", "my-user"}, {"OK"}, }) Expect(quotaRepo.FindByNameName).To(Equal("my-quota")) Expect(quotaRepo.UpdateOrgGuid).To(Equal("my-org-guid")) Expect(quotaRepo.UpdateQuotaGuid).To(Equal("my-quota-guid"))
var _ = Describe("Testing with ginkgo", func() { It("TestListQuotasRequirements", func() { quotaRepo := &testapi.FakeQuotaRepository{} reqFactory := &testreq.FakeReqFactory{LoginSuccess: true} callListQuotas(reqFactory, quotaRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) reqFactory = &testreq.FakeReqFactory{LoginSuccess: false} callListQuotas(reqFactory, quotaRepo) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("TestListQuotas", func() { quota := models.QuotaFields{} quota.Name = "quota-name" quota.MemoryLimit = 1024 quotaRepo := &testapi.FakeQuotaRepository{FindAllQuotas: []models.QuotaFields{quota}} reqFactory := &testreq.FakeReqFactory{LoginSuccess: true} ui := callListQuotas(reqFactory, quotaRepo) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Getting quotas as", "my-user"}, {"OK"}, {"name", "memory limit"}, {"quota-name", "1g"}, }) }) })