diff --git a/CHANGES b/CHANGES index fbfeb019bc..f87cace9dd 100644 --- a/CHANGES +++ b/CHANGES @@ -6,14 +6,18 @@ 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) - Fixed --use-ascii to properly convert text files on Symbian OS, MS-DOS and OS/2. - 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, - but the test harness web server doesn't run the test correctly so it's - disabled for now. + by Ben Sutcliffe. The test when run manually shows a problem in curl + so it's disabled. Daniel Fandrich (28 Jul 2008) - Fixed display of the interface bind address in the trace output when it's diff --git a/tests/data/DISABLED b/tests/data/DISABLED index 562ee823bd..4b41d668a1 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -5,3 +5,5 @@ # Lines starting with '#' letters are treated as comments. 1041 1051 +1052 +1055 diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index c47ee476aa..df25a72470 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -54,7 +54,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test556 test1031 test628 test629 test630 test631 test632 test1032 \ test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \ test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \ - test1048 test1049 test1050 test1051 + test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 filecheck: @mkdir test-place; \ diff --git a/tests/data/test1028 b/tests/data/test1028 index 327b3c2c0f..fd5162a705 100644 --- a/tests/data/test1028 +++ b/tests/data/test1028 @@ -45,7 +45,7 @@ ftp HTTP Location: redirect to FTP URL --k http://%HOSTIP:%HTTPPORT/10280001 -L +http://%HOSTIP:%HTTPPORT/10280001 -L # The data section doesn't do variable substitution, so we must assert this diff --git a/tests/data/test1052 b/tests/data/test1052 new file mode 100644 index 0000000000..fac7e7d2fc --- /dev/null +++ b/tests/data/test1052 @@ -0,0 +1,97 @@ + + + +HTTP +HTTP PUT +followlocation + + + +# Server-side + + +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 + + + +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 + + +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 + + + +# Client-side + + +http + + +HTTP 1.0 PUT with Location: following + + +http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt + + +Weird + file + to + upload +for + testing +the + PUT + feature + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +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 + + + diff --git a/tests/data/test1053 b/tests/data/test1053 new file mode 100644 index 0000000000..a898dbaf19 --- /dev/null +++ b/tests/data/test1053 @@ -0,0 +1,125 @@ + +# Based on test 9 + + +HTTP +HTTP FORMPOST +HTTP file upload +followredirect + + + +# Server-side + + +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 + + + +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 + + + + +# Client-side + + +http + + +HTTP RFC1867-type formposting from file with Location following + + +http://%HOSTIP:%HTTPPORT/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/test1053.txt + +# We create this file before the command is invoked! + +foo- +This is a moo- +bar + + + +# Verify data after the test has been "shot" + + +^(User-Agent:|Content-Type: multipart/form-data;|------------).* + + +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-- + + + diff --git a/tests/data/test1054 b/tests/data/test1054 new file mode 100644 index 0000000000..72389b3762 --- /dev/null +++ b/tests/data/test1054 @@ -0,0 +1,80 @@ + + + +HTTP +HTTP POST +followlocation + + + +# +# Server-side + + +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 + + +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 + + + +# +# Client-side + + +http + + +HTTP POST from file with 301 redirect and --post301 + + +field=data + + +http://%HOSTIP:%HTTPPORT/blah/1054 -L -d @log/test1054.txt --post301 + + + +# +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +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 + + + diff --git a/tests/data/test1055 b/tests/data/test1055 new file mode 100644 index 0000000000..7e2eae1b8f --- /dev/null +++ b/tests/data/test1055 @@ -0,0 +1,89 @@ + + + +HTTP +HTTP PUT +followlocation +FTP +EPSV +STOR + + + +# +# Server-side + + +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 + + + + +# +# Client-side + + +http +ftp + + +HTTP PUT Location: redirect to FTP URL + + +http://%HOSTIP:%HTTPPORT/1055 -L -T log/test1055.txt + +# The data section doesn't do variable substitution, so we must assert this + +perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );" + + +Weird + file + to + upload +for + testing +the + PUT + feature + + + +# +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +PUT /1055 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + +USER anonymous +PASS ftp@example.com +PWD +EPSV +TYPE I +STOR 1055 +QUIT + + +Weird + file + to + upload +for + testing +the + PUT + feature + + +