|
| 1 | +package syslog_test |
| 2 | + |
| 3 | +import ( |
| 4 | + "code.cloudfoundry.org/loggregator-agent-release/src/internal/testhelper" |
| 5 | + "code.cloudfoundry.org/loggregator-agent-release/src/pkg/egress/syslog" |
| 6 | + . "github.com/onsi/ginkgo/v2" |
| 7 | + . "github.com/onsi/gomega" |
| 8 | +) |
| 9 | + |
| 10 | +var _ = Describe("Loggregator Emitter", func() { |
| 11 | + Describe("DefaultAppLogEmitter", func() { |
| 12 | + It("emits a log message", func() { |
| 13 | + logClient := testhelper.NewSpyLogClient() |
| 14 | + factory := syslog.NewAppLogEmitterFactory() |
| 15 | + emitter := factory.NewAppLogEmitter(logClient, "0") |
| 16 | + |
| 17 | + emitter.EmitLog("app-id", "some-message") |
| 18 | + |
| 19 | + messages := logClient.Message() |
| 20 | + appIDs := logClient.AppID() |
| 21 | + sourceTypes := logClient.SourceType() |
| 22 | + Expect(messages).To(HaveLen(2)) |
| 23 | + Expect(messages[0]).To(Equal("some-message")) |
| 24 | + Expect(messages[1]).To(Equal("some-message")) |
| 25 | + Expect(appIDs[0]).To(Equal("app-id")) |
| 26 | + Expect(appIDs[1]).To(Equal("app-id")) |
| 27 | + Expect(sourceTypes).To(HaveKey("LGR")) |
| 28 | + Expect(sourceTypes).To(HaveKey("SYS")) |
| 29 | + }) |
| 30 | + |
| 31 | + It("does not emit a log message if the appID is empty", func() { |
| 32 | + logClient := testhelper.NewSpyLogClient() |
| 33 | + factory := syslog.NewAppLogEmitterFactory() |
| 34 | + emitter := factory.NewAppLogEmitter(logClient, "0") |
| 35 | + |
| 36 | + emitter.EmitLog("", "some-message") |
| 37 | + |
| 38 | + messages := logClient.Message() |
| 39 | + appIDs := logClient.AppID() |
| 40 | + sourceTypes := logClient.SourceType() |
| 41 | + Expect(messages).To(HaveLen(0)) |
| 42 | + Expect(appIDs).To(HaveLen(0)) |
| 43 | + Expect(sourceTypes).ToNot(HaveKey("LGR")) |
| 44 | + Expect(sourceTypes).ToNot(HaveKey("SYS")) |
| 45 | + }) |
| 46 | + }) |
| 47 | + |
| 48 | + Describe("DefaultAppLogEmitterFactory", func() { |
| 49 | + It("produces a AppLogEmitter", func() { |
| 50 | + factory := syslog.NewAppLogEmitterFactory() |
| 51 | + logClient := testhelper.NewSpyLogClient() |
| 52 | + sourceIndex := "test-index" |
| 53 | + |
| 54 | + emitter := factory.NewAppLogEmitter(logClient, sourceIndex) |
| 55 | + emitter.EmitLog("app-id", "some-message") |
| 56 | + |
| 57 | + messages := logClient.Message() |
| 58 | + appIDs := logClient.AppID() |
| 59 | + sourceTypes := logClient.SourceType() |
| 60 | + sourceInstance := logClient.SourceInstance() |
| 61 | + Expect(messages).To(HaveLen(2)) |
| 62 | + Expect(messages[0]).To(Equal("some-message")) |
| 63 | + Expect(messages[1]).To(Equal("some-message")) |
| 64 | + Expect(appIDs[0]).To(Equal("app-id")) |
| 65 | + Expect(appIDs[1]).To(Equal("app-id")) |
| 66 | + Expect(sourceTypes).To(HaveKey("LGR")) |
| 67 | + Expect(sourceTypes).To(HaveKey("SYS")) |
| 68 | + Expect(sourceInstance).To(HaveKey("")) |
| 69 | + Expect(sourceInstance).To(HaveKey("test-index")) |
| 70 | + }) |
| 71 | + }) |
| 72 | +}) |
0 commit comments