) var _ = Describe("NozzlePlugin", func() { Describe(".Run", func() { var fakeCliConnection *pluginfakes.FakeCliConnection var nozzlerCmd *NozzlerCmd var fakeFirehose *testhelpers.FakeFirehose BeforeEach(func() { fakeFirehose = testhelpers.NewFakeFirehose(ACCESS_TOKEN) fakeFirehose.SendEvent(events.Envelope_LogMessage, "Log Message") fakeFirehose.Start() fakeCliConnection = &pluginfakes.FakeCliConnection{} fakeCliConnection.AccessTokenReturns(ACCESS_TOKEN, nil) fakeCliConnection.DopplerEndpointReturns(fakeFirehose.URL(), nil) nozzlerCmd = &NozzlerCmd{} }) AfterEach(func() { fakeFirehose.Close() }) Context("when invoked via 'app-nozzle'", func() { Context("when app name is not recognized", func() { BeforeEach(func() { fakeCliConnection.GetAppReturns(plugin_models.GetAppModel{}, errors.New("App not found")) }) It("returns error message", func(done Done) { defer close(done) outputChan := make(chan []string)
var fakeFirehose *testhelpers.FakeFirehose BeforeEach(func() { fakeFirehose = testhelpers.NewFakeFirehoseInAppMode("ACCESS_TOKEN", "spring-music") fakeFirehose.SendEvent(events.Envelope_LogMessage, "This is a very special test message") fakeFirehose.SendEvent(events.Envelope_ValueMetric, "valuemetric") fakeFirehose.SendEvent(events.Envelope_CounterEvent, "counterevent") fakeFirehose.SendEvent(events.Envelope_ContainerMetric, "containermetric") fakeFirehose.SendEvent(events.Envelope_Error, "this is an error") fakeFirehose.SendEvent(events.Envelope_HttpStart, "start request") fakeFirehose.SendEvent(events.Envelope_HttpStop, "stop request") fakeFirehose.SendEvent(events.Envelope_HttpStartStop, "startstop request") fakeFirehose.Start() }) It("prints out debug information if demanded", func() { options.Debug = true client := firehose.NewClient("ACCESS_TOKEN", fakeFirehose.URL(), options, ui) client.Start() Expect(stdout).To(ContainSubstring("WEBSOCKET REQUEST")) Expect(stdout).To(ContainSubstring("WEBSOCKET RESPONSE")) }) It("shows no debug output if not requested", func() { options.Debug = false client := firehose.NewClient("ACCESS_TOKEN", fakeFirehose.URL(), options, ui) client.Start() Expect(stdout).ToNot(ContainSubstring("WEBSOCKET REQUEST")) Expect(stdout).ToNot(ContainSubstring("WEBSOCKET RESPONSE")) }) It("prints out log messages to the terminal", func() { client := firehose.NewClient("ACCESS_TOKEN", fakeFirehose.URL(), options, ui) client.Start() Expect(stdout).To(ContainSubstring("This is a very special test message"))