Commit a923d854 authored by Dan Fandrich's avatar Dan Fandrich
Browse files

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.
parent 66fb9ca5
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -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; \

tests/data/test1064

0 → 100644
+79 −0
Original line number Diff line number Diff line
<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>

tests/data/test1065

0 → 100644
+78 −0
Original line number Diff line number Diff line
<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>