@@ -78,17 +78,17 @@ describe('mergeBaggageHeaders', () => {
7878 expect ( entries ) . not . toContain ( 'foo=newvalue' ) ;
7979 } ) ;
8080
81- it ( 'overwrites existing Sentry entries with new ones ' , ( ) => {
81+ it ( 'preserves existing Sentry entries when keys conflict ' , ( ) => {
8282 const result = mergeBaggageHeaders (
8383 'sentry-release=1.0.0,sentry-environment=prod' ,
8484 'sentry-release=2.0.0,sentry-environment=staging' ,
8585 ) ;
8686
8787 const entries = result ?. split ( ',' ) ;
88- expect ( entries ) . toContain ( 'sentry-release=2 .0.0' ) ;
89- expect ( entries ) . toContain ( 'sentry-environment=staging ' ) ;
90- expect ( entries ) . not . toContain ( 'sentry-release=1 .0.0' ) ;
91- expect ( entries ) . not . toContain ( 'sentry-environment=prod ' ) ;
88+ expect ( entries ) . toContain ( 'sentry-release=1 .0.0' ) ;
89+ expect ( entries ) . toContain ( 'sentry-environment=prod ' ) ;
90+ expect ( entries ) . not . toContain ( 'sentry-release=2 .0.0' ) ;
91+ expect ( entries ) . not . toContain ( 'sentry-environment=staging ' ) ;
9292 } ) ;
9393
9494 it ( 'merges Sentry and non-Sentry entries correctly' , ( ) => {
@@ -98,8 +98,8 @@ describe('mergeBaggageHeaders', () => {
9898 expect ( entries ) . toContain ( 'foo=bar' ) ;
9999 expect ( entries ) . toContain ( 'other=vendor' ) ;
100100 expect ( entries ) . toContain ( 'third=party' ) ;
101- expect ( entries ) . toContain ( 'sentry-release=2 .0.0' ) ;
102- expect ( entries ) . not . toContain ( 'sentry-release=1 .0.0' ) ;
101+ expect ( entries ) . toContain ( 'sentry-release=1 .0.0' ) ;
102+ expect ( entries ) . not . toContain ( 'sentry-release=2 .0.0' ) ;
103103 } ) ;
104104
105105 it ( 'handles third-party baggage with Sentry entries' , ( ) => {
@@ -113,11 +113,11 @@ describe('mergeBaggageHeaders', () => {
113113 expect ( entries ) . toContain ( 'last=item' ) ;
114114 expect ( entries ) . toContain ( 'other=vendor' ) ;
115115 expect ( entries ) . toContain ( 'third=party' ) ;
116- expect ( entries ) . toContain ( 'sentry-environment=myEnv ' ) ;
117- expect ( entries ) . toContain ( 'sentry-release=2.1.0 ' ) ;
116+ expect ( entries ) . toContain ( 'sentry-environment=staging ' ) ;
117+ expect ( entries ) . toContain ( 'sentry-release=9.9.9 ' ) ;
118118 expect ( entries ) . toContain ( 'sentry-sample_rate=0.54' ) ;
119- expect ( entries ) . not . toContain ( 'sentry-environment=staging ' ) ;
120- expect ( entries ) . not . toContain ( 'sentry-release=9.9.9 ' ) ;
119+ expect ( entries ) . not . toContain ( 'sentry-environment=myEnv ' ) ;
120+ expect ( entries ) . not . toContain ( 'sentry-release=2.1.0 ' ) ;
121121 } ) ;
122122
123123 it ( 'adds new Sentry entries when they do not exist' , ( ) => {
@@ -153,26 +153,26 @@ describe('mergeBaggageHeaders', () => {
153153 const entries = result ?. split ( ',' ) ;
154154 expect ( entries ) . toContain ( 'foo=bar' ) ;
155155 expect ( entries ) . toContain ( 'other=vendor' ) ;
156- expect ( entries ) . toContain ( 'sentry-release=new ' ) ;
157- expect ( entries ) . toContain ( 'sentry-environment=new ' ) ;
156+ expect ( entries ) . toContain ( 'sentry-release=old ' ) ;
157+ expect ( entries ) . toContain ( 'sentry-environment=old ' ) ;
158158 expect ( entries ) . toContain ( 'sentry-transaction=test' ) ;
159159 expect ( entries ) . toContain ( 'new=entry' ) ;
160- expect ( entries ) . not . toContain ( 'sentry-release=old ' ) ;
161- expect ( entries ) . not . toContain ( 'sentry-environment=old ' ) ;
160+ expect ( entries ) . not . toContain ( 'sentry-release=new ' ) ;
161+ expect ( entries ) . not . toContain ( 'sentry-environment=new ' ) ;
162162 } ) ;
163163
164- it ( 'matches OTEL propagation.inject() behavior for Sentry keys' , ( ) => {
164+ it ( 'preserves existing entries even for Sentry keys when both conflict ' , ( ) => {
165165 const result = mergeBaggageHeaders (
166166 'sentry-trace_id=abc123,sentry-sampled=false,non-sentry=keep' ,
167167 'sentry-trace_id=xyz789,sentry-sampled=true' ,
168168 ) ;
169169
170170 const entries = result ?. split ( ',' ) ;
171- expect ( entries ) . toContain ( 'sentry-trace_id=xyz789 ' ) ;
172- expect ( entries ) . toContain ( 'sentry-sampled=true ' ) ;
171+ expect ( entries ) . toContain ( 'sentry-trace_id=abc123 ' ) ;
172+ expect ( entries ) . toContain ( 'sentry-sampled=false ' ) ;
173173 expect ( entries ) . toContain ( 'non-sentry=keep' ) ;
174- expect ( entries ) . not . toContain ( 'sentry-trace_id=abc123 ' ) ;
175- expect ( entries ) . not . toContain ( 'sentry-sampled=false ' ) ;
174+ expect ( entries ) . not . toContain ( 'sentry-trace_id=xyz789 ' ) ;
175+ expect ( entries ) . not . toContain ( 'sentry-sampled=true ' ) ;
176176 } ) ;
177177
178178 it ( 'merges non-conflicting baggage entries' , ( ) => {
0 commit comments