Skip to content

Commit b6ff8db

Browse files
bneradtcmcfarlen
authored andcommitted
chunked body autests: avoid UUID colision (#11843)
The ATS via header string contains a UUID which is a set of hex values. Since some of the chunked encoding tests used a chunked body of abc, this would sometimes coincidentally cause a failure when the autest found abc, not from the body, but from the UUID. This avoids that by including non-hex values in the test body. Fixes #11841 (cherry picked from commit 13abab6)
1 parent a356cc9 commit b6ff8db

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

tests/gold_tests/chunked_encoding/bad_chunked_encoding.test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,9 @@ def setupOriginServer(self):
135135
self.server.Streams.stdout += Testers.ContainsExpression(
136136
"Unexpected chunked content for key 3: too small", "Verify that writing the third response failed.")
137137

138-
# ATS should close the connection before any body gets through. "abc"
138+
# ATS should close the connection before any body gets through. "abcwxyz"
139139
# is the body sent by the client for each of these chunked cases.
140-
self.server.Streams.stdout += Testers.ExcludesExpression("abc", "Verify that the body never got through.")
140+
self.server.Streams.stdout += Testers.ExcludesExpression("abcwxyz", "Verify that the body never got through.")
141141

142142
def setupTS(self):
143143
self.ts = Test.MakeATSProcess("ts3", enable_tls=True, enable_cache=False)

tests/gold_tests/chunked_encoding/replays/chunked_trailer_dropped.replay.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ sessions:
3434
content:
3535
transfer: plain
3636
encoding: uri
37-
# 3-byte chunk, abc.
37+
# 7-byte chunk, abcwxyz.
3838
# Then chunked trailers between 0\r\n and a final \r\n (per specification).
39-
data: 3%0D%0Aabc%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
39+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
4040

4141
proxy-request:
4242
content:
4343
transfer: plain
4444
encoding: uri
4545
# Note: same as client-request, but the trailer is dropped.
46-
data: 3%0D%0Aabc%0D%0A0%0D%0A%0D%0A
46+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0A%0D%0A
4747
verify: { as: equal }
4848

4949
server-response:
@@ -57,12 +57,12 @@ sessions:
5757
transfer: plain
5858
encoding: uri
5959
# Note: same content as the client-request.
60-
data: 3%0D%0Aabc%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
60+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
6161

6262
proxy-request:
6363
content:
6464
transfer: plain
6565
encoding: uri
6666
# Note: same as server-response, but the trailer is dropped.
67-
data: 3%0D%0Aabc%0D%0A0%0D%0A%0D%0A
67+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0A%0D%0A
6868
verify: { as: equal }

tests/gold_tests/chunked_encoding/replays/chunked_trailer_proxied.replay.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ sessions:
3434
content:
3535
transfer: plain
3636
encoding: uri
37-
# 3-byte chunk, abc.
37+
# 7-byte chunk, abcwxyz.
3838
# Then chunked trailers between 0\r\n and a final \r\n (per specification).
39-
data: 3%0D%0Aabc%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
39+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
4040

4141
proxy-request:
4242
content:
4343
transfer: plain
4444
encoding: uri
4545
# Same content as client-request above.
46-
data: 3%0D%0Aabc%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
46+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0AClient%3A%20ATS%0D%0AETag%3A%20%22abc%22%0D%0A%0D%0A
4747
verify: { as: equal }
4848

4949
server-response:
@@ -57,12 +57,12 @@ sessions:
5757
transfer: plain
5858
encoding: uri
5959
# Note: same content as the client-request.
60-
data: 3%0D%0Aabc%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
60+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
6161

6262
proxy-request:
6363
content:
6464
transfer: plain
6565
encoding: uri
6666
# Same content as server-response above.
67-
data: 3%0D%0Aabc%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
67+
data: 7%0D%0Aabcwxyz%0D%0A0%0D%0ASever%3A%20ATS%0D%0AETag%3A%20%22def%22%0D%0A%0D%0A
6868
verify: { as: equal }

tests/gold_tests/chunked_encoding/replays/malformed_chunked_header.replay.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ sessions:
3232
transfer: plain
3333
encoding: uri
3434
# Chunk header sizes are in hex, so a size of `z` is malformed.
35-
data: z%0D%0Aabc%0D%0A0%0D%0A%0D%0A
35+
data: z%0D%0Aabcwxyz%0D%0A0%0D%0A%0D%0A
3636

3737
# The connection will be dropped and this response will not go out.
3838
server-response:
@@ -52,7 +52,7 @@ sessions:
5252
transfer: plain
5353
encoding: uri
5454
# Chunk header sizes are in hex, so a size of `3z` is malformed.
55-
data: 3z%0D%0Aabc%0D%0A0%0D%0A%0D%0A
55+
data: 3z%0D%0Aabcwxyz%0D%0A0%0D%0A%0D%0A
5656

5757
# The connection will be dropped and this response will not go out.
5858
server-response:
@@ -72,7 +72,7 @@ sessions:
7272
transfer: plain
7373
encoding: uri
7474
# Super large chunk header, larger than will fit in an int.
75-
data: 111111113%0D%0Aabc%0D%0A0%0D%0A%0D%0A
75+
data: 111111113%0D%0Aabcwxyz%0D%0A0%0D%0A%0D%0A
7676

7777
# The connection will be dropped and this response will not go out.
7878
server-response:

0 commit comments

Comments
 (0)