func deleteWithConfirmation(confirmation string) (ui *testterm.FakeUI, userRepo *testapi.FakeUserRepository) { ui = &testterm.FakeUI{ Inputs: []string{confirmation}, } user2 := models.UserFields{} user2.Username = "******" user2.Guid = "my-found-user-guid" userRepo = &testapi.FakeUserRepository{ FindByUsernameUserFields: user2, } configRepo := testconfig.NewRepositoryWithDefaults() accessToken, err := testconfig.EncodeAccessToken(configuration.TokenInfo{ Username: "******", }) Expect(err).NotTo(HaveOccurred()) configRepo.SetAccessToken(accessToken) cmd := NewDeleteUser(ui, configRepo, userRepo) ctxt := testcmd.NewContext("delete-user", []string{"my-user"}) reqFactory := &testreq.FakeReqFactory{LoginSuccess: true} testcmd.RunCommand(cmd, ctxt, reqFactory) return }
requirementsFactory.LoginSuccess = false callUnsetSpaceRole(args, spaceRepo, userRepo, requirementsFactory) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) requirementsFactory.LoginSuccess = true callUnsetSpaceRole(args, spaceRepo, userRepo, requirementsFactory) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) Expect(requirementsFactory.UserUsername).To(Equal("username")) Expect(requirementsFactory.OrganizationName).To(Equal("org")) }) It("TestUnsetSpaceRole", 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"}
package requirements_test import ( "cf/models" . "cf/requirements" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" testapi "testhelpers/api" testassert "testhelpers/assert" testterm "testhelpers/terminal" ) var _ = Describe("Testing with ginkgo", func() { It("TestUserReqExecute", func() { user := models.UserFields{} user.Username = "******" user.Guid = "my-user-guid" userRepo := &testapi.FakeUserRepository{FindByUsernameUserFields: user} ui := new(testterm.FakeUI) userReq := NewUserRequirement("foo", ui, userRepo) success := userReq.Execute() Expect(success).To(BeTrue()) Expect(userRepo.FindByUsernameUsername).To(Equal("foo")) Expect(userReq.GetUser()).To(Equal(user)) }) It("TestUserReqWhenUserDoesNotExist", func() { userRepo := &testapi.FakeUserRepository{FindByUsernameNotFound: true}
requirementsFactory.LoginSuccess = true callOrgUsers(args, requirementsFactory, userRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) Expect("Org1").To(Equal(requirementsFactory.OrganizationName)) }) It("TestOrgUsers", func() { org := models.Organization{} org.Name = "Found Org" org.Guid = "found-org-guid" userRepo := &testapi.FakeUserRepository{} 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.ORG_MANAGER: []models.UserFields{user, user2}, models.BILLING_MANAGER: []models.UserFields{user4}, models.ORG_AUDITOR: []models.UserFields{user3}, } requirementsFactory := &testreq.FakeReqFactory{ LoginSuccess: true, Organization: org,
usersResponse := `{ "resources": [{ "id": "my-guid", "userName": "******" }]}` uaaReq := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "GET", Path: "/Users?attributes=id,userName&filter=userName+Eq+%22damien%2Buser1%40pivotallabs.com%22", Response: testnet.TestResponse{Status: http.StatusOK, Body: usersResponse}, }) uaa, handler, repo := createUsersRepoWithoutCCEndpoints([]testnet.TestRequest{uaaReq}) defer uaa.Close() user, apiResponse := repo.FindByUsername("*****@*****.**") Expect(handler.AllRequestsCalled()).To(BeTrue()) Expect(apiResponse.IsSuccessful()).To(BeTrue()) expectedUserFields := models.UserFields{} expectedUserFields.Username = "******" expectedUserFields.Guid = "my-guid" Expect(user).To(Equal(expectedUserFields)) }) It("TestFindByUsernameWhenNotFound", func() { uaaReq := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "GET", Path: "/Users?attributes=id,userName&filter=userName+Eq+%22my-user%22", Response: testnet.TestResponse{Status: http.StatusOK, Body: `{"resources": []}`}, }) uaa, handler, repo := createUsersRepoWithoutCCEndpoints([]testnet.TestRequest{uaaReq}) defer uaa.Close() _, apiResponse := repo.FindByUsername("my-user")