Added test case 1065 to test a PUT with a single file but two URLs. This

was discovered to be problematic while investigating an incident reported by
Von back in May.  curl in this case doesn't include a Content-Length: or
Transfer-Encoding: chunked header which is illegal. This test case is
added to DISABLED until a solution is found.
This commit is contained in:
Dan Fandrich 2008-08-15 19:18:46 +00:00
parent 66fb9ca5f6
commit a923d8541c
5 changed files with 170 additions and 2 deletions

10
CHANGES
View File

@ -6,6 +6,16 @@
Changelog
Daniel Fandrich (15 Aug 2008)
- Added test case 1063 to test invalid long file ranges with file: URLs and
1064 to test multiple http PUTs.
- Added test case 1065 to test a PUT with a single file but two URLs. This
was discovered to be problematic while investigating an incident reported by
Von back in May. curl in this case doesn't include a Content-Length: or
Transfer-Encoding: chunked header which is illegal. This test case is
added to DISABLED until a solution is found.
Yang Tse (15 Aug 2008)
- C preprocessor macros used internally and equally available externally which
aid in the use of the curl_off_t data type are named: CURL_FORMAT_CURL_OFF_T,

View File

@ -3,4 +3,4 @@
# test cases are run by runtests.pl. Just add the plain test case numbers, one
# per line.
# Lines starting with '#' letters are treated as comments.
1065

View File

@ -55,7 +55,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 \
test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063
test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063 \
test1064 test1065
filecheck:
@mkdir test-place; \

79
tests/data/test1064 Normal file
View File

@ -0,0 +1,79 @@
<testcase>
<info>
<keywords>
HTTP
HTTP PUT
</keywords>
</info>
<reply>
<data nocheck="1">
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3
ok
</data>
<data2 nocheck="1">
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 9
still ok
</data2>
</reply>
# Client-side
<client>
#
<server>
http
</server>
<name>
HTTP PUT twice
</name>
<command>
-H "Expect:" -T log/1064 http://%HOSTIP:%HTTPPORT/1064.upload1 -T log/1064 http://%HOSTIP:%HTTPPORT/10640002.upload2
</command>
<file name="log/1064">
test
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /1064.upload1 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 5
test
PUT /10640002.upload2 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 5
test
</protocol>
<stdout>
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3
ok
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 9
still ok
</stdout>
</verify>
</testcase>

78
tests/data/test1065 Normal file
View File

@ -0,0 +1,78 @@
<testcase>
<info>
<keywords>
HTTP
HTTP PUT
</keywords>
</info>
<reply>
<data nocheck="1">
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3
ok
</data>
<data2 nocheck="1">
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 9
still ok
</data2>
</reply>
# Client-side
<client>
#
<server>
http
</server>
<name>
HTTP PUT with one file but two URLs
</name>
<command>
-H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.upload2
</command>
<file name="log/1065">
test
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /1065.upload1 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 5
test
PUT /10650002.upload2 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 0
</protocol>
<stdout>
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3
ok
HTTP/1.1 200 A OK
Server: curl test
Content-Type: text/html; charset=iso-8859-1
Content-Length: 9
still ok
</stdout>
</verify>
</testcase>