package Ġbr . com . z up . edu . pix . bus ca Ċ Ċ import Ġbr . com . z up . edu . Bus ca Ch ave Pix Request Ċ import Ġbr . com . z up . edu . Key Manager Bus ca Service Grpc Ċ import Ġbr . com . z up . edu . integr acoes . bcb .* Ċ import Ġbr . com . z up . edu . pix . ent idades . Ch ave Pix Ċ import Ġbr . com . z up . edu . pix . ent idades . Cont a Associ ada Ċ import Ġbr . com . z up . edu . pix . enums . Tipo Ch ave Ċ import Ġbr . com . z up . edu . pix . enums . Tipo Cont a Ċ import Ġbr . com . z up . edu . pix . re positor ios . Ch ave Pix Repository Ċ import Ġbr . com . z up . edu . util . vi olations Ċ import Ġio . grpc . Managed Channel Ċ import Ġio . grpc . Status Ċ import Ġio . grpc . Status RuntimeException Ċ import Ġio . mic ronaut . context . annotation . Bean Ċ 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 . After Each Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġorg . mockito . Mockito Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . hamcrest . Matchers . contains In Any Order Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġjava . time . LocalDateTime Ċ Ċ @ Mic ronaut Test ( transaction al Ġ= Ġfalse ) Ċ internal Ġclass ĠBus ca Ch ave Pix Endpoint Test ( ĊĠĠĠ Ġval Ġrepository : ĠCh ave Pix Repository , ĊĠĠĠ Ġval Ġgrpc Client : ĠKey Manager Bus ca Service Grpc . Key Manager Bus ca Service Blocking Stub Ċ ) Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġb cb : ĠB anco Central Client ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . save ( ch ave Pix ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġclean Up () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġbus car Ġch ave Ġpix Ġpor Ġpix Id Ġe Ġcliente Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġch ave Pix Ġ= Ġrepository . findBy Ch ave Pix (" raf ael @ p ont e . com "). get () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Bus ca Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( ch ave Pix . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cliente Id ( ch ave Pix . cliente Id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĊĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . id , Ġthis . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . cliente Id . toString (), Ġthis . cliente Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . tipo Ch ave . name , Ġthis . ch ave Pix . tipo Ch ave . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . ch ave Pix , Ġthis . ch ave Pix . ch ave ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġbus car Ġch ave Ġpor Ġpix Id Ġe Ġcliente Id Ġquando Ġfilt ro Ġfor Ġinvalid o ` (){ ĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Bus ca Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cliente Id ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . INVALID _ ARGUMENT . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Dados Ġinv Ã¡l idos ", Ġstatus . description ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( vi olations (), Ġcontains In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pix Id ", Ġ" n Ã£o Ġdeve Ġestar Ġem Ġbr anco "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" cliente Id ", Ġ" n Ã£o Ġdeve Ġestar Ġem Ġbr anco "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" cliente Id ", Ġ" NÃ£o ĠÃ© Ġum Ġformato ĠvÃ¡l ido Ġde ĠUUID "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" pix Id ", Ġ" NÃ£o ĠÃ© Ġum Ġformato ĠvÃ¡l ido Ġde ĠUUID ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġbus car Ġch ave Ġpix Ġpor Ġpix Id Ġe Ġcliente Id Ġquando Ġregistro Ġn ao Ġexist ir Ġno Ġbanco Ġde Ġdados `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpix Id In existent e Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġcliente Id In existent e Ġ= ĠUUID . randomUUID (). toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( Bus ca Ch ave Pix Request . Filt ro Por Pix Id . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( pix Id In existent e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cliente Id ( cliente Id In existent e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Ch ave Ġpix ĠnÃ£o Ġencontr ada ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġbus car Ġch ave Ġpix Ġpelo Ġvalor Ġda Ġch ave Ġquando Ġexist ir Ġno Ġbanco Ġde Ġdados `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġch ave Pix Ġ= Ġrepository . findBy Ch ave Pix (" raf ael @ p ont e . com "). get () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave (" raf ael @ p ont e . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĊĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . id , Ġthis . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . cliente Id . toString (), Ġthis . cliente Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . tipo Ch ave . name , Ġthis . ch ave Pix . tipo Ch ave . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ch ave Pix . ch ave Pix , Ġthis . ch ave Pix . ch ave ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġbus car Ġch ave Ġpix Ġpelo Ġvalor Ġda Ġch ave Ġno ĠB anco ĠCentral Ġquando Ġa Ġmes ma Ġn ao Ġexist ir Ġlocal mente `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb cb Response Ġ= Ġpix Key Details Response () ĊĊĠĠĠĠĠĠĠ Ġ` when `( bcb . bus ca Por Ch ave Pix ( key Ġ= Ġ" raf ael @ p ont e . com . br ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( HttpResponse . ok ( pix Key Details Response ())) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave (" raf ael @ p ont e . com . br ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĊĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġthis . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġthis . cliente Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( bcb Response . key Type . name , Ġthis . ch ave Pix . tipo Ch ave . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( bcb Response . key , Ġthis . ch ave Pix . ch ave ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġbus car Ġch ave Ġpix Ġpelo Ġvalor Ġda Ġch ave Ġquando Ġregistro Ġn ao Ġexist ir Ġnem Ġlocal mente Ġe Ġnem Ġno ĠB anco ĠCentral `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ` when `( bcb . bus ca Por Ch ave Pix ( key Ġ= Ġ" ch ave @ na o exist e . com ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( HttpResponse . not Found ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave (" ch ave @ na o exist e . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Ch ave Ġpix ĠnÃ£o Ġencontr ada ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġcar regar Ġch ave Ġpix Ġpor Ġvalor Ġda Ġch ave Ġquando Ġfilt ro Ġfor Ġinvalid o `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch ave ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . INVALID _ ARGUMENT . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Dados Ġinv Ã¡l idos ", Ġstatus . description ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( vi olations (), Ġcontains In Any Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" ch ave Pix ", Ġ" n Ã£o Ġdeve Ġestar Ġem Ġbr anco "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġcar regar Ġch ave Ġpix Ġquando Ġfilt ro Ġfor Ġinvalid o `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrpc Client . bus car ( Bus ca Ch ave Pix Request . newBuilder (). build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status . INVALID _ ARGUMENT . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Ch ave Ġpix Ġinv Ã¡l ida Ġou ĠnÃ£o Ġinform ada ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mock Bean ( B anco Central Client :: class ) ĊĠĠĠ Ġfun Ġb cb (): ĠB anco Central Client ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMockito . mock ( B anco Central Client :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Factory ĊĠĠĠ Ġclass ĠClient Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Bean ĊĠĠĠĠĠĠĠ Ġfun Ġblocking Stub (@ Grpc Channel ( Grpc Server Channel . NAME ) Ġchannel : ĠManaged Channel ): ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey Manager Bus ca Service Grpc . Key Manager Bus ca Service Blocking Stub ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKey Manager Bus ca Service Grpc . new Blocking Stub ( channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġch ave Pix (): ĠCh ave Pix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCh ave Pix ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcliente Id Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ch ave Ġ= ĠTipo Ch ave . EMAIL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Pix Ġ= Ġ" raf ael @ p ont e . com ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Cont a Ġ= ĠTipo Cont a . CONT A _ COR REN TE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconta Ġ= ĠCont a Associ ada ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinst itu icao Ġ= Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnome Do T it ular Ġ= Ġ" R af ael ĠM ĠC ĠP ont e ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc pf Do T it ular Ġ= Ġ" 0 2 4 6 7 7 8 1 0 5 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġag encia Ġ= Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumero Da Cont a Ġ= Ġ" 2 9 1 9 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpix Key Details Response (): ĠP ix Key Details Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠP ix Key Details Response ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Type Ġ= ĠKey Type . EMAIL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġ" raf ael @ p ont e . com . br ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbank Account Ġ= Ġbank Account (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= Ġowner (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠLocalDateTime . now () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbank Account (): ĠBank Account Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBank Account ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparticipant Ġ= ĠCont a Associ ada . IT AU _ UN IB AN CO _ IS PB , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbranch Ġ= Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Number Ġ= Ġ" 2 9 1 9 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Type Ġ= ĠBank Account . Account Type . C ACC ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġowner (): ĠOwner Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOwner ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ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 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }