<testcase>
<info>
<keywords>
IMAP
SASL
SASL AUTH PLAIN
SASL-IR
RFC4616
</keywords>
</info>

#
# Server-side
<reply>
<servercmd>
AUTH PLAIN
CAPA SASL-IR
REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
</servercmd>
<data>
From: me@somewhere
To: fake@nowhere

body

--
  yours sincerely
</data>
</reply>

#
# Client-side
<client>
<server>
imap
</server>
<name>
IMAP plain authentication with initial response
</name>
<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<protocol>
A001 CAPABILITY
A002 AUTHENTICATE PLAIN AHVzZXIAc2VjcmV0
A003 SELECT %TESTNUMBER
A004 FETCH 1 BODY[]
A005 LOGOUT
</protocol>
</verify>
</testcase>
