authRepo = new(authenticationfakes.FakeAuthenticationRepository) authRepo.AuthenticateStub = func(credentials map[string]string) error { Config.SetAccessToken("my_access_token") Config.SetRefreshToken("my_refresh_token") return nil } endpointRepo = new(coreconfigfakes.FakeEndpointRepository) minCLIVersion = "1.0.0" minRecommendedCLIVersion = "1.0.0" org = models.Organization{} org.Name = "my-new-org" org.GUID = "my-new-org-guid" orgRepo = &organizationsfakes.FakeOrganizationRepository{} orgRepo.ListOrgsReturns([]models.Organization{org}, nil) space := models.Space{} space.GUID = "my-space-guid" space.Name = "my-space" spaceRepo = new(apifakes.FakeSpaceRepository) spaceRepo.ListSpacesStub = listSpacesStub([]models.Space{space}) authRepo.GetLoginPromptsAndSaveUAAServerURLReturns(map[string]coreconfig.AuthPrompt{ "username": { DisplayName: "Username", Type: coreconfig.AuthPromptTypeText, }, "password": { DisplayName: "Password",
) var _ = Describe("OrganizationRequirement", func() { var orgRepo *organizationsfakes.FakeOrganizationRepository BeforeEach(func() { orgRepo = new(organizationsfakes.FakeOrganizationRepository) }) Context("when an org with the given name exists", func() { It("succeeds", func() { org := models.Organization{} org.Name = "my-org-name" org.GUID = "my-org-guid" orgReq := NewOrganizationRequirement("my-org-name", orgRepo) orgRepo.ListOrgsReturns([]models.Organization{org}, nil) orgRepo.FindByNameReturns(org, nil) err := orgReq.Execute() Expect(err).NotTo(HaveOccurred()) Expect(orgRepo.FindByNameArgsForCall(0)).To(Equal("my-org-name")) Expect(orgReq.GetOrganization()).To(Equal(org)) }) }) It("fails when the org with the given name does not exist", func() { orgError := errors.New("not found") orgRepo.FindByNameReturns(models.Organization{}, orgError) err := NewOrganizationRequirement("foo", orgRepo).Execute() Expect(err).To(HaveOccurred())
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)