diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-01-03 16:12:58 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-01-03 16:12:58 +0100 |
commit | 2f4a487a68473762367e894b726e4f3a9e0e7e5b (patch) | |
tree | 6d3da24028efdfed5037919d326b209efe0e7523 /tests | |
parent | 82180643f4886d47816cf654f2ee46114e9c296f (diff) |
tests: test IMAP, POP3 and SMTP over HTTP proxy tunnel
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test1319 | 72 | ||||
-rw-r--r-- | tests/data/test1320 | 62 | ||||
-rw-r--r-- | tests/data/test1321 | 66 |
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> |