package Ġcom . w illiam . lista Ch aves Cliente Ċ Ċ import Ġcom . w illiam . Ch ave Pix Service Lista Ch aves Cliente Grpc Ċ import Ġcom . w illiam . Lista Ch aves Cliente Request Ċ import Ġcom . w illiam . Tipo Da Cont a Ċ import Ġcom . w illiam . nova Ch ave Pix . Ch ave Pix Repository Ċ import Ġcom . w illiam . nova Ch ave Pix . Tipo Da Ch ave ENUM Ċ import Ġcom . w illiam . nova Ch ave Pix . ent idades . Ch ave Pix Ċ import Ġcom . w illiam . nova Ch ave Pix . ent idades . Cont a Associ ada Ċ import Ġio . grpc . Managed Channel Ċ import Ġio . grpc . Status Ċ import Ġio . grpc . Status RuntimeException Ċ import Ġio . mic ronaut . context . annotation . Factory Ċ import Ġio . mic ronaut . grpc . annotation . Grpc Channel Ċ import Ġio . mic ronaut . grpc . server . Grpc Server Channel Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġorg . junit . jupiter . api .* Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . test containers . sh aded . org . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . test containers . sh aded . org . hamcrest . Matchers . contains In Any Order Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Mic ronaut Test ( transaction al Ġ= Ġfalse ) Ċ internal Ġclass ĠList a Ch aves Cliente Endpoint Test ( ĊĠĠĠ Ġval Ġgrpc Client : ĠCh ave Pix Service Lista Ch aves Cliente Grpc . Ch ave Pix Service Lista Ch aves Cliente Blocking Stub , ĊĠĠĠ Ġval Ġrepository : ĠCh ave Pix Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . save ( create Ch ave Pix ( Tipo Da Ch ave ENUM . CP F , Ġ" 4 1 9 1 1 3 9 0 8 8 0 ")) ĊĠĠĠĠĠĠĠ Ġrepository . save ( create Ch ave Pix ( Tipo Da Ch ave ENUM . CH AVE _ ALE ATOR IA , Ġ" 6 a 0 5 b 5 bb - 5 f 3 4 - 4 a 9 1 - b 2 8 2 - b 7 4 8 3 0 4 eb 0 0 1 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġclean Up () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` De ve Ġlist ar Ġtodas Ġch aves Ġdo Ġcliente `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlista Ch aves Cliente Ġ= Ġgrpc Client . lista Ch aves Cliente ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠList a Ch aves Cliente Request . newBuilder (). set Cliente Id (" c 5 6 d fef 4 - 7 9 0 1 - 4 4 fb - 8 4 e 2 - a 2 ce fb 1 5 7 8 9 0 "). build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwith ( lista Ch aves Cliente . lista Ch aves List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġto List Ġ= Ġthis . map Ġ{ Ġit . valor Ch ave Ġ}. toList () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontains In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 1 9 1 1 3 9 0 8 8 0 ", Ġ" 6 a 0 5 b 5 bb - 5 f 3 4 - 4 a 9 1 - b 2 8 2 - b 7 4 8 3 0 4 eb 0 0 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar ĠNOT ĠFO UND Ġse Ġcliente ĠID Ġn ao Ġexist ir `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlista Ch aves Cliente Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . lista Ch aves Cliente ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList a Ch aves Cliente Request . newBuilder (). set Cliente Id ( UUID . randomUUID (). toString ()). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Status . NOT _ FOUND . code , Ġlista Ch aves Cliente . status . code ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar Ġerro Ġse Ġcliente Id Ġfor Ġn ulo Ġou Ġv az io `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresp osta Blank Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . lista Ch aves Cliente ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList a Ch aves Cliente Request . newBuilder (). set Cliente Id (" "). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresp osta Null Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . lista Ch aves Cliente ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( Status . INVALID _ ARGUMENT . code , Ġresp osta Blank . status . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Status . INVALID _ ARGUMENT . code , Ġresp osta Null . status . code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Ch ave Pix ( tipo Ch ave : ĠTipo Da Ch ave ENUM , Ġvalor : ĠString ): ĠCh ave Pix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCh ave Pix ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" c 5 6 d fef 4 - 7 9 0 1 - 4 4 fb - 8 4 e 2 - a 2 ce fb 1 5 7 8 9 0 ", Ġtipo Ch ave , Ġvalor , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTipo Da Cont a . CONT A _ COR REN TE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCont a Associ ada ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" R af ael ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 1 9 1 1 3 9 0 8 8 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 9 3 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 4 2 2 2 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Factory Ċ class ĠRemove Ch ave Client Ġ{ ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġblocking Stub (@ Grpc Channel ( Grpc Server Channel . NAME ) Ġchannel : ĠManaged Channel ) Ġ= ĊĠĠĠĠĠĠĠ ĠCh ave Pix Service Lista Ch aves Cliente Grpc . new Blocking Stub ( channel ) Ċ }