}) It("lets the user specify an org and space using flags", func() { Flags = []string{"-a", "api.example.com", "-u", "*****@*****.**", "-p", "password", "-o", "my-new-org", "-s", "my-space"} orgRepo.FindByNameReturns(org2, nil) testcmd.RunCLICommand("login", Flags, nil, updateCommandDependency, false, ui) Expect(Config.OrganizationFields().GUID).To(Equal("my-new-org-guid")) Expect(Config.SpaceFields().GUID).To(Equal("my-space-guid")) Expect(Config.AccessToken()).To(Equal("my_access_token")) Expect(Config.RefreshToken()).To(Equal("my_refresh_token")) Expect(endpointRepo.GetCCInfoCallCount()).To(Equal(1)) Expect(endpointRepo.GetCCInfoArgsForCall(0)).To(Equal("api.example.com")) Expect(authRepo.AuthenticateCallCount()).To(Equal(1)) Expect(authRepo.AuthenticateArgsForCall(0)).To(Equal(map[string]string{ "username": "******", "password": "******", })) Expect(ui.ShowConfigurationCalled).To(BeTrue()) }) It("doesn't ask the user for the API url if they have it in their config", func() { orgRepo.FindByNameReturns(org, nil) Config.SetAPIEndpoint("http://api.example.com") Flags = []string{"-o", "my-new-org", "-s", "my-space"} ui.Inputs = []string{"*****@*****.**", "password"}