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 }
func callCreateUser(args []string, reqFactory *testreq.FakeReqFactory, userRepo *testapi.FakeUserRepository) (ui *testterm.FakeUI) { ui = new(testterm.FakeUI) ctxt := testcmd.NewContext("create-user", args) configRepo := testconfig.NewRepositoryWithDefaults() accessToken, err := testconfig.EncodeAccessToken(configuration.TokenInfo{ Username: "******", }) Expect(err).NotTo(HaveOccurred()) configRepo.SetAccessToken(accessToken) cmd := NewCreateUser(ui, configRepo, userRepo) testcmd.RunCommand(cmd, ctxt, reqFactory) return }
var _ = Describe("delete-user command", func() { var ( ui *testterm.FakeUI configRepo configuration.ReadWriter userRepo *testapi.FakeUserRepository requirementsFactory *testreq.FakeReqFactory ) BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} userRepo = &testapi.FakeUserRepository{} requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} configRepo = testconfig.NewRepositoryWithDefaults() token, err := testconfig.EncodeAccessToken(configuration.TokenInfo{ UserGuid: "admin-user-guid", Username: "******", }) Expect(err).ToNot(HaveOccurred()) configRepo.SetAccessToken(token) }) runCommand := func(args ...string) { cmd := NewDeleteUser(ui, configRepo, userRepo) testcmd.RunCommand(cmd, testcmd.NewContext("delete-user", args), requirementsFactory) } Describe("requirements", func() { It("fails when not logged in", func() { requirementsFactory.LoginSuccess = false runCommand("my-user") Expect(testcmd.CommandDidPassRequirements).To(BeFalse())
var _ = Describe("Create user command", func() { var ( requirementsFactory *testreq.FakeReqFactory ui *testterm.FakeUI userRepo *testapi.FakeUserRepository configRepo configuration.ReadWriter ) BeforeEach(func() { requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} ui = new(testterm.FakeUI) userRepo = &testapi.FakeUserRepository{} configRepo = testconfig.NewRepositoryWithDefaults() accessToken, _ := testconfig.EncodeAccessToken(configuration.TokenInfo{ Username: "******", }) configRepo.SetAccessToken(accessToken) }) runCommand := func(args ...string) { ctxt := testcmd.NewContext("create-user", args) cmd := NewCreateUser(ui, configRepo, userRepo) testcmd.RunCommand(cmd, ctxt, requirementsFactory) return } It("creates a user", func() { runCommand("my-user", "my-password") testassert.SliceContains(ui.Outputs, testassert.Lines{