package Ġru . ot us . ot us kotlin . work out . controllers Ċ Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . server . testing .* Ċ import Ġru . ot us . ot us kotlin . work out . module Ċ import Ġru . ot us . ot us kotlin . work out . Utils Ċ import Ġru . ot us . ot us kotlin . work out . auth . test User Token Ċ import Ġru . ot us . ot us kotlin . work out . configs . App K tor Config Ċ import Ġru . ot us . ot us kotlin . work out . configs . K tor Auth Config Ċ import Ġru . ot us . ot us kotlin . work out . openapi . models . Base Message Ċ import Ġkotlin . test . assertEquals Ċ Ċ abstract Ġclass ĠRouter Test Ġ{ ĊĠĠĠ Ġprotected Ġinline Ġfun Ġ< re ified ĠT > Ġtest Post Request ( ĊĠĠĠĠĠĠĠ Ġbody : ĠBase Message ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġuri : ĠString , ĊĠĠĠĠĠĠĠ Ġconfig : ĠApp K tor Config Ġ= ĠApp K tor Config (), ĊĠĠĠĠĠĠĠ Ġresult : ĠHttpStatusCode Ġ= ĠHttpStatusCode . OK , ĊĠĠĠĠĠĠĠ Ġcross inline Ġblock : ĠT . () Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Test Application ({ Ġmodule ( config Ġ= Ġconfig ) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Request ( HttpMethod . Post , Ġuri ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header ( HttpHeaders . ContentType , ĠContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Header ( HttpHeaders . Authorization , Ġ" Bearer Ġ${ K tor Auth Config . test User Token () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( Utils . mapper . writeValue AsString ( body )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" content : Ġ${ response . content }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( result , Ġresponse . status ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== ĠHttpStatusCode . OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ContentType . Application . Json . with Charset ( Charsets . UTF _ 8 ), Ġresponse . contentType ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . mapper . readValue ( response . content , ĠT :: class . java ). block () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }