package Ġcom . hal cy on mobile . core . compatibility . error . wrapping Ċ Ċ import Ġcom . hal cy on mobile . error parsing 2 . Error Wr apping And Parser Call Adapter Factory Ċ import Ġcom . hal cy on mobile . oauth . dependencies . Authentication LocalStorage Ċ import Ġcom . hal cy on mobile . oauth . dependencies . Session Expired EventHandler Ċ import Ġcom . hal cy on mobile . oauth gson . Oauth Ret rofit With Gson Container Builder Ċ import Ġcom . hal cy on mobile . oauth mos hi . Oauth Ret rofit With M oshi Container Builder Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . times Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify No More Interactions Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . create Ċ import Ġretrofit 2 . http . GET Ċ Ċ @ Suppress (" Test FunctionName ") Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠException Wr apping Compatibility Test ( ĊĠĠĠ Ġprivate Ġval Ġadditional Ret rofit Configuration : Ġ( Ret rofit . Builder ) Ġ-> ĠRet rofit . Builder Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠbasePath : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock Authentication LocalStorage : ĠAuthentication LocalStorage ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock Session Expired EventHandler : ĠSession Expired EventHandler ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock WebServer : ĠMock WebServer ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠbasePath Ġ= Ġ"/ google . com / test /" ĊĠĠĠĠĠĠĠ Ġmock WebServer Ġ= ĠMock WebServer () ĊĠĠĠĠĠĠĠ Ġmock Authentication LocalStorage Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġmock Session Expired EventHandler Ġ= Ġmock () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock WebServer . shutdown () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test // ( timeout Ġ= Ġ 5 0 0 0 L ) ĊĠĠĠ Ġfun ĠG IV EN _ mos hi _ and _ standard _ session Expiration _ exception _ WHEN _ a _ refresh _ request _ is _ run _ THEN _ the _ session _ expiration _ is _ Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Authentication LocalStorage . refresh Token ). do Return (" al ma ") ĊĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 4 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ("") ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ("{ \" Invalid Ġrefresh Ġtoken : Ġun recognized \" }") ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠO auth Ret rofit With M oshi Container Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= Ġ" clientId ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthentication LocalStorage Ġ= Ġmock Authentication LocalStorage , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession Expired EventHandler Ġ= Ġmock Session Expired EventHandler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. configure Ret rofit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Ret rofit Configuration ( baseUrl ( mock WebServer . url ( basePath ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. oauth Ret rofit Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. session Ret rofit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create < Service >() ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice . request (). execute () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( mock Session Expired EventHandler , Ġtimes ( 1 )). on Session Expired () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify No More Interactions ( mock Session Expired EventHandler ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( timeout Ġ= Ġ 5 0 0 0 L ) ĊĠĠĠ Ġfun ĠG IV EN _ gson _ and _ standard _ session Expiration _ exception _ WHEN _ a _ refresh _ request _ is _ run _ THEN _ the _ session _ expiration _ is _ Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Authentication LocalStorage . refresh Token ). do Return (" al ma ") ĊĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 4 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ("") ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ("{ \" Invalid Ġrefresh Ġtoken : Ġun recognized \" }") ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠO auth Ret rofit With Gson Container Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= Ġ" clientId ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthentication LocalStorage Ġ= Ġmock Authentication LocalStorage , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession Expired EventHandler Ġ= Ġmock Session Expired EventHandler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. configure Ret rofit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Ret rofit Configuration ( baseUrl ( mock WebServer . url ( basePath ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. oauth Ret rofit Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. session Ret rofit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create < Service >() ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice . request (). execute () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( mock Session Expired EventHandler , Ġtimes ( 1 )). on Session Expired () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify No More Interactions ( mock Session Expired EventHandler ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠService Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ GET (" service ") ĊĠĠĠĠĠĠĠ Ġfun Ġrequest (): ĠCall < Any ?> ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġstandard ( builder : ĠRet rofit . Builder ): ĠRet rofit . Builder Ġ= Ġbuilder ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġerror Wr apping ( builder : ĠRet rofit . Builder ): ĠRet rofit . Builder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Call Adapter Factory ( Error Wr apping And Parser Call Adapter Factory ( work Without Annotation Ġ= Ġtrue )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġlibrary Ġis Ġincompatible Ġwith Ġ 2 . 0 . 0 Ġof Ġerror Ġwrapper Ċ // ĠĠĠĠĠĠĠ Ġprivate Ġfun ĠerrorHandler ( builder : ĠRet rofit . Builder ): ĠRet rofit . Builder Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Call Adapter Factory ( Rest Handler Call Adapter . Builder (). build ()) ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġsetup Parameters (): ĠCollection < Array < Any >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (:: standard ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (:: error Wr apping ), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (:: error Handler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }