@@ -103,7 +103,7 @@ var userContext = entities.UserContext{
103103
104104func BuildTestImpressionEvent () UserEvent {
105105 tc := TestConfig {}
106- impressionUserEvent , _ := CreateImpressionUserEvent (tc , testExperiment , & testVariation , userContext , "" , testExperiment .Key , "experiment" )
106+ impressionUserEvent , _ := CreateImpressionUserEvent (tc , testExperiment , & testVariation , userContext , "" , testExperiment .Key , "experiment" , true )
107107 return impressionUserEvent
108108}
109109
@@ -195,20 +195,42 @@ func TestCreateImpressionUserEvent(t *testing.T) {
195195 }
196196
197197 for _ , scenario := range scenarios {
198- _ , ok := CreateImpressionUserEvent (tc , testExperiment , & testVariation , userContext , "" , testExperiment .Key , scenario .flagType )
198+ userEvent , ok := CreateImpressionUserEvent (tc , testExperiment , & testVariation , userContext , "" , testExperiment .Key , scenario .flagType , true )
199199 assert .Equal (t , ok , scenario .expected )
200+
201+ if ok {
202+ metaData := userEvent .Impression .Metadata
203+ assert .Equal (t , "" , metaData .FlagKey )
204+ assert .Equal (t , testExperiment .Key , metaData .RuleKey )
205+ assert .Equal (t , scenario .flagType , metaData .RuleType )
206+ assert .Equal (t , true , metaData .Enabled )
207+ }
200208 }
201209
202210 // nil variation should _always_ return false
203211 for _ , scenario := range scenarios {
204- _ , ok := CreateImpressionUserEvent (tc , testExperiment , nil , userContext , "" , testExperiment .Key , scenario .flagType )
212+ userEvent , ok := CreateImpressionUserEvent (tc , testExperiment , nil , userContext , "" , testExperiment .Key , scenario .flagType , false )
205213 assert .False (t , ok )
214+ if ok {
215+ metaData := userEvent .Impression .Metadata
216+ assert .Equal (t , "" , metaData .FlagKey )
217+ assert .Equal (t , testExperiment .Key , metaData .RuleKey )
218+ assert .Equal (t , scenario .flagType , metaData .RuleType )
219+ assert .Equal (t , false , metaData .Enabled )
220+ }
206221 }
207222
208223 // should _always_ return true if sendFlagDecisions is set
209224 tc .sendFlagDecisions = true
210225 for _ , scenario := range scenarios {
211- _ , ok := CreateImpressionUserEvent (tc , testExperiment , nil , userContext , "" , testExperiment .Key , scenario .flagType )
226+ userEvent , ok := CreateImpressionUserEvent (tc , testExperiment , nil , userContext , "" , testExperiment .Key , scenario .flagType , true )
212227 assert .True (t , ok )
228+ if ok {
229+ metaData := userEvent .Impression .Metadata
230+ assert .Equal (t , "" , metaData .FlagKey )
231+ assert .Equal (t , testExperiment .Key , metaData .RuleKey )
232+ assert .Equal (t , scenario .flagType , metaData .RuleType )
233+ assert .Equal (t , true , metaData .Enabled )
234+ }
213235 }
214236}
0 commit comments