]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
tests: test IMAP, POP3 and SMTP over HTTP proxy tunnel
authorDaniel Stenberg <daniel@haxx.se>
Tue, 3 Jan 2012 15:12:58 +0000 (16:12 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 3 Jan 2012 15:12:58 +0000 (16:12 +0100)
tests/data/Makefile.am
tests/data/test1319 [new file with mode: 0644]
tests/data/test1320 [new file with mode: 0644]
tests/data/test1321 [new file with mode: 0644]

index 6b661a216db2c5efb4adb68ebb0020f2bc61932b..f5894940a5df193276eac6bcfccbdca99abb5573 100644 (file)
@@ -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 (file)
index 0000000..ab31b9c
--- /dev/null
@@ -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\r
+\r
+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\r
+PASS secret\r
+RETR 1319\r
+QUIT\r
+</protocol>
+<proxy>
+CONNECT %HOSTIP:%POP3PORT HTTP/1.1\r
+Host: %HOSTIP:%POP3PORT\r
+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\r
+Proxy-Connection: Keep-Alive\r
+\r
+</proxy>
+</verify>
+</testcase>
diff --git a/tests/data/test1320 b/tests/data/test1320
new file mode 100644 (file)
index 0000000..d8671f5
--- /dev/null
@@ -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\r
+MAIL FROM:<1320@from>\r
+RCPT TO:<1320@foo>\r
+RCPT TO:<1320@foobar.example>\r
+DATA\r
+QUIT\r
+</protocol>
+<upload>
+From: different
+To: another
+
+body
+\r
+.\r
+</upload>
+<proxy>
+CONNECT %HOSTIP:%SMTPPORT HTTP/1.1\r
+Host: %HOSTIP:%SMTPPORT\r
+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\r
+Proxy-Connection: Keep-Alive\r
+\r
+</proxy>
+</verify>
+</testcase>
diff --git a/tests/data/test1321 b/tests/data/test1321
new file mode 100644 (file)
index 0000000..6050d9d
--- /dev/null
@@ -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\r
+\r
+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\r
+C SELECT 1321\r
+D FETCH 1 BODY[TEXT]\r
+A LOGOUT\r
+</protocol>
+<proxy>
+CONNECT %HOSTIP:%IMAPPORT HTTP/1.1\r
+Host: %HOSTIP:%IMAPPORT\r
+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\r
+Proxy-Connection: Keep-Alive\r
+\r
+</proxy>
+</verify>
+</testcase>