package Ġprojekt or . incoming results Ċ Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . server . testing .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġprojekt or . Application TestCase Ċ import Ġprojekt or . parser . Group ed Results Xml Loader Ċ import Ġprojekt or . util . gzip Ċ import Ġstri kt . api . expect That Ċ import Ġstri kt . assertions . any Ċ import Ġstri kt . assertions . has Size Ċ import Ġstri kt . assertions . isEqualTo Ċ Ċ class ĠSave Group ed Results Code Quality Application Test Ġ: ĠApplication TestCase () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsave Ġresults Ġwith Ġcode Ġquality Ġfiles `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Quality Reports Ġ= Ġ( 1 .. 2 ). map Ġ{ Ġidx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Quality Report Ġ= Ġprojekt or . parser . grouped . model . Code Quality Report () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Quality Report . contents Ġ= Ġ" Report Ġcontents Ġ$ idx " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Quality Report . fileName Ġ= Ġ" quality _$ idx . txt " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Quality Report ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= ĠGroup ed Results Xml Loader (). code Quality Results ( code Quality Reports ) ĊĠĠĠĠĠĠĠ Ġval Ġcompressed Body Ġ= Ġgzip ( request Body ) ĊĊĠĠĠĠĠĠĠ Ġwith Test Application (:: create Test Application ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ grouped Results ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header ( HttpHeaders . ContentType , Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header ( HttpHeaders . Content Encoding , Ġ" gzip ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( compressed Body ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ(_, Ġtest Run ) Ġ= ĠwaitFor Test Run Save To Complete ( response ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Quality Report DB s Ġ= Ġcode Quality Report Dao . fetch By Test Run Id ( test Run . id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That ( code Quality Report DB s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Size ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġidx Ġ}. isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontents Ġ}. isEqualTo (" Report Ġcontents Ġ 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĠfileName Ġ}. isEqualTo (" quality _ 1 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. any Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġidx Ġ}. isEqualTo ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontents Ġ}. isEqualTo (" Report Ġcontents Ġ 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĠfileName Ġ}. isEqualTo (" quality _ 2 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ