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
--- /dev/null
+<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>
--- /dev/null
+<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>
--- /dev/null
+<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>