package Ġcom . then ew b oston . api . primary validator api . repository Ċ Ċ import Ġcom . then ew b oston . api . primary validator api . datasource . Primary DataSource Ċ import Ġcom . then ew b oston . common . http . Outcome Ċ import Ġcom . then ew b oston . data . dto . primary validator api . config dto . Primary Validator Details Ċ import Ġcom . then ew b oston . data . dto . common . response . Validator Ċ import Ġcom . then ew b oston . data . dto . common . response . Validator List Ċ import Ġcom . then ew b oston . utils . Mocks Ċ import Ġcom . then ew b oston . utils . Pagination Options Ċ import Ġio . kot est . matchers . should Ċ import Ġio . kot est . matchers . types . be InstanceOf Ċ import Ġio . ktor . util .* Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġjava . io . IOException Ċ Ċ @ Experimental Cor outines Api Ċ @ K tor Experimental API Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠPrimary Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġprimary DataSource : ĠPrimary DataSource ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepository : ĠPrimary Repository ĊĊĠĠĠ Ġ@ Before All ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĊĠĠĠĠĠĠĠ Ġrepository Ġ= ĠPrimary Repository ( primary DataSource ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġprimary Ġvalidator Ġdetails Ġis Ġerror `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary DataSource . fetch Primary Validator Details () ĊĠĠĠĠĠĠĠ Ġ} Ġreturns ĠOut come . Error ("", ĠIOException ()) ĊĊĠĠĠĠĠĠĠ Ġrepository . primary Validator Details () Ġshould Ġbe InstanceOf < Outcome . Error >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġprimary Ġvalidator Ġdetail Ġis Ġsuccess `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary DataSource . fetch Primary Validator Details () ĊĠĠĠĠĠĠĠ Ġ} Ġreturns ĠOut come . Success ( Mocks . primary Validator Details ()) ĊĊĠĠĠĠĠĠĠ Ġrepository . primary Validator Details () Ġshould Ġbe InstanceOf < Outcome . Success < Primary Validator Details >>() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġvalidators Ġresult Ġis Ġerror `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġprimary DataSource . fetch Validators ( Pagination Options ( 0 , Ġ 2 0 )) Ġ} Ġreturns ĠOut come . Error ("", ĠIOException ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . validators ( 0 , Ġ 2 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġprimary DataSource . fetch Validators ( Pagination Options ( 0 , Ġ 2 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġresult Ġshould Ġbe InstanceOf < Outcome . Error >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġvalidators Ġresult Ġis Ġsuccess Ġoutcome `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġprimary DataSource . fetch Validators ( Pagination Options ( 0 , Ġ 2 0 )) Ġ} Ġreturns ĠOut come . Success ( Mocks . validators ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . validators ( 0 , Ġ 2 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġprimary DataSource . fetch Validators ( Pagination Options ( 0 , Ġ 2 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġresult Ġshould Ġbe InstanceOf < Outcome . Success < Validator List >>() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġsingle Ġvalidator Ġis Ġerror Ġoutcome `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġprimary DataSource . fetch Validator ( any ()) Ġ} Ġreturns ĠOut come . Error ("", ĠIOException ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġnode Identifier Ġ= Ġ" some Node Identifier " ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . validator ( node Identifier ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġprimary DataSource . fetch Validator ( node Identifier ) Ġ} ĊĠĠĠĠĠĠĠ Ġresult Ġshould Ġbe InstanceOf < Outcome . Error >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġsingle Ġvalidator Ġresult Ġis Ġsuccess Ġoutcome `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġprimary DataSource . fetch Validator ( any ()) Ġ} Ġreturns ĠOut come . Success ( Mocks . validator ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġnode Identifier Ġ= Ġ" some Node Identifier " ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . validator ( node Identifier ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġprimary DataSource . fetch Validator ( node Identifier ) Ġ} ĊĠĠĠĠĠĠĠ Ġresult Ġshould Ġbe InstanceOf < Outcome . Success < Validator >>() ĊĠĠĠ Ġ} Ċ } Ċ