@@ -49,12 +49,16 @@ public void GetHeaders_InvalidOptionHeaders_ThrowsArgumentException(string input
49
49
[ InlineData ( "key1=value1" , "key1=value1" ) ]
50
50
[ InlineData ( "key1=value1,key2=value2" , "key1=value1,key2=value2" ) ]
51
51
[ InlineData ( "key1=value1,key2=value2,key3=value3" , "key1=value1,key2=value2,key3=value3" ) ]
52
+ [ InlineData ( "key1=value1,value2" , "key1=value1,value2" ) ]
53
+ [ InlineData ( "key1=value1,value2,key2=value3" , "key1=value1,value2,key2=value3" ) ]
52
54
[ InlineData ( " key1 = value1 , key2=value2 " , "key1=value1,key2=value2" ) ]
53
55
[ InlineData ( "key1= value with spaces ,key2=another value" , "key1=value with spaces,key2=another value" ) ]
54
56
[ InlineData ( "=value1" , "=value1" ) ]
55
57
[ InlineData ( "key1=" , "key1=" ) ]
56
58
[ InlineData ( "key1=value1%2Ckey2=value2" , "key1=value1,key2=value2" ) ]
57
59
[ InlineData ( "key1=value1%2Ckey2=value2%2Ckey3=value3" , "key1=value1,key2=value2,key3=value3" ) ]
60
+ [ InlineData ( "key1=value1%2Cvalue2" , "key1=value1,value2" ) ]
61
+ [ InlineData ( "key1=value1%2Cvalue2%2Ckey2=value3" , "key1=value1,value2,key2=value3" ) ]
58
62
public void GetHeaders_ValidAndUrlEncodedHeaders_ReturnsCorrectHeaders ( string inputOptionHeaders , string expectedNormalizedOptional )
59
63
{
60
64
VerifyHeaders ( inputOptionHeaders , expectedNormalizedOptional ) ;
@@ -175,27 +179,16 @@ private static void VerifyHeaders(string inputOptionHeaders, string expectedNorm
175
179
}
176
180
177
181
var headers = options . GetHeaders < Dictionary < string , string > > ( ( d , k , v ) => d . Add ( k , v ) ) ;
178
- var expectedOptional = new Dictionary < string , string > ( ) ;
179
182
180
- if ( ! string . IsNullOrEmpty ( expectedNormalizedOptional ) )
181
- {
182
- foreach ( var segment in expectedNormalizedOptional . Split ( [ ',' ] , StringSplitOptions . RemoveEmptyEntries ) )
183
- {
184
- var parts = segment . Split ( [ '=' ] , 2 ) ;
185
- expectedOptional . Add ( parts [ 0 ] . Trim ( ) , parts [ 1 ] . Trim ( ) ) ;
186
- }
187
- }
183
+ var actual = string . Join ( "," , headers . Select ( h => $ "{ h . Key } ={ h . Value } ") ) ;
188
184
189
- Assert . Equal ( OtlpExporterOptions . StandardHeaders . Length + expectedOptional . Count , headers . Count ) ;
190
-
191
- foreach ( var kvp in expectedOptional )
185
+ var expected = expectedNormalizedOptional ;
186
+ if ( expected . Length > 0 )
192
187
{
193
- Assert . Contains ( headers , h => h . Key == kvp . Key && h . Value == kvp . Value ) ;
188
+ expected += ',' ;
194
189
}
190
+ expected += string . Join ( "," , OtlpExporterOptions . StandardHeaders . Select ( h => $ "{ h . Key } ={ h . Value } ") ) ;
195
191
196
- foreach ( var std in OtlpExporterOptions . StandardHeaders )
197
- {
198
- Assert . Contains ( headers , h => h . Key == std . Key && h . Value == std . Value ) ;
199
- }
192
+ Assert . Equal ( expected , actual ) ;
200
193
}
201
194
}
0 commit comments