package Ġru . ot us . ot us kotlin . user Ċ Ċ import Ġcom . types afe . config . Config Factory Ċ import Ġio . ktor . config .* Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . server . testing .* Ċ import Ġio . ktor . util .* Ċ import Ġio . ktor . utils . io . char sets . Charsets Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġorg . junit . BeforeClass Ċ import Ġru . ot us . ot us kotlin . user . transport . multi platform . models .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠApplication InMemory Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Root () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Get , Ġ"/ "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . content ?. contains (" Hello ĠWorld !") Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetUser () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / create ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Create . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Create . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġres . data ?. id Ġ?: Ġfail (" No Ġid Ġin Ġresponse ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / get ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Get ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Get . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Get . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( id , Ġres . data ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Sem en ", Ġres . data ?. fname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġindex User () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / create ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo b Ġ= Ġ" 2 0 0 0 - 0 1 - 0 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Create . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Create . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġres . data ?. id Ġ?: Ġfail (" No Ġid Ġin Ġresponse ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / index ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Index ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= ĠK mp User Index . Filter ( dob Ġ= Ġ" 2 0 0 0 - 0 1 - 0 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Index . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Index . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Index . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( id , Ġres . data ?. first ()?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġres . data ?. size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / create ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Create . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Create . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( res . data ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate User () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / create ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Create . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Create . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġres . data ?. id Ġ?: Ġfail (" No Ġid Ġin Ġresponse ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / update ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm name Ġ= Ġ" Sem en ov ich ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl name Ġ= Ġ" Sem en ov ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Update . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Update . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( id , Ġres . data ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Sem en ", Ġres . data ?. fname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Sem en ov ", Ġres . data ?. lname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdelete User () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( engine ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / create ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfname Ġ= Ġ" Sem en ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Create . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Create . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġres . data ?. id Ġ?: Ġfail (" No Ġid Ġin Ġresponse ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġ"/ api / delete ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠK mp User Delete ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠK mp User Delete . Debug ( db Ġ= ĠK mp User Db Modes . TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody String Ġ= ĠJson . encode ToString ( K mp User Delete . serializer (), Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header (" Content - Type ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġresponse . content Ġ?: Ġfail (" Null Ġresponse Ġjson ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠJson . decode FromString ( K mp User Response Item . serializer (), Ġjson String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( id , Ġres . data ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Opt In ( K tor Experimental API :: class ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġengine Ġ= ĠTest Application Engine ( create Test Environment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= ĠHo con Application Config ( Config Factory . load (" application . conf ")) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ@ BeforeClass ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġsetup (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġengine . start ( wait Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ