package Ġorg . sage b ion etwork s . bridge . k mm . shared . integration Ċ Ċ import Ġorg . k oin . core . component . inject Ċ import Ġorg . sage b ion etwork s . bridge . k mm . shared . cache . Resource Result Ċ import Ġorg . sage b ion etwork s . bridge . k mm . shared . repo . Authentication Repository Ċ import Ġorg . sage b ion etwork s . bridge . k mm . shared . models . User Session Info Ċ import Ġkotlin . test .* Ċ Ċ class ĠAuthentication IntegrationTest : ĠAbstract Base IntegrationTest () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġauth Repo Ġby Ġinject < Authentication Repository >() ĊĊĠĠĠ Ġ@ Test Ġ@ Ignore ĊĠĠĠ Ġfun Ġtest External Id SignIn () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Test Ġsign In ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( auth Repo . is Authenticated ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexternal Id Ġ= ĠSystem . getProperty (" test External Id 0 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( external Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsign In Result Ġ= Ġauth Repo . signIn External Id ( external Id , Ġexternal Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( signIn Result Ġis ĠResource Result . Success <* >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsession Info Ġ= Ġsign In Result . data Ġas ĠUser Session Info ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( session Info . session Token ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( session Info . re auth Token ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( session Info . authenticated Ġ== Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( auth Repo . is Authenticated ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Test Ġre auth ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( auth Repo . re Auth ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( auth Repo . is Authenticated ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdated Session Ġ= Ġauth Repo . session () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( updated Session ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Equals ( updated Session . re auth Token , Ġsession Info . re auth Token ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Test Ġsign out ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauth Repo . sign Out () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( auth Repo . is Authenticated ()) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }