Expect(err).ToNot(HaveOccurred()) Expect(result).To(Equal("my-user-email")) }) }) Context(".IsSSLDisabled", func() { BeforeEach(func() { rpcService, err = NewRpcService(nil, nil, nil, config) err := rpcService.Start() Expect(err).ToNot(HaveOccurred()) pingCli(rpcService.Port()) }) It("returns the IsSSLDisabled setting in config", func() { config.SetSSLDisabled(true) client, err = rpc.Dial("tcp", "127.0.0.1:"+rpcService.Port()) Expect(err).ToNot(HaveOccurred()) var result bool err = client.Call("CliRpcCmd.IsSSLDisabled", "", &result) Expect(err).ToNot(HaveOccurred()) Expect(result).To(BeTrue()) }) }) Context(".IsLoggedIn", func() { BeforeEach(func() { rpcService, err = NewRpcService(nil, nil, nil, config) err := rpcService.Start() Expect(err).ToNot(HaveOccurred())
runCommand() Ω(authRepo.RefreshTokenCalled).To(BeTrue()) Ω(ui.Outputs).To(ContainSubstrings( []string{"Error refreshing oauth token", "no token for you"}, )) }) }) }) Context("setting up http client to request one time code", func() { var fakeUAA *ghttp.Server BeforeEach(func() { authRepo.RefreshToken = "bearer client-bearer-token" configRepo.SetSSLDisabled(true) configRepo.SetSSHOAuthClient("ssh-oauth-client-id") fakeUAA = ghttp.NewTLSServer() configRepo.SetUaaEndpoint(fakeUAA.URL()) fakeUAA.RouteToHandler("GET", "/oauth/authorize", ghttp.CombineHandlers( ghttp.VerifyRequest("GET", "/oauth/authorize"), ghttp.VerifyFormKV("response_type", "code"), ghttp.VerifyFormKV("client_id", "ssh-oauth-client-id"), ghttp.VerifyFormKV("grant_type", "authorization_code"), ghttp.VerifyHeaderKV("authorization", "bearer client-bearer-token"), ghttp.RespondWith(http.StatusFound, "", http.Header{ "Location": []string{"https://uaa.example.com/login?code=abc123"}, }), ))
config.SetSSHOAuthClient("oauth-client-id") Expect(config.SSHOAuthClient()).To(Equal("oauth-client-id")) config.SetRefreshToken("the-token") Expect(config.RefreshToken()).To(Equal("the-token")) organization := maker.NewOrgFields(maker.Overrides{"name": "the-org"}) config.SetOrganizationFields(organization) Expect(config.OrganizationFields()).To(Equal(organization)) space := maker.NewSpaceFields(maker.Overrides{"name": "the-space"}) config.SetSpaceFields(space) Expect(config.SpaceFields()).To(Equal(space)) config.SetSSLDisabled(false) Expect(config.IsSSLDisabled()).To(BeFalse()) config.SetLocale("en_US") Expect(config.Locale()).To(Equal("en_US")) config.SetPluginRepo(models.PluginRepo{Name: "repo", Url: "nowhere.com"}) Expect(config.PluginRepos()[0].Name).To(Equal("repo")) Expect(config.PluginRepos()[0].Url).To(Equal("nowhere.com")) Expect(config.IsMinApiVersion("3.1")).To(Equal(false)) config.SetMinCliVersion("6.5.0") Expect(config.MinCliVersion()).To(Equal("6.5.0")) config.SetMinRecommendedCliVersion("6.9.0")
}) } Describe("when the user is setting an API", func() { BeforeEach(func() { Flags = []string{"-a", "https://api.the-server.com", "-u", "the-user-name", "-p", "the-password"} }) Describe("when the --skip-ssl-validation flag is provided", func() { BeforeEach(func() { Flags = append(Flags, "--skip-ssl-validation") }) Describe("setting api endpoint is successful", func() { BeforeEach(func() { Config.SetSSLDisabled(false) }) ItSucceeds() ItShowsTheTarget() It("stores the API endpoint and the skip-ssl flag", func() { Expect(endpointRepo.UpdateEndpointReceived).To(Equal("https://api.the-server.com")) Expect(Config.IsSSLDisabled()).To(BeTrue()) }) }) Describe("setting api endpoint failed", func() { BeforeEach(func() { Config.SetSSLDisabled(true) endpointRepo.UpdateEndpointError = errors.New("API endpoint not found")