@@ -390,3 +390,53 @@ func TestMultipleUserStreams(t *testing.T) {
390390 assert .Equal (t , "instanceID2" , event2 .InstanceID )
391391 assert .InDeltaf (t , 300 , event2 .TotalStreamMs , 50 , "stream time should be approximately 300ms" )
392392}
393+
394+ func TestTagsHeaderIsIncludedInUsageEvent (t * testing.T ) {
395+ publisher := newTestEventsPublisher ()
396+ env := NewEnvironmentMetricUsage ("relayID" , publisher , 1 * time .Hour )
397+ env .usageActivityMessage (& usageActivityMessage {
398+ kind : UsageActivityKindCount ,
399+ userAgent : "userAgent" ,
400+ platformCategory : "platform" ,
401+ instanceID : "instanceID" ,
402+ tagsHeader : "application-id/my-app application-version/1.0" ,
403+ })
404+ env .close ()
405+
406+ event := publisher .expectUsageEvent (t , time .Second )
407+ assert .Equal (t , "userAgent" , event .UserAgent )
408+ assert .Equal (t , "platform" , event .PlatformCategory )
409+ assert .Equal (t , "instanceID" , event .InstanceID )
410+ assert .Equal (t , "application-id/my-app application-version/1.0" , event .TagsHeader )
411+ }
412+
413+ func TestDifferentTagsHeadersProduceSeparateEvents (t * testing.T ) {
414+ publisher := newTestEventsPublisher ()
415+ env := NewEnvironmentMetricUsage ("relayID" , publisher , 1 * time .Hour )
416+
417+ env .usageActivityMessage (& usageActivityMessage {
418+ kind : UsageActivityKindCount ,
419+ userAgent : "userAgent" ,
420+ platformCategory : "platform" ,
421+ instanceID : "instanceID" ,
422+ tagsHeader : "application-id/app1" ,
423+ })
424+ env .usageActivityMessage (& usageActivityMessage {
425+ kind : UsageActivityKindCount ,
426+ userAgent : "userAgent" ,
427+ platformCategory : "platform" ,
428+ instanceID : "instanceID" ,
429+ tagsHeader : "application-id/app2" ,
430+ })
431+
432+ env .flush ()
433+
434+ firstEvent := publisher .expectUsageEvent (t , time .Second )
435+ secondEvent := publisher .expectUsageEvent (t , time .Second )
436+ if firstEvent .TagsHeader != "application-id/app1" {
437+ firstEvent , secondEvent = secondEvent , firstEvent
438+ }
439+
440+ assert .Equal (t , "application-id/app1" , firstEvent .TagsHeader )
441+ assert .Equal (t , "application-id/app2" , secondEvent .TagsHeader )
442+ }
0 commit comments