From 36cc589587df995b76e576418d34ad84af3e153f Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 11 Dec 2025 10:54:50 -0300 Subject: [PATCH] Updated single to map impressions --- synchronizer/worker/impression/single.go | 1 + synchronizer/worker/impression/single_test.go | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/synchronizer/worker/impression/single.go b/synchronizer/worker/impression/single.go index 12021f32..a63d7c12 100644 --- a/synchronizer/worker/impression/single.go +++ b/synchronizer/worker/impression/single.go @@ -74,6 +74,7 @@ func (i *RecorderSingle) SynchronizeImpressions(bulkSize int64) error { Label: impression.Label, BucketingKey: impression.BucketingKey, Pt: impression.Pt, + Properties: impression.Properties, } v, ok := impressionsToPost[impression.FeatureName] if ok { diff --git a/synchronizer/worker/impression/single_test.go b/synchronizer/worker/impression/single_test.go index fdea8c68..c4eb73b5 100644 --- a/synchronizer/worker/impression/single_test.go +++ b/synchronizer/worker/impression/single_test.go @@ -19,6 +19,7 @@ import ( "github.com/splitio/go-split-commons/v9/storage/mocks" "github.com/splitio/go-split-commons/v9/telemetry" "github.com/splitio/go-toolkit/v5/logging" + "github.com/stretchr/testify/assert" ) func TestImpressionRecorderError(t *testing.T) { @@ -63,7 +64,7 @@ func TestImpressionRecorderWithoutImpressions(t *testing.T) { func TestSynhronizeEventErrorRecorder(t *testing.T) { impression := dtos.Impression{ - BucketingKey: "someBucketingKey1", ChangeNumber: 123456789, FeatureName: "someFeature1", + BucketingKey: "someBucketingKey1", ChangeNumber: 123456789, FeatureName: "someFeature1", Properties: "{'prop':'val'}", KeyName: "someKey1", Label: "someLabel", Time: 123456789, Treatment: "someTreatment1", } @@ -104,7 +105,7 @@ func TestImpressionRecorder(t *testing.T) { before := time.Now().UTC() impression1 := dtos.Impression{ BucketingKey: "someBucketingKey1", ChangeNumber: 123456789, FeatureName: "someFeature1", - KeyName: "someKey1", Label: "someLabel", Time: 123456789, Treatment: "someTreatment1", + KeyName: "someKey1", Label: "someLabel", Time: 123456789, Treatment: "someTreatment1", Properties: "{'prop':'val'}", } impression2 := dtos.Impression{ BucketingKey: "someBucketingKey2", ChangeNumber: 123456789, FeatureName: "someFeature2", @@ -215,6 +216,7 @@ func TestImpressionRecorderSync(t *testing.T) { if !ok || len(imp1.KeyImpressions) != 2 { t.Error("Incorrect impressions received") } + assert.Equal(t, "{'prop':'val'}", imp1.KeyImpressions[0].Properties) imp2, ok := result["someFeature2"] if !ok || len(imp2.KeyImpressions) != 1 { t.Error("Incorrect impressions received") @@ -227,7 +229,7 @@ func TestImpressionRecorderSync(t *testing.T) { impression1 := dtos.Impression{ BucketingKey: "someBucketingKey1", ChangeNumber: 123456789, FeatureName: "someFeature1", - KeyName: "someKey1", Label: "someLabel", Time: 123456789, Treatment: "someTreatment1", + KeyName: "someKey1", Label: "someLabel", Time: 123456789, Treatment: "someTreatment1", Properties: "{'prop':'val'}", } impression2 := dtos.Impression{ BucketingKey: "someBucketingKey2", ChangeNumber: 123456789, FeatureName: "someFeature2",