) var _ = Describe("UptimeMonitor", func() { BeforeEach(func() { fakeEventEmitter = fake.NewFakeEventEmitter("MonitorTest") sender := metric_sender.NewMetricSender(fakeEventEmitter) batcher := metricbatcher.New(sender, 100*time.Millisecond) metrics.Initialize(sender, batcher) uptimeMonitor = monitor.NewUptimeMonitor(interval) go uptimeMonitor.Start() }) AfterEach(func() { fakeEventEmitter.Close() }) Context("stops automatically", func() { AfterEach(func() { uptimeMonitor.Stop() }) It("returns a value metric containing uptime after specified time", func() { Eventually(fakeEventEmitter.GetMessages).Should(HaveLen(1)) Expect(fakeEventEmitter.GetMessages()[0].Event.(*events.ValueMetric)).To(Equal(&events.ValueMetric{ Name: proto.String("Uptime"), Value: proto.Float64(0), Unit: proto.String("seconds"), }))
. "github.com/onsi/gomega" ) var _ = Describe("LogSender", func() { var ( emitter *fake.FakeEventEmitter sender log_sender.LogSender ) BeforeEach(func() { emitter = fake.NewFakeEventEmitter("origin") sender = log_sender.NewLogSender(emitter, 50*time.Millisecond, loggertesthelper.Logger()) }) AfterEach(func() { emitter.Close() for !emitter.IsClosed() { time.Sleep(10 * time.Millisecond) } }) Describe("SendAppLog", func() { It("sends a log message event to its emitter", func() { err := sender.SendAppLog("app-id", "custom-log-message", "App", "0") Expect(err).NotTo(HaveOccurred()) Expect(emitter.Messages).To(HaveLen(1)) log := emitter.Messages[0].Event.(*events.LogMessage) Expect(log.GetMessageType()).To(Equal(events.LogMessage_OUT)) Expect(log.GetMessage()).To(BeEquivalentTo("custom-log-message")) Expect(log.GetAppId()).To(Equal("app-id"))