package Ġsk . cs irt . vir us checker . gateway . persistence . repository Ċ Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . jetbrains . ex posed . sql . batch Insert Ċ import Ġorg . jetbrains . ex posed . sql . delete All Ċ import Ġorg . jetbrains . ex posed . sql . insert AndGet Id Ċ import Ġsk . cs irt . vir us checker . gateway . persistence . Ant ivirus Report Items Ċ import Ġsk . cs irt . vir us checker . gateway . persistence . Database Ċ import Ġsk . cs irt . vir us checker . gateway . persistence . Scan Reports Ċ import Ġsk . cs irt . vir us checker . gateway . persistence . test Scan Report Entities Ċ import Ġsk . cs irt . vir us checker . gateway . routing . utils . to J oda DateTime Ċ Ċ internal Ġclass ĠSql Scan Report Repository Test Ġ: ĠReport Repository Test () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġprepare Repository (): ĠScan Report Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠDatabase () ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠSql Scan Report Repository ( Database ()) ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete TestData ( database ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinsert TestData ( database ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġdelete TestData ( database : ĠDatabase ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . query Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnt ivirus Report Items . delete All () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScan Reports . delete All () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġinsert TestData ( database : ĠDatabase ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Scan Report Entities . forEach Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . query Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscan Report Id Ġ= ĠScan Reports . insert AndGet Id Ġ{ Ġrow Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow [ sha 1 ] Ġ= Ġitem . sha 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow [ sha 2 5 6 ] Ġ= Ġitem . sha 2 5 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow [ date ] Ġ= Ġitem . date . to J oda DateTime () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow [ filename ] Ġ= Ġitem . filename ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow [ md 5 ] Ġ= Ġitem . md 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnt ivirus Report Items . batch Insert ( item . reports ) Ġ{ Ġreport Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ Ant ivirus Report Items . scan Report ] Ġ= Ġscan Report Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ Ant ivirus Report Items . ant ivirus ] Ġ= Ġreport Item . ant ivirus ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ Ant ivirus Report Items . mal ware Description ] Ġ= Ġreport Item . mal ware Description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ Ant ivirus Report Items . status ] Ġ= Ġreport Item . status ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ Ant ivirus Report Items . vir us Database Version ] Ġ= Ġreport Item . vir us Database Version ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }