summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2008-07-30 21:04:44 +0000
committerDan Fandrich <dan@coneharvesters.com>2008-07-30 21:04:44 +0000
commitbc649593e4b27b17c5f9d4455d50123cdf6a66d3 (patch)
treec41bc6be649472535ed4df64b12fe17763e67311
parentcc0285da7f99fd4cb87db7059552db929b6f24f2 (diff)
downloadcurl-bc649593e4b27b17c5f9d4455d50123cdf6a66d3.tar.gz
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.
-rw-r--r--CHANGES10
-rw-r--r--tests/data/DISABLED2
-rw-r--r--tests/data/Makefile.am2
-rw-r--r--tests/data/test10282
-rw-r--r--tests/data/test105297
-rw-r--r--tests/data/test1053125
-rw-r--r--tests/data/test105480
-rw-r--r--tests/data/test105589
8 files changed, 402 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index fbfeb019b..f87cace9d 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 562ee823b..4b41d668a 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 c47ee476a..df25a7247 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 327b3c2c0..fd5162a70 100644
--- a/tests/data/test1028
+++ b/tests/data/test1028
@@ -45,7 +45,7 @@ ftp
HTTP Location: redirect to FTP URL
</name>
<command>
--k http://%HOSTIP:%HTTPPORT/10280001 -L
+http://%HOSTIP:%HTTPPORT/10280001 -L
</command>
# The data section doesn't do variable substitution, so we must assert this
<precheck>
diff --git a/tests/data/test1052 b/tests/data/test1052
new file mode 100644
index 000000000..fac7e7d2f
--- /dev/null
+++ b/tests/data/test1052
@@ -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>
diff --git a/tests/data/test1053 b/tests/data/test1053
new file mode 100644
index 000000000..a898dbaf1
--- /dev/null
+++ b/tests/data/test1053
@@ -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>
diff --git a/tests/data/test1054 b/tests/data/test1054
new file mode 100644
index 000000000..72389b376
--- /dev/null
+++ b/tests/data/test1054
@@ -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>
diff --git a/tests/data/test1055 b/tests/data/test1055
new file mode 100644
index 000000000..7e2eae1b8
--- /dev/null
+++ b/tests/data/test1055
@@ -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>