package Ġbr . com . d ill mann . rest db . core . status Pages . handlers Ċ Ċ import Ġbr . com . d ill mann . rest db . core . status Pages . exceptions . HttpException Ċ import Ġbr . com . d ill mann . rest db . test Utils . random String Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ /** Ċ Ġ* Ġ@ author ĠLuc as ĠD ill mann Ċ Ġ* Ġ@ since Ġ 1 . 0 . 0 , Ġ 2 0 2 0 - 0 4 - 0 3 Ċ Ġ*/ Ċ class ĠHttp ExceptionHandler UnitTests Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= Ġcapture Handler < HttpException > Ġ{ Ġhttp ExceptionHandler () Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġhave Ġexpected Ġstatus Ġcode `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġscenario ĊĠĠĠĠĠĠĠ Ġval Ġexpected Status Ġ= Ġrandom HttpStatusCode () ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġobject Ġ: ĠHttp Exception ( random String (), Ġexpected Status ) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġ( status , Ġ_) Ġ= Ġhandler ( exception ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġvalidation ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Status , Ġstatus ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġhave Ġexpected Ġmessage `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġscenario ĊĠĠĠĠĠĠĠ Ġval Ġexpected Message Ġ= Ġrandom String () ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġobject Ġ: ĠHttp Exception ( expected Message , Ġrandom HttpStatusCode ()) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġ(_, Ġbody ) Ġ= Ġhandler ( exception ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġvalidation ĊĠĠĠĠĠĠĠ Ġrequire ( body Ġis ĠMap < *, Ġ* >) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Message , Ġbody [" message "]) ĊĠĠĠ Ġ} Ċ }