package Ġcom . api . comp art il h ado . exception Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ Ċ import Ġio . grpc . Bind able Service Ċ import Ġio . grpc . stub . Stream Observer Ċ import Ġio . mic ronaut . aop . Method Invocation Context Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġorg . mockito . Mockito . any Ċ import Ġorg . mockito . Mockito . notNull Ċ import Ġorg . mockito . Mockito . verify Ċ import Ġorg . mockito . junit . jupiter . Mockito Extension Ċ Ċ @ Extend With ( Mockito Extension :: class ) Ċ class ĠException Handler Interceptor Test Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġcontext : ĠMethod Invocation Context < Bind able Service , ĠAny ?> ĊĊĠĠĠ Ġval Ġinterceptor Ġ= ĠException Handler Interceptor ( resolver Ġ= ĠException Handler Resolver ( handlers Ġ= Ġempty List ())) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġcapt ur ar Ġa Ġex ce cao Ġl anc ada Ġpelo Ġexec uc ao Ġdo Ġmet odo , Ġe Ġger ar Ġum Ġerro Ġna Ġresp osta ĠgRPC ` (@ Mock Ġstream Observer : ĠStream Observer <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Ġ( context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( proceed ()). then Throw ( RuntimeException (" arg h ! ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( parameter Values ). thenReturn ( array Of ( null , Ġstream Observer )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinterceptor . intercept ( context ) ĊĊĠĠĠĠĠĠĠ Ġverify ( stream Observer ). onError ( notNull ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` se Ġo Ġmet odo Ġn ao Ġger ar Ġn enh uma Ġex ce cao , Ġdeve Ġapenas Ġret orn ar Ġa Ġmes ma Ġresp osta `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" wh atever " ĊĊĠĠĠĠĠĠĠ Ġ` when `( context . proceed ()). thenReturn ( expected ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġinterceptor . intercept ( context )) ĊĠĠĠ Ġ} Ċ Ċ }