Skip to content

Commit 9fcc372

Browse files
committed
Add some more unit tests
1 parent dcc096a commit 9fcc372

2 files changed

Lines changed: 54 additions & 2 deletions

File tree

src/pkg/egress/syslog/filtering_drain_writer.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ func (w *FilteringDrainWriter) Write(env *loggregator_v2.Envelope) error {
8282
// Default to sending logs if no source_type tag is present
8383
value, ok := env.GetTags()["source_type"]
8484
if !ok {
85-
// TODO add unit test for case where source_type tag is missing
8685
// source_type tag is missing, default to sending logs
8786
value = ""
8887
}
@@ -126,7 +125,6 @@ func shouldIncludeLog(logFilter *LogTypeSet, sourceTypeTag string) bool {
126125
}
127126

128127
func sendsLogs(drainData DrainData, logFilter *LogTypeSet, sourceTypeTag string) bool {
129-
// TODO ALL appears to be special?
130128
if drainData != LOGS && drainData != LOGS_AND_METRICS && drainData != LOGS_NO_EVENTS {
131129
return false
132130
}

src/pkg/egress/syslog/filtering_drain_writer_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,60 @@ var _ = Describe("Filtering Drain Writer", func() {
5353
_, err := syslog.NewFilteringDrainWriter(binding, &fakeWriter{})
5454
Expect(err).To(HaveOccurred())
5555
})
56+
57+
It("sends logs when source_type tag is missing", func() {
58+
binding := syslog.Binding{
59+
DrainData: syslog.LOGS,
60+
LogFilter: nil,
61+
}
62+
fakeWriter := &fakeWriter{}
63+
drainWriter, err := syslog.NewFilteringDrainWriter(binding, fakeWriter)
64+
Expect(err).NotTo(HaveOccurred())
65+
66+
envelope := &loggregator_v2.Envelope{
67+
Message: &loggregator_v2.Envelope_Log{
68+
Log: &loggregator_v2.Log{
69+
Payload: []byte("test log"),
70+
},
71+
},
72+
Tags: map[string]string{
73+
// source_type tag is intentionally missing
74+
},
75+
}
76+
77+
err = drainWriter.Write(envelope)
78+
79+
Expect(err).NotTo(HaveOccurred())
80+
Expect(fakeWriter.received).To(Equal(1))
81+
})
82+
83+
It("sends logs with unknown source_type prefix when filter is set", func() {
84+
appFilter := syslog.LogTypeSet{syslog.APP: struct{}{}}
85+
binding := syslog.Binding{
86+
DrainData: syslog.LOGS,
87+
LogFilter: &appFilter,
88+
}
89+
fakeWriter := &fakeWriter{}
90+
drainWriter, err := syslog.NewFilteringDrainWriter(binding, fakeWriter)
91+
Expect(err).NotTo(HaveOccurred())
92+
93+
envelope := &loggregator_v2.Envelope{
94+
Message: &loggregator_v2.Envelope_Log{
95+
Log: &loggregator_v2.Log{
96+
Payload: []byte("test log"),
97+
},
98+
},
99+
Tags: map[string]string{
100+
"source_type": "UNKNOWN/some/path",
101+
},
102+
}
103+
104+
err = drainWriter.Write(envelope)
105+
106+
// Should send the log because unknown types default to being included
107+
Expect(err).NotTo(HaveOccurred())
108+
Expect(fakeWriter.received).To(Equal(1))
109+
})
56110
})
57111

58112
type fakeWriter struct {

0 commit comments

Comments
 (0)