package Ġbr . com . z up . shared čĊč Ċ import Ġio . grpc . Status č Ċ import Ġio . grpc . Status RuntimeException č Ċ import Ġio . mic ronaut . http . HttpRequest č Ċ import Ġio . mic ronaut . http . HttpStatus č Ċ import Ġio . mic ronaut . http . h ate o as . Json Error č Ċ import Ġorg . junit . jupiter . api . Assertions .* č Ċ import Ġorg . junit . jupiter . api . Test čĊč Ċ class ĠStatus RuntimeException Handler Test Ġ{ čĊčĊĠĠĠ Ġprivate Ġval Ġrequest Ġ= ĠHttpRequest . GET < Any > ("/") čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġinternal Ġfun Ġ` de ve Ġret orn ar Ġ 4 0 4 Ġquando Ġstatus Exc et ion Ġfor ĠNOT ĠFO UND `() Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ" na o Ġencontr ado " čĊĠĠĠĠĠĠĠ Ġval Ġnot Found Exception Ġ= ĠStatus RuntimeException ( Status . NOT _ FOUND . with Description ( message )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠStatus RuntimeException Handler (). handle ( request , Ġnot Found Exception ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatus . NOT _ FOUND , Ġresponse . status ) čĊĠĠĠĠĠĠĠ ĠassertNotNull ( response . body ()) čĊĠĠĠĠĠĠĠ ĠassertEquals ( message , Ġ( response . body () Ġas ĠJson Error ). message ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġinternal Ġfun Ġ` de ve Ġret orn ar Ġ 4 2 2 Ġquando Ġstatus Exc et ion Ġfor ĠAL READY ĠEXISTS `() Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ" cliente ĠjÃ¡ Ġexist ente ." čĊĠĠĠĠĠĠĠ Ġval Ġun process able Entity Exception Ġ= ĠStatus RuntimeException ( Status . AL READY _ EXISTS . with Description ( message )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠStatus RuntimeException Handler (). handle ( request , Ġun process able Entity Exception ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatus . UN PROCESS ABLE _ ENTITY , Ġresponse . status ) čĊĠĠĠĠĠĠĠ ĠassertNotNull ( response . body ()) čĊĠĠĠĠĠĠĠ ĠassertEquals ( message , Ġ( response . body () Ġas ĠJson Error ). message ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġinternal Ġfun Ġ` de ve Ġret orn ar Ġ 4 0 0 Ġquando Ġstatus Exc et ion Ġfor ĠINVALID ĠARG UMENT `() Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġbad RequestException Ġ= ĠStatus RuntimeException ( Status . INVALID _ ARGUMENT ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠStatus RuntimeException Handler (). handle ( request , Ġbad RequestException ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatus . BAD _ REQUEST , Ġresponse . status ) čĊĠĠĠĠĠĠĠ ĠassertNotNull ( response . body ()) čĊĠĠĠĠĠĠĠ ĠassertEquals (" Dados Ġda Ġrequis iÃ§Ã£o Ġest Ã£o Ġinv Ã¡l idos .", Ġ( response . body () Ġas ĠJson Error ). message ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġinternal Ġfun Ġ` de ve Ġret orn ar Ġ 4 0 0 Ġquando Ġstatus Exc et ion Ġfor ĠFAILED ĠPRE CONDITION `() Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ" Alg uma Ġpre Ġcon di Ã§Ã£o Ġfal hou , Ġcliente ĠnÃ£o Ġexiste Ġou Ġch ave ĠnÃ£o Ġexiste Ġno Ġb cb ." čĊĠĠĠĠĠĠĠ Ġval Ġbad RequestException Ġ= ĠStatus RuntimeException ( Status . FAILED _ PRE CONDITION . with Description ( message )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠStatus RuntimeException Handler (). handle ( request , Ġbad RequestException ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatus . BAD _ REQUEST , Ġresponse . status ) čĊĠĠĠĠĠĠĠ ĠassertNotNull ( response . body ()) čĊĠĠĠĠĠĠĠ ĠassertEquals ( message , Ġ( response . body () Ġas ĠJson Error ). message ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġinternal Ġfun Ġ` de ve Ġret orn ar Ġ 5 0 0 Ġquando Ġstatus Exc et ion Ġfor Ġdes con he c ida `() Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġinternal Exception Ġ= ĠStatus RuntimeException ( Status . UNKNOWN ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠStatus RuntimeException Handler (). handle ( request , Ġinternal Exception ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatus . INTERNAL _ SERVER _ ERROR , Ġresponse . status ) čĊĠĠĠĠĠĠĠ ĠassertNotNull ( response . body ()) čĊĠĠĠĠĠĠĠ ĠassertEquals (" NÃ£o Ġfoi Ġposs ÃŃvel Ġcomplet ar Ġa Ġrequis iÃ§Ã£o .", Ġ( response . body () Ġas ĠJson Error ). message ) čĊĠĠĠ Ġ} č Ċ }