package Ġcom . fer 1 5 9 2 . k 8 s _ android _ console . data . repository Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġcom . fer 1 5 9 2 . k 8 s _ android _ console . data . db . Cluster Database Ċ import Ġcom . fer 1 5 9 2 . k 8 s _ android _ console . data . model . Cluster Ċ import Ġcom . fer 1 5 9 2 . k 8 s _ android _ console . data . repository _ implementation . Cluster Repository Implementation Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Test Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . io . IOException Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠCluster Repository Implementation Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcluster Repository : ĠCluster Repository Implementation ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb : ĠCluster Database ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcluster : ĠCluster ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġcreate Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠRoom . in Memory Database Builder ( context , ĠCluster Database :: class . java ). build () ĊĠĠĠĠĠĠĠ Ġcluster Repository Ġ= ĠCluster Repository Implementation () ĊĠĠĠĠĠĠĠ Ġcluster Ġ= ĠCluster ( 0 , Ġ" Test ĠCluster ", Ġ" 1 9 2 . 1 6 8 . 1 . 1 ", Ġ 8 4 4 3 , Ġ" Bearer ĠToken ", Ġ" Test Token ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġfun Ġclose Db () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . clean Up Clusters () ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster With IP () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġnot Ġinserted Ġinto Ġthe Ġdatabase ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster With Url () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ" test Address . com " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġnot Ġinserted Ġinto Ġthe Ġdatabase ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster Empty Name () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster . cluster Name Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġinserted Ġinto Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster Empty Address () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġinserted Ġinto Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster Port OutOfRange () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster . cluster Port Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġinserted Ġinto Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Cluster Empty Bearer Token () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster . cluster Bearer Token Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . add Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġinserted Ġinto Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster With IP () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ" 1 9 2 . 1 6 8 . 1 0 . 2 0 " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġnot Ġupdated Ġin Ġthe Ġdatabase ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster With Url () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ" test Address . com " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġnot Ġupdated Ġin Ġthe Ġdatabase ", Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster Empty Name () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Name Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġupdated Ġin Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster Empty Address () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġupdated Ġin Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster Port OutOfRange () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Port Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġupdated Ġin Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Cluster Empty Bearer Token () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Repository . add Cluster ( cluster ) ĊĠĠĠĠĠĠĠ Ġcluster . cluster Address Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster Repository . update Cluster ( cluster ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertTrue (" Record Ġwas Ġupdated Ġin Ġthe Ġdatabase ", Ġ! result ) ĊĠĠĠ Ġ} Ċ } Ċ