@@ -3,6 +3,7 @@ package logging
33import (
44 "context"
55 "encoding/json"
6+ "time"
67
78 v1 "github.com/bakito/k8s-event-logger-operator/api/v1"
89 "github.com/bakito/k8s-event-logger-operator/pkg/filter"
@@ -192,6 +193,43 @@ var _ = Describe("Logging", func() {
192193 Reason : "" ,
193194 })
194195 })
196+ It ("should resolve timestamp" , func () {
197+ childSink := ml .NewMockLogSink (mockCtrl )
198+ childSink .EXPECT ().Init (gm .Any ()).AnyTimes ()
199+ childSink .EXPECT ().Enabled (gm .Any ()).AnyTimes ().Return (true )
200+ mockSink .EXPECT ().WithValues (repeat (gm .Any (), 14 )... ).Times (3 ).DoAndReturn (
201+ func (a ... interface {}) interface {} {
202+ t , ok := a [7 ].(metav1.Time )
203+ if ! ok || t .IsZero () {
204+ Fail ("timestamp not set" )
205+ }
206+ return childSink
207+ })
208+ childSink .EXPECT ().Info (gm .Any (), gm .Any ()).Times (3 )
209+
210+ lp := & loggingPredicate {
211+ Config : & Config {filter : filter .Always },
212+ }
213+
214+ lp .logEvent (& corev1.Event {
215+ ObjectMeta : metav1.ObjectMeta {
216+ ResourceVersion : "3" ,
217+ },
218+ LastTimestamp : metav1 .Now (),
219+ })
220+ lp .logEvent (& corev1.Event {
221+ ObjectMeta : metav1.ObjectMeta {
222+ ResourceVersion : "4" ,
223+ },
224+ FirstTimestamp : metav1 .Now (),
225+ })
226+ lp .logEvent (& corev1.Event {
227+ ObjectMeta : metav1.ObjectMeta {
228+ ResourceVersion : "5" ,
229+ },
230+ EventTime : metav1.MicroTime {Time : time .Now ()},
231+ })
232+ })
195233
196234 DescribeTable ("the > inequality" ,
197235 func (config v1.EventLoggerSpec , event corev1.Event , expected bool , description string ) {
0 commit comments