package Ġco . om ise go . om ise go . network Ċ Ċ /* Ċ Ġ* ĠOm ise GO Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠPh uch it ĠSi ri mong k ols ath ien Ġon Ġ 3 1 / 7 / 2 0 1 8 ĠAD . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 1 8 ĠOm ise GO . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ import Ġco . om ise go . om ise go . constant . Exceptions Ċ import Ġco . om ise go . om ise go . constant . enums . Auth Scheme Ċ import Ġco . om ise go . om ise go . custom . ret rofit 2 . adapter . OM G Call Adapter Factory Ċ import Ġco . om ise go . om ise go . custom . ret rofit 2 . converter . OM G Converter Factory Ċ import Ġco . om ise go . om ise go . custom . ret rofit 2 . executor . MainThread Executor Ċ import Ġco . om ise go . om ise go . model . Credential Configuration Ċ import Ġco . om ise go . om ise go . network . ew allet . Authentication Header Ċ import Ġco . om ise go . om ise go . network . interceptor . Authentication Token Interceptor Ċ import Ġco . om ise go . om ise go . network . interceptor . Header Interceptor Ċ import Ġokhttp 3 . Http Url Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġorg . am sh ove . k lu ent . mock Ċ import Ġorg . am sh ove . k lu ent . shouldBe Ċ import Ġorg . am sh ove . k lu ent . shouldBe InstanceOf Ċ import Ġorg . am sh ove . k lu ent . should Equal Ċ import Ġorg . am sh ove . k lu ent . should Throw Ċ import Ġorg . am sh ove . k lu ent . with Message Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ 2 3 ]) Ċ class ĠBase Client Test Ġ{ ĊĠĠĠ Ġclass ĠTest Builder ( ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġauthentication Header : ĠAuthentication Header Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġinit : ĠBase Client . Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: ĠBase Client . Builder ( init ) ĊĊĠĠĠ Ġclass ĠTest Credential Configuration ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġbase URL : ĠString , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġauthentication Token : ĠString , ĊĠĠĠĠĠĠĠ Ġoverride Ġval ĠuserId : ĠString ?, ĊĠĠĠĠĠĠĠ Ġoverride Ġval ĠapiKey : ĠString ?, ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġauth Scheme : ĠAuth Scheme ĊĠĠĠ Ġ) Ġ: ĠCredential Configuration ĊĊĠĠĠ Ġprivate Ġval Ġtest Credential Configuration : ĠTest Credential Configuration Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Credential Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" http :// test . com /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" authentication Token ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" apiKey ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuth Scheme . Client ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġshould Ġthrow ĠIllegalStateException Ġwhen Ġcredential Configuration Ġis Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= Ġ{ ĠTest Builder Ġ{ Ġclient Configuration Ġ= Ġnull Ġ}. build () Ġ} ĊĠĠĠĠĠĠĠ Ġexpression Ġshould Throw ĠIllegalStateException :: class Ġwith Message ĠExceptions . MSG _ NULL _ CLIENT _ CONFIGURATION ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġshould Ġreturn ĠBase Client Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase Client Ġ= ĠTest Builder Ġ{ Ġclient Configuration Ġ= Ġtest Credential Configuration Ġ}. build () ĊĊĠĠĠĠĠĠĠ Ġbase Client . client . intercept ors (). size ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġbase Client . client . intercept ors ()[ 0 ] ĠshouldBe InstanceOf ĠHeader Interceptor :: class ĊĠĠĠĠĠĠĠ Ġbase Client . client . intercept ors ()[ 1 ] ĠshouldBe InstanceOf ĠAuthentication Token Interceptor :: class ĊĠĠĠĠĠĠĠ Ġbase Client . client ĠshouldBe InstanceOf ĠOk HttpClient :: class ĊĠĠĠĠĠĠĠ Ġbase Client . ret rofit ĠshouldBe InstanceOf ĠRet rofit :: class ĊĠĠĠĠĠĠĠ Ġbase Client . header ĠshouldBe InstanceOf ĠHeader Interceptor :: class ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ret rofit Ġshould Ġcreate Ġa Ġretrofit Ġobject Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠTest Builder Ġ{ Ġclient Configuration Ġ= Ġtest Credential Configuration Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Ret rofit ( mock (), Ġmock ()) ĊĊĠĠĠĠĠĠĠ Ġretrofit . baseUrl () Ġshould Equal ĠHttp Url . parse (" http :// test . com /") ĊĠĠĠĠĠĠĠ Ġretrofit . converter Factories (). size Ġshould Equal Ġ 2 ĊĠĠĠĠĠĠĠ Ġretrofit . converter Factories ()[ 1 ] ĠshouldBe InstanceOf ĠO MG Converter Factory :: class ĊĠĠĠĠĠĠĠ Ġretrofit . call Adapter Factories (). size Ġshould Equal Ġ 2 ĊĠĠĠĠĠĠĠ Ġretrofit . call Adapter Factories ()[ 0 ] ĠshouldBe InstanceOf ĠO MG Call Adapter Factory :: class ĊĠĠĠĠĠĠĠ Ġretrofit . callback Executor () ĠshouldBe InstanceOf ĠMain Thread Executor :: class . java ĊĠĠĠ Ġ} Ċ } Ċ