Skip to content

Commit 0094e96

Browse files
committed
fix tests and add test cases that combine valid/invalid pairs
1 parent 44d36ae commit 0094e96

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

tracer/test/Datadog.Trace.Tests/Propagators/W3CBaggagePropagatorTests.cs

+31-3
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,32 @@ static W3CBaggagePropagatorTests()
5959
{ "=", null },
6060
{ " = ", null },
6161
{ ";", null },
62+
// valid + invalid
63+
{ "key1=value1,", null },
64+
{ "key1=value1,key2", null },
65+
{ "key1=value1,key2=", null },
66+
{ "key1=value1,=value", null },
67+
{ "key1=value1,=", null },
68+
{ "key1=value1,key2;a=value2", null },
69+
// invalid + valid
70+
{ ",key2=value2", null },
71+
{ "key1,key2=value2", null },
72+
{ "key1=,key2=value2", null },
73+
{ "=value1,key2=value2", null },
74+
{ "=,key2=value2", null },
75+
{ "key1;a=value1,key2=value2", null },
76+
// valid headers
6277
{ "valid=%20", [("valid", " ")] },
6378
{ "%20=valid", [(" ", "valid")] },
6479
{ "%20=%20", [(" ", " ")] },
6580
{ "key1=value1,key2=value2", [("key1", "value1"), ("key2", "value2")] },
66-
{ "key1=value1,invalid", [("key1", "value1")] },
6781
{ "key1=value1, key2 = value2;property1;property2, key3=value3; propertyKey=propertyValue", [("key1", "value1"), ("key2", "value2"), ("key3", "value3")] }, // W3C metadata/property not currently supported so the values are discarded
6882
{ "key1=value1%2Cvalid", [("key1", "value1,valid")] },
6983
{ "key1=value1=valid", [("key1", "value1=valid")] },
7084
{ "%20key1%20=%20value%091", [(" key1 ", " value\t1")] }, // encoded whitespace
7185
{ "key1 = value1, key2 = value\t2 ", [("key1", "value1"), ("key2", "value\t2")] }, // whitespace not encoded
72-
{ "key%F0%9F%90%B6=value%E6%88%91", [("key🐶", "value我")] }, // encoded unicode
73-
{ "key🐶=value我", [("key🐶", "value我")] }, // unicode not encoded
86+
{ "key%F0%9F%90%B6=value%E6%88%91", [("key🐶", "value我")] }, // encoded unicode
87+
{ "key🐶=value我", [("key🐶", "value我")] }, // unicode not encoded
7488
};
7589

7690
[Theory]
@@ -263,6 +277,20 @@ public void Extract_CarrierAndDelegate()
263277
[InlineData("")]
264278
[InlineData(" ")]
265279
[InlineData(null)]
280+
// valid + invalid
281+
[InlineData("key1=value1,")]
282+
[InlineData("key1=value1,key2")]
283+
[InlineData("key1=value1,key2=")]
284+
[InlineData("key1=value1,=value2")]
285+
[InlineData("key1=value1,=")]
286+
[InlineData("key1=value1,key2;a=value2")]
287+
// invalid + valid
288+
[InlineData(",key2=value2")]
289+
[InlineData("key1,key2=value2")]
290+
[InlineData("key1=,key2=value2")]
291+
[InlineData("=value1,key2=value2")]
292+
[InlineData("=,key2=value2")]
293+
[InlineData("key1;a=value1,key2=value2")]
266294
public void Extract_InvalidFormat(string header)
267295
{
268296
var headers = new Mock<IHeadersCollection>(MockBehavior.Strict);

0 commit comments

Comments
 (0)