)) Expect(spaceRepo.CreateSpaceName).To(Equal("")) }) }) Context("when the -q flag is provided", func() { It("assigns the space-quota specified to the space", func() { spaceQuota := models.SpaceQuota{ Name: "my-space-quota", Guid: "my-space-quota-guid", } spaceQuotaRepo.FindByNameReturns(spaceQuota, nil) runCommand("-q", "my-space-quota", "my-space") Expect(spaceQuotaRepo.FindByNameArgsForCall(0)).To(Equal(spaceQuota.Name)) Expect(spaceRepo.CreateSpaceSpaceQuotaGuid).To(Equal(spaceQuota.Guid)) }) Context("when the space-quota provided does not exist", func() { It("fails", func() { spaceQuotaRepo.FindByNameReturns(models.SpaceQuota{}, errors.New("Error")) runCommand("-q", "my-space-quota", "my-space") Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"Error"}, )) }) })
requirementsFactory.TargetedOrgSuccess = true }) It("unassigns a quota from a space", func() { space := models.Space{ SpaceFields: models.SpaceFields{ Name: "my-space", Guid: "my-space-guid", }, } quota := models.SpaceQuota{Name: "my-quota", Guid: "my-quota-guid"} quotaRepo.FindByNameReturns(quota, nil) spaceRepo.FindByNameReturns(space, nil) runCommand("my-space", "my-quota") Expect(ui.Outputs).To(ContainSubstrings( []string{"Unassigning space quota", "my-quota", "my-space", "my-user"}, []string{"OK"}, )) Expect(quotaRepo.FindByNameArgsForCall(0)).To(Equal("my-quota")) spaceGuid, quotaGuid := quotaRepo.UnassignQuotaFromSpaceArgsForCall(0) Expect(spaceGuid).To(Equal("my-space-guid")) Expect(quotaGuid).To(Equal("my-quota-guid")) }) }) })
Context("when quotas exist", func() { BeforeEach(func() { quotaRepo.FindByNameReturns( models.SpaceQuota{ Name: "quota-name", MemoryLimit: 1024, InstanceMemoryLimit: -1, RoutesLimit: 111, ServicesLimit: 222, NonBasicServicesAllowed: true, OrgGuid: "my-org-guid", }, nil) }) It("lists the specific quota info", func() { Expect(quotaRepo.FindByNameArgsForCall(0)).To(Equal("quota-name")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Getting space quota quota-name info as", "my-user"}, []string{"OK"}, []string{"total memory limit", "1G"}, []string{"instance memory limit", "unlimited"}, []string{"routes", "111"}, []string{"service", "222"}, []string{"non basic services", "allowed"}, )) }) Context("when the services are unlimited", func() { BeforeEach(func() { quotaRepo.FindByNameReturns( models.SpaceQuota{