From 01a2ee37f43a4929b4bab3b813af9a82692472b5 Mon Sep 17 00:00:00 2001 From: engnke Date: Wed, 1 Oct 2025 12:26:27 -0400 Subject: [PATCH 1/2] refactor timestamp to millisecond and add 0 check --- pkg/chipingress/client.go | 11 ++++++----- pkg/chipingress/client_test.go | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/chipingress/client.go b/pkg/chipingress/client.go index 7b477487a7..c4e45cc943 100644 --- a/pkg/chipingress/client.go +++ b/pkg/chipingress/client.go @@ -194,13 +194,14 @@ func NewEvent(domain, entity string, payload []byte, attributes map[string]any) attributes = make(map[string]any) } - if val, ok := attributes["recordedtime"].(time.Time); ok { - event.SetExtension("recordedtime", val.UTC()) - } else { - event.SetExtension("recordedtime", ce.Timestamp{Time: time.Now().UTC()}) + recordedTime := time.Now() + if val, ok := attributes["recordedtime"].(time.Time); ok && !val.IsZero() { + recordedTime = val } + recordedTime = recordedTime.UTC().Truncate(time.Millisecond) + event.SetExtension("recordedtime", ce.Timestamp{Time: recordedTime}) - if val, ok := attributes["time"].(time.Time); ok { + if val, ok := attributes["time"].(time.Time); ok && !val.IsZero() { event.SetTime(val.UTC()) } if val, ok := attributes["datacontenttype"].(string); ok { diff --git a/pkg/chipingress/client_test.go b/pkg/chipingress/client_test.go index c8b2db8924..c7d0aaa420 100644 --- a/pkg/chipingress/client_test.go +++ b/pkg/chipingress/client_test.go @@ -67,7 +67,7 @@ func TestNewEvent(t *testing.T) { "datacontenttype": "application/protobuf", "dataschema": "https://example.com/schema", "subject": "example-subject", - "time": time.Now(), + "time": time.Now().Add(-5 * time.Second).UTC(), } assert.NoError(t, err) @@ -87,7 +87,6 @@ func TestNewEvent(t *testing.T) { assert.Equal(t, "example-subject", event.Subject()) assert.Equal(t, attributes["time"].(time.Time).UTC(), event.Time()) assert.NotEmpty(t, event.Extensions()["recordedtime"]) - assert.NotEmpty(t, event.Extensions()["recordedtime"]) assert.True(t, event.Extensions()["recordedtime"].(ce.Timestamp).Time.After(attributes["time"].(time.Time))) // Assert the event data was set as expected From 13287f604ccdccf6334b86dde2468a3b46621497 Mon Sep 17 00:00:00 2001 From: engnke Date: Wed, 1 Oct 2025 12:28:20 -0400 Subject: [PATCH 2/2] undo --- pkg/chipingress/client_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/chipingress/client_test.go b/pkg/chipingress/client_test.go index c7d0aaa420..8bbd381ed2 100644 --- a/pkg/chipingress/client_test.go +++ b/pkg/chipingress/client_test.go @@ -67,7 +67,7 @@ func TestNewEvent(t *testing.T) { "datacontenttype": "application/protobuf", "dataschema": "https://example.com/schema", "subject": "example-subject", - "time": time.Now().Add(-5 * time.Second).UTC(), + "time": time.Now().Add(-5 * time.Second), } assert.NoError(t, err)