{ "username": "******", "password": "******", }, })) }) It("gets the UAA endpoint and saves it to the config file", func() { requirementsFactory.ApiEndpointSuccess = true testcmd.RunCommand(cmd, []string{"*****@*****.**", "password"}, requirementsFactory) Expect(repo.GetLoginPromptsWasCalled).To(BeTrue()) }) Describe("when authentication fails", func() { BeforeEach(func() { repo.AuthError = true testcmd.RunCommand(cmd, []string{"username", "password"}, requirementsFactory) }) It("does not prompt the user when provided username and password", func() { Expect(ui.Outputs).To(ContainSubstrings( []string{config.ApiEndpoint()}, []string{"Authenticating..."}, []string{"FAILED"}, []string{"Error authenticating"}, )) }) It("clears the user's session", func() { Expect(config.AccessToken()).To(BeEmpty()) Expect(config.RefreshToken()).To(BeEmpty())
l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo) testcmd.RunCommand(l, Flags, nil) Expect(ui.PasswordPrompts).ToNot(ContainSubstrings([]string{"Your Password"})) Expect(authRepo.AuthenticateArgs.Credentials).To(Equal([]map[string]string{ { "account_number": "the-account-number", "username": "******", "password": "******", }, })) }) It("tries 3 times for the password-type prompts", func() { authRepo.AuthError = true ui.Inputs = []string{"api.example.com", "the-account-number", "the-username", "the-password-1", "the-password-2", "the-password-3"} l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo) testcmd.RunCommand(l, Flags, nil) Expect(authRepo.AuthenticateArgs.Credentials).To(Equal([]map[string]string{ { "username": "******", "account_number": "the-account-number", "password": "******", }, { "username": "******", "account_number": "the-account-number",