Context("when everything exists", func() { BeforeEach(func() { securityGroup := models.SecurityGroup{ SecurityGroupFields: models.SecurityGroupFields{ Name: "my-group", Guid: "my-group-guid", Rules: []map[string]interface{}{}, }, } securityGroupRepo.ReadReturns(securityGroup, nil) orgRepo.ListOrgsReturns([]models.Organization{{ OrganizationFields: models.OrganizationFields{ Name: "my-org", Guid: "my-org-guid", }}, }, nil) space := models.Space{SpaceFields: models.SpaceFields{Name: "my-space", Guid: "my-space-guid"}} spaceRepo.FindByNameInOrgReturns(space, nil) }) It("removes the security group when we only pass the security group name (using the targeted org and space)", func() { runCommand("my-group") Expect(ui.Outputs).To(ContainSubstrings( []string{"Unbinding security group", "my-org", "my-space", "my-user"}, []string{"OK"}, )) securityGroupGuid, spaceGuid := secBinder.UnbindSpaceArgsForCall(0)
var ( pluginOrgsModel []plugin_models.GetOrgs_Model ) BeforeEach(func() { org1 := models.Organization{} org1.Name = "Organization-1" org1.Guid = "org-1-guid" org2 := models.Organization{} org2.Name = "Organization-2" org3 := models.Organization{} org3.Name = "Organization-3" orgRepo.ListOrgsReturns([]models.Organization{org1, org2, org3}, nil) pluginOrgsModel = []plugin_models.GetOrgs_Model{} deps.PluginModels.Organizations = &pluginOrgsModel }) It("populates the plugin models upon execution", func() { testcmd.RunCliCommand("orgs", []string{}, requirementsFactory, updateCommandDependency, true) Ω(pluginOrgsModel[0].Name).To(Equal("Organization-1")) Ω(pluginOrgsModel[0].Guid).To(Equal("org-1-guid")) Ω(pluginOrgsModel[1].Name).To(Equal("Organization-2")) Ω(pluginOrgsModel[2].Name).To(Equal("Organization-3")) }) }) Context("when there are orgs to be listed", func() {
org models.Organization ) BeforeEach(func() { ui = &testterm.FakeUI{ Inputs: []string{"y"}, } config = testconfig.NewRepositoryWithDefaults() requirementsFactory = &testreq.FakeReqFactory{} org = models.Organization{} org.Name = "org-to-delete" org.Guid = "org-to-delete-guid" orgRepo = &test_org.FakeOrganizationRepository{} orgRepo.ListOrgsReturns([]models.Organization{org}, nil) orgRepo.FindByNameReturns(org, nil) }) runCommand := func(args ...string) bool { cmd := NewDeleteOrg(ui, config, orgRepo) return testcmd.RunCommand(cmd, args, requirementsFactory) } It("fails requirements when not logged in", func() { Expect(runCommand("some-org-name")).To(BeFalse()) }) It("fails with usage if no arguments are given", func() { runCommand() Expect(ui.FailedWithUsage).To(BeTrue())