apiServer.TLS.Certificates = []tls.Certificate{testnet.MakeExpiredTLSCert()} _, apiErr := ccGateway.PerformRequest(request) certErr, ok := apiErr.(*errors.InvalidSSLCert) Expect(ok).To(BeTrue()) Expect(certErr.URL).To(Equal(getHost(apiServer.URL))) if runtime.GOOS != "windows" { Expect(certErr.Reason).To(Equal("")) } }) }) Context("when SSL validation is disabled", func() { BeforeEach(func() { apiServer.TLS.Certificates = []tls.Certificate{testnet.MakeExpiredTLSCert()} config.SetSSLDisabled(true) }) It("succeeds", func() { _, apiErr := ccGateway.PerformRequest(request) Expect(apiErr).NotTo(HaveOccurred()) }) }) }) Describe("collecting warnings", func() { var ( apiServer *httptest.Server authServer *httptest.Server )
} Describe("when the user is setting an API", func() { BeforeEach(func() { l = NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo) 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")