BeforeEach(func() { securityGroup := models.SecurityGroup{ SecurityGroupFields: models.SecurityGroupFields{ Name: "my-group", Guid: "my-group-guid", Rules: []map[string]interface{}{}, }, } securityGroupRepo.ReadReturns(securityGroup, nil) orgRepo.Organizations = []models.Organization{ {OrganizationFields: models.OrganizationFields{Name: "my-org", Guid: "my-org-guid"}}, } spaceRepo.FindByNameInOrgSpace = models.Space{SpaceFields: models.SpaceFields{Name: "my-space", Guid: "my-space-guid"}} }) 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{"Removing security group", "my-org", "my-space", "my-user"}, []string{"OK"}, )) securityGroupGuid, spaceGuid := secBinder.UnbindSpaceArgsForCall(0) Expect(securityGroupGuid).To(Equal("my-group-guid")) Expect(spaceGuid).To(Equal("my-space-guid")) }) It("removes the security group when we pass the org and space", func() {
)) }) Context("when logged in and given some users in the org and space", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true org := models.Organization{} org.Name = "Org1" org.Guid = "org1-guid" space := models.Space{} space.Name = "Space1" space.Guid = "space1-guid" requirementsFactory.Organization = org spaceRepo.FindByNameInOrgSpace = space user := models.UserFields{} user.Username = "******" user2 := models.UserFields{} user2.Username = "******" user3 := models.UserFields{} user3.Username = "******" user4 := models.UserFields{} user4.Username = "******" userRepo.ListUsersByRole = map[string][]models.UserFields{ models.SPACE_MANAGER: []models.UserFields{user, user2}, models.SPACE_DEVELOPER: []models.UserFields{user4}, models.SPACE_AUDITOR: []models.UserFields{user3}, } })
Expect(passed).To(BeFalse()) }) It("unsets the user's space role", func() { user := models.UserFields{} user.Username = "******" user.Guid = "some-user-guid" org := models.Organization{} org.Name = "some-org" org.Guid = "some-org-guid" requirementsFactory, spaceRepo, userRepo = getUnsetSpaceRoleDeps() requirementsFactory.LoginSuccess = true requirementsFactory.UserFields = user requirementsFactory.Organization = org spaceRepo.FindByNameInOrgSpace = models.Space{} spaceRepo.FindByNameInOrgSpace.Name = "some-space" spaceRepo.FindByNameInOrgSpace.Guid = "some-space-guid" args := []string{"my-username", "my-org", "my-space", "SpaceManager"} ui, _ := callUnsetSpaceRole(args, spaceRepo, userRepo, requirementsFactory) Expect(spaceRepo.FindByNameInOrgName).To(Equal("my-space")) Expect(spaceRepo.FindByNameInOrgOrgGuid).To(Equal("some-org-guid")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Removing role", "SpaceManager", "some-user", "some-org", "some-space", "my-user"}, []string{"OK"}, )) Expect(userRepo.UnsetSpaceRoleRole).To(Equal(models.SPACE_MANAGER))