123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <testcase>
- # Based on test800
- <info>
- <keywords>
- IMAP
- Clear Text
- FETCH
- --libcurl
- </keywords>
- </info>
- #
- # Server-side
- <reply>
- <data>
- From: me@somewhere
- To: fake@nowhere
- body
- --
- yours sincerely
- </data>
- </reply>
- #
- # Client-side
- <client>
- <server>
- imap
- </server>
- <name>
- --libcurl for IMAP FETCH message
- </name>
- <setenv>
- SSL_CERT_FILE=
- </setenv>
- <command>
- 'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret --libcurl %LOGDIR/test%TESTNUMBER.c
- </command>
- # Need ftp so the FTP options are written in the --libcurl template
- <features>
- ftp
- </features>
- </client>
- #
- # Verify data after the test has been "shot"
- <verify>
- <protocol>
- A001 CAPABILITY
- A002 LOGIN user secret
- A003 SELECT %TESTNUMBER
- A004 FETCH 1 BODY[]
- A005 LOGOUT
- </protocol>
- <file name="%LOGDIR/test%TESTNUMBER.c" mode="text">
- /********* Sample code generated by the curl command line tool **********
- * All curl_easy_setopt() options are documented at:
- * https://curl.se/libcurl/c/curl_easy_setopt.html
- ************************************************************************/
- #include <curl/curl.h>
- int main(int argc, char *argv[])
- {
- CURLcode ret;
- CURL *hnd;
- hnd = curl_easy_init();
- curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
- curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1");
- curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
- curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
- curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
- /* Here is a list of options the curl code used that cannot get generated
- as source easily. You may choose to either not use them or implement
- them yourself.
- CURLOPT_WRITEDATA was set to an object pointer
- CURLOPT_WRITEFUNCTION was set to a function pointer
- CURLOPT_READDATA was set to an object pointer
- CURLOPT_READFUNCTION was set to a function pointer
- CURLOPT_SEEKDATA was set to an object pointer
- CURLOPT_SEEKFUNCTION was set to a function pointer
- CURLOPT_ERRORBUFFER was set to an object pointer
- CURLOPT_STDERR was set to an object pointer
- CURLOPT_DEBUGFUNCTION was set to a function pointer
- CURLOPT_DEBUGDATA was set to an object pointer
- CURLOPT_HEADERFUNCTION was set to a function pointer
- CURLOPT_HEADERDATA was set to an object pointer
- */
- ret = curl_easy_perform(hnd);
- curl_easy_cleanup(hnd);
- hnd = NULL;
- return (int)ret;
- }
- /**** End of sample code ****/
- </file>
- <stripfile>
- # These options vary with configurations - just ignore them
- # CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
- $_ = '' if /CURLOPT_USERAGENT/
- $_ = '' if /CURLOPT_MAXREDIRS/
- $_ = '' if /CURLOPT_SSL_VERIFYPEER/
- $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
- $_ = '' if /CURLOPT_HTTP_VERSION/
- $_ = '' if /CURLOPT_INTERLEAVEDATA/
- </stripfile>
- </verify>
- </testcase>
|