From bc649593e4b27b17c5f9d4455d50123cdf6a66d3 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Wed, 30 Jul 2008 21:04:44 +0000 Subject: [PATCH] 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. --- CHANGES | 10 ++-- tests/data/DISABLED | 2 + tests/data/Makefile.am | 2 +- tests/data/test1028 | 2 +- tests/data/test1052 | 97 ++++++++++++++++++++++++++++++++++++++ tests/data/test1053 | 125 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/data/test1054 | 80 +++++++++++++++++++++++++++++++ tests/data/test1055 | 89 +++++++++++++++++++++++++++++++++++ 8 files changed, 402 insertions(+), 5 deletions(-) create mode 100644 tests/data/test1052 create mode 100644 tests/data/test1053 create mode 100644 tests/data/test1054 create mode 100644 tests/data/test1055 diff --git a/CHANGES b/CHANGES index fbfeb01..f87cace 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 562ee82..4b41d66 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 c47ee47..df25a72 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 327b3c2..fd5162a 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 0000000..fac7e7d --- /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 0000000..a898dba --- /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 0000000..72389b3 --- /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 0000000..7e2eae1 --- /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 + + + -- 2.7.4