}) }) }) Context("when the user does not provide an endpoint", func() { Context("when the endpoint is set in the config", func() { var ( ui *testterm.FakeUI ctx *cli.Context requirementsFactory *testreq.FakeReqFactory ) BeforeEach(func() { config.SetApiEndpoint("https://api.run.pivotal.io") config.SetApiVersion("2.0") config.SetSSLDisabled(true) ui = new(testterm.FakeUI) ctx = testcmd.NewContext("api", []string{}) requirementsFactory = &testreq.FakeReqFactory{} }) JustBeforeEach(func() { testcmd.RunCommand(NewApi(ui, config, endpointRepo), ctx, requirementsFactory) }) It("prints out the api endpoint", func() { testassert.SliceContains(ui.Outputs, testassert.Lines{ {"https://api.run.pivotal.io", "2.0"}, }) })
for msg := range logChan { messages = append(messages, string(msg.GetLogMessage().Message)) } Expect(messages).To(Equal([]string{"My message 1", "My message 2", "My message 3"})) }) }) Context("when the SSL certificate is invalid", func() { BeforeEach(func() { testServer.TLS.Certificates = []tls.Certificate{testnet.MakeExpiredTLSCert()} }) Context("when skip-validation-errors flag is set", func() { BeforeEach(func() { configRepo.SetSSLDisabled(true) }) It("ignores SSL validation errors", func() { err := logsRepo.TailLogsFor("my-app-guid", func() {}, logChan, make(chan bool), time.Duration(1*time.Second)) Expect(err).NotTo(HaveOccurred()) }) }) Context("when skip-validation-errors is not set", func() { It("fails when the server's SSL cert cannot be verified", func() { err := logsRepo.TailLogsFor("my-app-guid", func() {}, logChan, make(chan bool), time.Duration(1*time.Second)) Expect(err).To(HaveOccurred()) }) }) })