package Ġcom . z up edu . gab riel ped ric o . endpoints . consult a Ċ Ċ import Ġcom . z up edu . gab riel ped ric o . Consult a Ch ave Pix Request Ċ import Ġcom . z up edu . gab riel ped ric o . Consult a Pix Grpc Service Grpc Ċ import Ġcom . z up edu . gab riel ped ric o . Tipo De Cont a Ċ import Ġcom . z up edu . gab riel ped ric o . d tos . consult a . Bank Account Ċ import Ġcom . z up edu . gab riel ped ric o . d tos . consult a . Consult a Ch ave Pix B cb Response Ċ import Ġcom . z up edu . gab riel ped ric o . d tos . consult a . Owner Ċ import Ġcom . z up edu . gab riel ped ric o . enums . Tipo De Ch ave Ċ import Ġcom . z up edu . gab riel ped ric o . integrations . B cb Client Ċ import Ġcom . z up edu . gab riel ped ric o . integrations . Dados Da Cont a Response Ċ import Ġcom . z up edu . gab riel ped ric o . integrations . Inst itu icao Response Ċ import Ġcom . z up edu . gab riel ped ric o . integrations . T it ular Response Ċ import Ġcom . z up edu . gab riel ped ric o . models . Ch ave Pix Ċ import Ġcom . z up edu . gab riel ped ric o . repositories . Ch ave Pix Repository Ċ import Ġio . grpc . Managed Channel Ċ 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 . http . HttpResponse Ċ import Ġio . mic ronaut . test . annotation . Mock Bean Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito . mock Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Singleton Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġio . grpc . Status Ċ Ċ @ Mic ronaut Test ( transaction al Ġ= Ġfalse ) Ċ internal Ġclass ĠConsult a Ch ave EndPoint Test ( ĊĠĠĠ Ġval Ġrepository : ĠCh ave Pix Repository , ĊĠĠĠ Ġval Ġgrpc Client : ĠConsult a Pix Grpc Service Grpc . Consult a Pix Grpc Service Blocking Stub , ĊĠĠĠ Ġval Ġb cb Client : ĠB cb Client Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠCLIENT E _ ID Ġ= ĠUUID . randomUUID () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar ĠCH AVE _ EXIST ENT E : Ch ave Pix ĊĠĠĠ Ġlateinit Ġvar ĠBL ANK _ PIX ID : String ĊĠĠĠ Ġlateinit Ġvar ĠBL ANK _ CLIENT ID : String ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĠĠĠĠĠĠĠ ĠCH AVE _ EXIST ENT E Ġ= Ġrepository . save ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCh ave Pix ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ġ= ĠTipo De Ch ave . EMAIL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Ġ= Ġ" gab riel . ped ric o @ z up . com . br ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcliente Id Ġ= ĠUUID . fromString (" 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 De Cont a Ġ= ĠTipo De Cont a . CONT A _ COR REN TE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconta Ġ= Ġdados Da Cont a Response (). para Cont a Associ ada () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBL ANK _ CLIENT ID Ġ= Ġ"" ĊĠĠĠĠĠĠĠ ĠBL ANK _ PIX ID Ġ= Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mock Bean ( B cb Client :: class ) ĊĠĠĠ Ġfun Ġb cb Mock (): ĠB cb Client Ġ= Ġmock ( B cb Client :: class . java ) ĊĊĊĠĠĠ Ġ@ Factory ĊĠĠĠ Ġclass ĠConsult a Clients Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Singleton ĊĠĠĠĠĠĠĠ Ġfun Ġblocking Stub (@ Grpc Channel ( Grpc Server Channel . NAME ) Ġchannel : ĠManaged Channel ): ĠConsult a Pix Grpc Service Grpc . Consult a Pix Grpc Service Blocking Stub Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠConsult a Pix Grpc Service Grpc . new Blocking Stub ( channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Happy ĠPatch Ġ= D ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġe Ġpix Id ` (){ ĊĠĠĠĠĠĠĠ Ġ// C enario ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb cb Client . consult a Ch ave ( CH AVE _ EXIST ENT E . ch ave )). thenReturn ( HttpResponse . ok ( consult a Ch ave Pix B cb Response ())) ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( CH AVE _ EXIST ENT E . id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( CH AVE _ EXIST ENT E . cliente Id . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġgrpc Client . consult a ( request ) ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( request . pix Id . clientId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( request . pix Id . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . key Type ," EMAIL ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . key , CH AVE _ EXIST ENT E . ch ave . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . participant ," 6 0 7 0 1 1 9 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . branch ," 0 0 0 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . account Number ," 2 9 1 9 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . account Type ," C ACC ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . type ," NAT UR AL _ PERSON ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . name ," R af ael ĠM ĠC ĠP ont e ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . tax Id Number ," 0 2 4 6 7 7 8 1 0 5 4 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġconsult ar Ġdados Ġat r aves Ġda Ġch ave Pix Ġapenas ` (){ ĊĠĠĠĠĠĠĠ Ġ// C enario ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb cb Client . consult a Ch ave ( CH AVE _ EXIST ENT E . ch ave )). thenReturn ( HttpResponse . ok ( consult a Ch ave Pix B cb Response ())) ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave Pix ( CH AVE _ EXIST ENT E . ch ave ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġgrpc Client . consult a ( request ) ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( request . pix Id . clientId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( request . pix Id . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . key Type ," EMAIL ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . key , CH AVE _ EXIST ENT E . ch ave . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . participant ," 6 0 7 0 1 1 9 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . branch ," 0 0 0 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . account Number ," 2 9 1 9 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . bank Account . account Type ," C ACC ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . type ," NAT UR AL _ PERSON ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . name ," R af ael ĠM ĠC ĠP ont e ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( response . owner . tax Id Number ," 0 2 4 6 7 7 8 1 0 5 4 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Bad ĠPatch Ġ= ,( ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġ& Ġpix Id Ġquando ĠclientId Ġn ulo ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( CH AVE _ EXIST ENT E . id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġvar Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . UNKNOWN . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" UNKNOWN : ĠclientId : ĠnÃ£o Ġdeve Ġestar Ġem Ġbr anco ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġ& Ġpix Id Ġquando Ġpix Id Ġn ulo ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( CH AVE _ EXIST ENT E . cliente Id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġvar Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . UNKNOWN . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġ& Ġpix Id Ġquando Ġpix Id Ġn ao Ġfor ĠUUID Ġvalid o ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( CH AVE _ EXIST ENT E . cliente Id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id (" 1 2 3 1 2 1 2 3 pix invalid o ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġvar Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . UNKNOWN . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" UNKNOWN : Ġpix Id : ĠnÃ£o ĠÃ© Ġum Ġformato ĠvÃ¡l ido ĠUUID ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġ& Ġpix Id Ġquando Ġpix Id Ġn ao Ġexist ir ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( CH AVE _ EXIST ENT E . cliente Id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( UUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġvar Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . PERMISSION _ DEN IED . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" PERMISSION _ DEN IED : ĠCh ave Ġpix ĠnÃ£o Ġpert ence Ġao Ġcliente Ġinform ado ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġde ĠclientId Ġ& Ġpix Id Ġquando Ġpix Id Ġn ao Ġexist ir Ġno ĠB CB ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb cb Client . consult a Ch ave ( CH AVE _ EXIST ENT E . ch ave )). thenReturn ( HttpResponse . not Found ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Consult a Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( CH AVE _ EXIST ENT E . cliente Id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( CH AVE _ EXIST ENT E . id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠĠĠĠĠ Ġ// acao ĊĠĠĠĠĠĠĠ Ġvar Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" NOT _ FOUND : ĠCh ave Ġin existent e ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġda Ġch ave Pix Ġapenas , Ġquando Ġch ave Ġmai or Ġ 7 7 Ġcaracteres ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave Pix (" uma _ ch ave _ pix _ ex ager ad amente _ des ne cess ari amente _ inc riv el mente _ gr ande @ t rol le i . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . UNKNOWN . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" UNKNOWN : Ġch ave Pix : Ġtamanho Ġdeve Ġser Ġentre Ġ 0 Ġe Ġ 7 7 ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġconsult ar Ġdados Ġat r aves Ġda Ġch ave Pix Ġapenas , Ġquando Ġch ave Ġn ao Ġexist ir Ġno ĠB CB ` (){ ĊĠĠĠĠĠĠĠ Ġ// c enario ĊĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb cb Client . consult a Ch ave (" um ach ave pe qu ena _ p orem _ na ot em no _ bcb @ test . com ")). thenReturn ( HttpResponse . not Found ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠConsult a Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave Pix (" um ach ave pe qu ena _ p orem _ na ot em no _ bcb @ test . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġthrown Ġ= ĠassertThrows < Status RuntimeException >{ Ġgrpc Client . consult a ( request )} ĊĊĠĠĠĠĠĠĠ Ġ// valid acao ĊĠĠĠĠĠĠĠ Ġwith ( throw n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" NOT _ FOUND : ĠCh ave Ġin existent e ", Ġthis . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġdados Da Cont a Response (): ĠD ados Da Cont a Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD ados Da Cont a Response ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ġ= Ġ" CONT A _ COR REN TE ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinst itu icao Ġ= ĠInst itu icao Response (" UN IB AN CO ĠI TA U ĠSA ", Ġ" IT AU _ UN IB AN CO _ IS BP "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġag encia Ġ= Ġ" 1 2 1 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumero Ġ= Ġ" 2 9 1 9 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt it ular Ġ= ĠT it ular Response (" 9 7 3 d 9 0 e 9 - ba 0 9 - 4 1 8 d - aa 1 e - 7 8 5 cf 2 f 4 1 3 5 0 ", Ġ" RA FA EL ĠM ĠC ĠP ON TE ", Ġ" 4 1 5 3 1 9 5 2 8 6 0 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconsulta Ch ave Pix B cb Response (): ĠConsult a Ch ave Pix B cb Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠConsult a Ch ave Pix B cb Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Type Ġ= Ġ" EMAIL ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠCH AVE _ EXIST ENT E . ch ave . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbank Account Ġ= ĠBank Account ( participant Ġ= Ġ" 6 0 7 0 1 1 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch Ġ= Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Number Ġ=" 2 9 1 9 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Type Ġ= Ġ" C ACC "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= ĠOwner ( type Ġ=" NAT UR AL _ PERSON " Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ=" R af ael ĠM ĠC ĠP ont e " Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtax Id Number Ġ= Ġ" 0 2 4 6 7 7 8 1 0 5 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠLocalDateTime . now () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }