1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerIMAP 5*6236dae4SAndroid Build Coastguard WorkerSASL 6*6236dae4SAndroid Build Coastguard WorkerSASL AUTH OAUTH2 7*6236dae4SAndroid Build Coastguard WorkerRFC6749 8*6236dae4SAndroid Build Coastguard WorkerRFC7628 9*6236dae4SAndroid Build Coastguard Worker</keywords> 10*6236dae4SAndroid Build Coastguard Worker</info> 11*6236dae4SAndroid Build Coastguard Worker 12*6236dae4SAndroid Build Coastguard Worker# 13*6236dae4SAndroid Build Coastguard Worker# Server-side 14*6236dae4SAndroid Build Coastguard Worker<reply> 15*6236dae4SAndroid Build Coastguard Worker<servercmd> 16*6236dae4SAndroid Build Coastguard WorkerAUTH OAUTHBEARER 17*6236dae4SAndroid Build Coastguard WorkerREPLY AUTHENTICATE + 18*6236dae4SAndroid Build Coastguard WorkerREPLY %b64[n,a=user,%01host=127.0.0.1%01port=%IMAPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% A002 OK AUTHENTICATE completed 19*6236dae4SAndroid Build Coastguard Worker</servercmd> 20*6236dae4SAndroid Build Coastguard Worker<data> 21*6236dae4SAndroid Build Coastguard WorkerFrom: me@somewhere 22*6236dae4SAndroid Build Coastguard WorkerTo: fake@nowhere 23*6236dae4SAndroid Build Coastguard Worker 24*6236dae4SAndroid Build Coastguard Workerbody 25*6236dae4SAndroid Build Coastguard Worker 26*6236dae4SAndroid Build Coastguard Worker-- 27*6236dae4SAndroid Build Coastguard Worker yours sincerely 28*6236dae4SAndroid Build Coastguard Worker</data> 29*6236dae4SAndroid Build Coastguard Worker</reply> 30*6236dae4SAndroid Build Coastguard Worker 31*6236dae4SAndroid Build Coastguard Worker# 32*6236dae4SAndroid Build Coastguard Worker# Client-side 33*6236dae4SAndroid Build Coastguard Worker<client> 34*6236dae4SAndroid Build Coastguard Worker<server> 35*6236dae4SAndroid Build Coastguard Workerimap 36*6236dae4SAndroid Build Coastguard Worker</server> 37*6236dae4SAndroid Build Coastguard Worker<name> 38*6236dae4SAndroid Build Coastguard WorkerIMAP OAuth 2.0 (OAUTHBEARER) authentication 39*6236dae4SAndroid Build Coastguard Worker</name> 40*6236dae4SAndroid Build Coastguard Worker<command> 41*6236dae4SAndroid Build Coastguard Worker'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM 42*6236dae4SAndroid Build Coastguard Worker</command> 43*6236dae4SAndroid Build Coastguard Worker# The protocol section doesn't support ways of specifying the raw data in the 44*6236dae4SAndroid Build Coastguard Worker# base64 encoded message so we must assert this 45*6236dae4SAndroid Build Coastguard Worker</client> 46*6236dae4SAndroid Build Coastguard Worker 47*6236dae4SAndroid Build Coastguard Worker# 48*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 49*6236dae4SAndroid Build Coastguard Worker<verify> 50*6236dae4SAndroid Build Coastguard Worker<protocol> 51*6236dae4SAndroid Build Coastguard WorkerA001 CAPABILITY 52*6236dae4SAndroid Build Coastguard WorkerA002 AUTHENTICATE OAUTHBEARER 53*6236dae4SAndroid Build Coastguard Worker%b64[n,a=user,%01host=127.0.0.1%01port=%IMAPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% 54*6236dae4SAndroid Build Coastguard WorkerA003 SELECT %TESTNUMBER 55*6236dae4SAndroid Build Coastguard WorkerA004 FETCH 1 BODY[] 56*6236dae4SAndroid Build Coastguard WorkerA005 LOGOUT 57*6236dae4SAndroid Build Coastguard Worker</protocol> 58*6236dae4SAndroid Build Coastguard Worker</verify> 59*6236dae4SAndroid Build Coastguard Worker</testcase> 60