package Ġnet . ad opt openjdk . api Ċ Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġnet . ad opt openjdk . api . v 3 . data Sources . API DataStore Ċ import Ġnet . ad opt openjdk . api . v 3 . data Sources . Api Persistence Factory Ċ import Ġnet . ad opt openjdk . api . v 3 . data Sources . Updater Json Mapper Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . sky sc ream er . json assert . JSON Assert Ċ import Ġorg . slf 4 j . LoggerFactory ĊĊ Ċ class ĠAPI DataStore Test Ġ: ĠBaseTest () Ġ{ ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrepos Has Elements () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrepo Ġ= Ġget Initial Repo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( repo . get Feature Release ( 8 ) !!. releases . get Releases (). toList (). size Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdata Is Stored To Db Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrepo Ġ= Ġget Initial Repo () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Persistence Factory . get (). update All Repos ( repo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Data Ġ= ĠAPI DataStore . load Data From Db () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠJSON Assert . assertEquals ( Updater Json Mapper . mapper . writeValue AsString ( db Data ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUp dater Json Mapper . mapper . writeValue AsString ( repo ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ