diff options
author | Maros Priputen <maros.priputen@student.tuke.sk> | 2019-10-30 09:43:14 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-11-28 13:05:20 +0100 |
commit | 18e5cb77e986911063da8ab6bf254d632b2de6ea (patch) | |
tree | e86358f792c99440d2cb2eebe3a8518514816cc1 /tests | |
parent | 1ff63fa69baf617eee856ea30db7ae23134e46fd (diff) |
curl: two new command line options for etags
--etag-compare and --etag-save
Suggested-by: Paul Hoffman
Fixes #4277
Closes #4543
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/Makefile.inc | 3 | ||||
-rw-r--r-- | tests/data/test339 | 63 | ||||
-rw-r--r-- | tests/data/test341 | 57 | ||||
-rw-r--r-- | tests/data/test342 | 59 |
4 files changed, 180 insertions, 2 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index c45bced5b..f07d6739c 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -57,8 +57,7 @@ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ -test334 test335 test336 test337 test338 \ -test340 \ +test334 test335 test336 test337 test338 test339 test340 test341 test342 \ \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ diff --git a/tests/data/test339 b/tests/data/test339 new file mode 100644 index 000000000..cd6e49892 --- /dev/null +++ b/tests/data/test339 @@ -0,0 +1,63 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +</keywords> +</info> +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+ETag: "asdf"
+
+40 +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +30 +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +21;heresatest=moooo +cccccccccccccccccccccccccccccccc + +0 +chunky-trailer: header data + +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<name> +Check if --etag-save saved correct etag to a file +</name> +<command> +http://%HOSTIP:%HTTPPORT/339 --etag-save log/etag339 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /339 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +<file name="log/etag339"> +asdf +</file> +</verify> + +</testcase> diff --git a/tests/data/test341 b/tests/data/test341 new file mode 100644 index 000000000..5e952ad98 --- /dev/null +++ b/tests/data/test341 @@ -0,0 +1,57 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +</keywords> +</info> +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+ETag: "asdf"
+
+40 +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +30 +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +21;heresatest=moooo +cccccccccccccccccccccccccccccccc + +0 +chunky-trailer: header data + +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<name> +Try to open a non existing file with --etag-compare should return an error +</name> +<command> +http://%HOSTIP:%HTTPPORT/341 --etag-compare log/etag341 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<errorcode> +26 +</errorcode> +</verify> + +</testcase> diff --git a/tests/data/test342 b/tests/data/test342 new file mode 100644 index 000000000..b54e04819 --- /dev/null +++ b/tests/data/test342 @@ -0,0 +1,59 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT +ETag: "21025-dc7-39462498" +Accept-Ranges: bytes +Content-Length: 6 +Connection: close +Content-Type: text/html +Funny-head: yesyes + +-foo- +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<name> +Check if --etag-compare set correct etag in header +</name> +<file name="log/etag342"> +21025-dc7-39462498 +</file> +<command> +http://%HOSTIP:%HTTPPORT/342 --etag-compare log/etag342 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /342 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-None-Match: "21025-dc7-39462498"
+
+</protocol> +</verify> +</testcase> |