mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
Added test cases 1052 through 1055 to test uploading data from files
during redirects. Test cases 1052 and 1055 show problems (maybe the same root cause as 1051) and are disabled.
This commit is contained in:
parent
cc0285da7f
commit
bc649593e4
10
CHANGES
10
CHANGES
@ -6,14 +6,18 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel Fandrich (30 Jul 2008)
|
||||||
|
- Added test cases 1052 through 1055 to test uploading data from files
|
||||||
|
during redirects. Test cases 1052 and 1055 show problems (maybe the same
|
||||||
|
root cause as 1051) and are disabled.
|
||||||
|
|
||||||
Daniel Fandrich (29 Jul 2008)
|
Daniel Fandrich (29 Jul 2008)
|
||||||
- Fixed --use-ascii to properly convert text files on Symbian OS, MS-DOS
|
- Fixed --use-ascii to properly convert text files on Symbian OS, MS-DOS
|
||||||
and OS/2.
|
and OS/2.
|
||||||
|
|
||||||
- Added test case 1051 to test Location: following with PUT, as reported
|
- Added test case 1051 to test Location: following with PUT, as reported
|
||||||
by Ben Sutcliffe. The test when run manually shows a problem in curl,
|
by Ben Sutcliffe. The test when run manually shows a problem in curl
|
||||||
but the test harness web server doesn't run the test correctly so it's
|
so it's disabled.
|
||||||
disabled for now.
|
|
||||||
|
|
||||||
Daniel Fandrich (28 Jul 2008)
|
Daniel Fandrich (28 Jul 2008)
|
||||||
- Fixed display of the interface bind address in the trace output when it's
|
- Fixed display of the interface bind address in the trace output when it's
|
||||||
|
@ -5,3 +5,5 @@
|
|||||||
# Lines starting with '#' letters are treated as comments.
|
# Lines starting with '#' letters are treated as comments.
|
||||||
1041
|
1041
|
||||||
1051
|
1051
|
||||||
|
1052
|
||||||
|
1055
|
||||||
|
@ -54,7 +54,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
|
|||||||
test556 test1031 test628 test629 test630 test631 test632 test1032 \
|
test556 test1031 test628 test629 test630 test631 test632 test1032 \
|
||||||
test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
|
test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
|
||||||
test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
|
test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
|
||||||
test1048 test1049 test1050 test1051
|
test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055
|
||||||
|
|
||||||
filecheck:
|
filecheck:
|
||||||
@mkdir test-place; \
|
@mkdir test-place; \
|
||||||
|
@ -45,7 +45,7 @@ ftp
|
|||||||
HTTP Location: redirect to FTP URL
|
HTTP Location: redirect to FTP URL
|
||||||
</name>
|
</name>
|
||||||
<command>
|
<command>
|
||||||
-k http://%HOSTIP:%HTTPPORT/10280001 -L
|
http://%HOSTIP:%HTTPPORT/10280001 -L
|
||||||
</command>
|
</command>
|
||||||
# The data section doesn't do variable substitution, so we must assert this
|
# The data section doesn't do variable substitution, so we must assert this
|
||||||
<precheck>
|
<precheck>
|
||||||
|
97
tests/data/test1052
Normal file
97
tests/data/test1052
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
<testcase>
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
HTTP PUT
|
||||||
|
followlocation
|
||||||
|
</keywords>
|
||||||
|
|
||||||
|
</info>
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.0 301 Redirect swsclose
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Location: data/10520002.txt?coolsite=yes
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
</data>
|
||||||
|
<data2>
|
||||||
|
HTTP/1.0 200 Followed here fine swsclose
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Content-Length: 51
|
||||||
|
|
||||||
|
If this is received, the location following worked
|
||||||
|
</data2>
|
||||||
|
<datacheck>
|
||||||
|
HTTP/1.0 301 Redirect
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Location: data/10520002.txt?coolsite=yes
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: Keep-Alive
|
||||||
|
|
||||||
|
HTTP/1.0 200 Followed here fine swsclose
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Content-Length: 51
|
||||||
|
|
||||||
|
If this is received, the location following worked
|
||||||
|
</datacheck>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
HTTP 1.0 PUT with Location: following
|
||||||
|
</name>
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt
|
||||||
|
</command>
|
||||||
|
<file name="log/test1052.txt">
|
||||||
|
Weird
|
||||||
|
file
|
||||||
|
to
|
||||||
|
upload
|
||||||
|
for
|
||||||
|
testing
|
||||||
|
the
|
||||||
|
PUT
|
||||||
|
feature
|
||||||
|
</file>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^User-Agent:.*
|
||||||
|
</strip>
|
||||||
|
<protocol>
|
||||||
|
PUT /want/1052 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 78
|
||||||
|
|
||||||
|
PUT /want/data/10520002.txt?coolsite=yes HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 78
|
||||||
|
|
||||||
|
Weird
|
||||||
|
file
|
||||||
|
to
|
||||||
|
upload
|
||||||
|
for
|
||||||
|
testing
|
||||||
|
the
|
||||||
|
PUT
|
||||||
|
feature
|
||||||
|
</protocol>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
125
tests/data/test1053
Normal file
125
tests/data/test1053
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
<testcase>
|
||||||
|
# Based on test 9
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
HTTP FORMPOST
|
||||||
|
HTTP file upload
|
||||||
|
followredirect
|
||||||
|
</keywords>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.0 307 Redirect swsclose
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Location: data/10530002.txt?coolsite=yes
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
</data>
|
||||||
|
<data2>
|
||||||
|
HTTP/1.0 200 OK swsclose
|
||||||
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
|
||||||
|
blablabla
|
||||||
|
|
||||||
|
</data2>
|
||||||
|
<datacheck>
|
||||||
|
HTTP/1.0 307 Redirect swsclose
|
||||||
|
Date: Thu, 29 Jul 2008 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
Location: data/10530002.txt?coolsite=yes
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
HTTP/1.0 200 OK swsclose
|
||||||
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||||
|
Server: test-server/fake
|
||||||
|
|
||||||
|
blablabla
|
||||||
|
|
||||||
|
</datacheck>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
HTTP RFC1867-type formposting from file with Location following
|
||||||
|
</name>
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/test1053.txt
|
||||||
|
</command>
|
||||||
|
# We create this file before the command is invoked!
|
||||||
|
<file name="log/test1053.txt">
|
||||||
|
foo-
|
||||||
|
This is a moo-
|
||||||
|
bar
|
||||||
|
</file>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^(User-Agent:|Content-Type: multipart/form-data;|------------).*
|
||||||
|
</strip>
|
||||||
|
<protocol>
|
||||||
|
POST /we/want/1053 HTTP/1.1
|
||||||
|
User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 410
|
||||||
|
Expect: 100-continue
|
||||||
|
Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
|
||||||
|
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="name"
|
||||||
|
|
||||||
|
daniel
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="tool"
|
||||||
|
|
||||||
|
curl
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="file"; filename="test1053.txt"
|
||||||
|
Content-Type: text/plain
|
||||||
|
|
||||||
|
foo-
|
||||||
|
This is a moo-
|
||||||
|
bar
|
||||||
|
|
||||||
|
------------------------------9ef8d6205763--
|
||||||
|
POST /we/want/data/10530002.txt?coolsite=yes HTTP/1.1
|
||||||
|
User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 410
|
||||||
|
Expect: 100-continue
|
||||||
|
Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
|
||||||
|
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="name"
|
||||||
|
|
||||||
|
daniel
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="tool"
|
||||||
|
|
||||||
|
curl
|
||||||
|
------------------------------9ef8d6205763
|
||||||
|
Content-Disposition: form-data; name="file"; filename="test1053.txt"
|
||||||
|
Content-Type: text/plain
|
||||||
|
|
||||||
|
foo-
|
||||||
|
This is a moo-
|
||||||
|
bar
|
||||||
|
|
||||||
|
------------------------------9ef8d6205763--
|
||||||
|
</protocol>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
80
tests/data/test1054
Normal file
80
tests/data/test1054
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<testcase>
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
HTTP POST
|
||||||
|
followlocation
|
||||||
|
</keywords>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.1 301 OK swsclose
|
||||||
|
Location: moo.html&testcase=/10540002
|
||||||
|
Date: Thu, 31 Jul 2008 14:49:00 GMT
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
</data>
|
||||||
|
<data2>
|
||||||
|
HTTP/1.1 200 OK swsclose
|
||||||
|
Date: Thu, 31 Jul 2008 14:49:00 GMT
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
body
|
||||||
|
</data2>
|
||||||
|
<datacheck>
|
||||||
|
HTTP/1.1 301 OK swsclose
|
||||||
|
Location: moo.html&testcase=/10540002
|
||||||
|
Date: Thu, 31 Jul 2008 14:49:00 GMT
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
HTTP/1.1 200 OK swsclose
|
||||||
|
Date: Thu, 31 Jul 2008 14:49:00 GMT
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
body
|
||||||
|
</datacheck>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
HTTP POST from file with 301 redirect and --post301
|
||||||
|
</name>
|
||||||
|
<file name="log/test1054.txt">
|
||||||
|
field=data
|
||||||
|
</file>
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/blah/1054 -L -d @log/test1054.txt --post301
|
||||||
|
</command>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^User-Agent:.*
|
||||||
|
</strip>
|
||||||
|
<protocol nonewline="yes">
|
||||||
|
POST /blah/1054 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 10
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
field=dataPOST /blah/moo.html&testcase=/10540002 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 10
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
field=data
|
||||||
|
</protocol>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
89
tests/data/test1055
Normal file
89
tests/data/test1055
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<testcase>
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
HTTP PUT
|
||||||
|
followlocation
|
||||||
|
FTP
|
||||||
|
EPSV
|
||||||
|
STOR
|
||||||
|
</keywords>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.1 307 OK
|
||||||
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||||
|
Server: test-server/fake swsclose
|
||||||
|
Content-Type: text/html
|
||||||
|
Location: ftp://127.0.0.1:8992/1055
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
ftp
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
HTTP PUT Location: redirect to FTP URL
|
||||||
|
</name>
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/1055 -L -T log/test1055.txt
|
||||||
|
</command>
|
||||||
|
# The data section doesn't do variable substitution, so we must assert this
|
||||||
|
<precheck>
|
||||||
|
perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
|
||||||
|
</precheck>
|
||||||
|
<file name="log/test1055.txt">
|
||||||
|
Weird
|
||||||
|
file
|
||||||
|
to
|
||||||
|
upload
|
||||||
|
for
|
||||||
|
testing
|
||||||
|
the
|
||||||
|
PUT
|
||||||
|
feature
|
||||||
|
</file>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^User-Agent:.*
|
||||||
|
</strip>
|
||||||
|
<protocol>
|
||||||
|
PUT /1055 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
|
||||||
|
USER anonymous
|
||||||
|
PASS ftp@example.com
|
||||||
|
PWD
|
||||||
|
EPSV
|
||||||
|
TYPE I
|
||||||
|
STOR 1055
|
||||||
|
QUIT
|
||||||
|
</protocol>
|
||||||
|
<upload>
|
||||||
|
Weird
|
||||||
|
file
|
||||||
|
to
|
||||||
|
upload
|
||||||
|
for
|
||||||
|
testing
|
||||||
|
the
|
||||||
|
PUT
|
||||||
|
feature
|
||||||
|
</upload>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
Loading…
Reference in New Issue
Block a user