summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2012-01-03 16:12:58 +0100
committerDaniel Stenberg <daniel@haxx.se>2012-01-03 16:12:58 +0100
commit2f4a487a68473762367e894b726e4f3a9e0e7e5b (patch)
tree6d3da24028efdfed5037919d326b209efe0e7523
parent82180643f4886d47816cf654f2ee46114e9c296f (diff)
downloadcurl-2f4a487a68473762367e894b726e4f3a9e0e7e5b.tar.gz
tests: test IMAP, POP3 and SMTP over HTTP proxy tunnel
-rw-r--r--tests/data/Makefile.am2
-rw-r--r--tests/data/test131972
-rw-r--r--tests/data/test132062
-rw-r--r--tests/data/test132166
4 files changed, 201 insertions, 1 deletions
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 6b661a216..f5894940a 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -81,7 +81,7 @@ test1208 test1209 test1210 test1211 \
test1220 \
test1300 test1301 test1302 test1303 test1304 test1305 \
test1306 test1307 test1308 test1309 test1310 test1311 test1312 test1313 \
-test1314 test1315 test1316 test1317 test1318 \
+test1314 test1315 test1316 test1317 test1318 test1319 test1320 test1321 \
test2000 test2001 test2002 test2003 test2004
EXTRA_DIST = $(TESTCASES) DISABLED
diff --git a/tests/data/test1319 b/tests/data/test1319
new file mode 100644
index 000000000..ab31b9c25
--- /dev/null
+++ b/tests/data/test1319
@@ -0,0 +1,72 @@
+<testcase>
+<info>
+<keywords>
+POP3
+RETR
+HTTP CONNECT
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+<data>
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</data>
+
+<datacheck>
+HTTP/1.1 200 Mighty fine indeed
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+pop3
+http-proxy
+</server>
+ <name>
+POP3 fetch tunneled through HTTP proxy
+ </name>
+ <command>
+pop3://%HOSTIP:%POP3PORT/1319 -p -x %HOSTIP:%PROXYPORT -u user:secret
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:
+</strip>
+<protocol>
+USER user
+PASS secret
+RETR 1319
+QUIT
+</protocol>
+<proxy>
+CONNECT %HOSTIP:%POP3PORT HTTP/1.1
+Host: %HOSTIP:%POP3PORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+</proxy>
+</verify>
+</testcase>
diff --git a/tests/data/test1320 b/tests/data/test1320
new file mode 100644
index 000000000..d8671f582
--- /dev/null
+++ b/tests/data/test1320
@@ -0,0 +1,62 @@
+<testcase>
+<info>
+<keywords>
+SMTP
+HTTP CONNECT
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+smtp
+http-proxy
+</server>
+ <name>
+SMTP send tunneled trough HTTP proxy
+ </name>
+<stdin>
+From: different
+To: another
+
+body
+</stdin>
+ <command>
+smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 1320@foo --mail-rcpt 1320@foobar.example --mail-from 1320@from -T - -p -x %HOSTIP:%PROXYPORT
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+EHLO user
+MAIL FROM:<1320@from>
+RCPT TO:<1320@foo>
+RCPT TO:<1320@foobar.example>
+DATA
+QUIT
+</protocol>
+<upload>
+From: different
+To: another
+
+body
+
+.
+</upload>
+<proxy>
+CONNECT %HOSTIP:%SMTPPORT HTTP/1.1
+Host: %HOSTIP:%SMTPPORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+</proxy>
+</verify>
+</testcase>
diff --git a/tests/data/test1321 b/tests/data/test1321
new file mode 100644
index 000000000..6050d9da2
--- /dev/null
+++ b/tests/data/test1321
@@ -0,0 +1,66 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+FETCH
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</data>
+<datacheck>
+HTTP/1.1 200 Mighty fine indeed
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+http-proxy
+</server>
+ <name>
+IMAP FETCH tunneled through HTTP proxy
+ </name>
+ <command>
+imap://%HOSTIP:%IMAPPORT/1321 -u user:secret -p -x %HOSTIP:%PROXYPORT
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+B LOGIN user secret
+C SELECT 1321
+D FETCH 1 BODY[TEXT]
+A LOGOUT
+</protocol>
+<proxy>
+CONNECT %HOSTIP:%IMAPPORT HTTP/1.1
+Host: %HOSTIP:%IMAPPORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+</proxy>
+</verify>
+</testcase>