package Ġbr . com . z up . academy . er om bi . server Ċ Ċ import Ġbr . com . z up . academy . er om bi .* Ċ import Ġbr . com . z up . academy . er om bi . client . B cb Client Ċ import Ġbr . com . z up . academy . er om bi . client . E rp It au Client Ċ import Ġbr . com . z up . academy . er om bi . client . request . Bank Account Request Ċ import Ġbr . com . z up . academy . er om bi . client . request . Create Pix Key Request Ċ import Ġbr . com . z up . academy . er om bi . client . request . Delete Pix Key Request Ċ import Ġbr . com . z up . academy . er om bi . client . request . Owner Request Ċ import Ġbr . com . z up . academy . er om bi . client . response .* Ċ import Ġbr . com . z up . academy . er om bi . model . Tipo P essoa Ċ import Ġbr . com . z up . academy . er om bi . repository . Key Repository Ċ import Ġbr . com . z up . academy . er om bi . service . to Por Ex ten so Ċ 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 . http . client . exceptions . HttpClient Exception Ċ import Ġio . mic ronaut . http . client . exceptions . HttpClient Response Exception Ċ import Ġio . mic ronaut . test . annotation . Mock Bean Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġjak arta . inject . Inject Ċ import Ġjak arta . inject . Singleton Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġorg . mockito . Mockito . times Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util .* Ċ import Ġjavax . validation . Constraint Violation Exception Ċ Ċ @ Mic ronaut Test ( transaction al Ġ= Ġfalse ) Ċ internal Ġclass ĠKey Server Test ( ĊĠĠĠ Ġval Ġclient : ĠKey Manager Grpc Service Grpc . Key Manager Grpc Service Blocking Stub , ĊĠĠĠ Ġval Ġrepository : ĠKey Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġclient E rp It au : ĠE rp It au Client ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġclient B cb : ĠB cb Client ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cont as Por Cliente ( Tipo Cont a . C ACC . to Por Ex ten so (), Ġ" 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstraint Violation Exception ( mutable Set Of ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cont as Por Cliente ( Tipo Cont a . C ACC . to Por Ex ten so (), Ġ" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCont a Cliente E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" CONT A _ COR REN TE ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInst itu icao E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 7 0 1 1 9 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 5 9 8 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT it ular E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient E rp It au . pes quis a Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCliente E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . fromString (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInst itu icao E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 7 0 1 1 9 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client B cb . c ada stra No B anco Central ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Pix Key Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo Key . PHONE . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBank Account Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo Cont a . C ACC . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOwner Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo P essoa . NAT UR AL _ PERSON . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ )). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Pix Key Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo Key . PHONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBank Account Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo Cont a . C ACC . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOwner Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTipo P essoa . NAT UR AL _ PERSON . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime . now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġcada strar Ġuma ĠKey Ġcom Ġsu cesso `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠMockito . verify ( client E rp It au , Ġtimes ( 1 )). pes quis a Cont as Por Cliente (" CONT A _ COR REN TE ", Ġ" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( response . pix Id . isNotBlank ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġposs ivel Key Ġ= Ġrepository . findById ( UUID . fromString ( response . pix Id )) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( poss ivel Key . isPresent ) ĊĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġposs ivel Key . get () ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( response . pix Id , Ġkey . id . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar Ġerro Ġde Ġcliente Ġn ao Ġencontr ado `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 2 2 2 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . FAILED _ PRE CONDITION . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar Ġerro Ġde Ġkey Ġun ica `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . FAILED _ PRE CONDITION . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" valid a ES al va . form . key : ĠKey ĠjÃ¡ Ġexist ente Ġ! ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexist ente Ġ= Ġrepository . findById ( UUID . fromString (" aaaa a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( existent e . isEmpty ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar Ġerro Ġde Ġconta Ġn ao Ġencontr ada `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cliente (" 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 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCliente E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ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 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInst itu icao E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 7 0 1 1 9 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" 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 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . SV GS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . INVALID _ ARGUMENT . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" INVALID _ ARGUMENT : ĠCont a ĠnÃ£o Ġencontr ada Ġ! ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexist ente Ġ= Ġrepository . findById ( UUID . fromString (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( existent e . isEmpty ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ Ġ` de ve Ġremo ver ĠKey Ġcom Ġsu cesso `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Cad astro Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( repository . exists ById And T it ular Uuid Cliente ( UUID . fromString ( response Cad astro . pix Id ), Ġ" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĊĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( response Cad astro . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertFalse ( repository . exists ById And T it ular Uuid Cliente ( UUID . fromString ( response Cad astro . pix Id ), Ġ" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġn ao Ġremo ver ĠKey Ġquando Ġcliente Ġinvalid o `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġclient ein existent e Ġ= ĠUUID . randomUUID () ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cont as Por Cliente ( Tipo Cont a . C ACC . to Por Ex ten so (), Ġclient ein existent e . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstraint Violation Exception (" Cliente Ġin existent e Ġ! ", Ġmutable Set Of ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Cad astro Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( response Cad astro . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente ( client ein existent e . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/* ĠCom o Ġa Ġvalid aÃ§Ã£o Ġda Ġkey Ġincl ui Ġo Ġid Ġdo Ġcliente ĠnÃ£o Ġtem Ġcomo Ġtest ar Ġun ic amente Ġess a Ġvalid aÃ§Ã£o Ġ*/ ĊĠĠĠĠĠĠĠ Ġwith ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġn ao Ġremo ver ĠKey Ġquando Ġkey Ġin existent e `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( UUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . NOT _ FOUND . code , Ġstatus . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" NOT _ FOUND : ĠKey ĠnÃ£o Ġencontr ada Ġou Ġem Ġformato Ġinv Ã¡l ido Ġ! ", Ġstatus . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar ĠU NA VA IL ABLE Ġquando Ġserv ico Ġfor a Ġdo Ġar `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġrandom UUID Ġ= ĠUUID . randomUUID () ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cliente ( randomUUID . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCliente E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom UUID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Le on ardo ĠSil va ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 7 6 4 4 4 2 0 5 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInst itu icao E rp It au Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT A Ã ļ ĠUN IB AN CO ĠS . A .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 7 0 1 1 9 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cont as Por Cliente ( Tipo Cont a . C ACC . to Por Ex ten so (), Ġrandom UUID . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" Connection Ġrefused ", ĠHttpClient Exception (" Connection Ġrefused ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente ( randomUUID . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 1 1 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . UN AVAILABLE . code , Ġerror . status . code ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" Erro Ġao Ġconect ar ĠÃł ĠserviÃ§o Ġextern o Ġ! ", Ġerror . status . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar ĠINTERNAL Ġerro Ġin es per ado `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġrandom UUID Ġ= ĠUUID . randomUUID () ĊĊĠĠĠĠĠĠĠ Ġ` when `( client E rp It au . pes quis a Cliente ( randomUUID . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" Connection Ġrefused ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente ( randomUUID . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . INTERNAL . code , Ġerror . status . code ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" Erro Ġintern o Ġin es per ado Ġ! ", Ġerror . status . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar ĠU NA VA IL ABLE Ġquando Ġserv ico Ġfor a Ġdo Ġar Ġao Ġde let ar `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client B cb . de leta Do B anco Central ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Pix Key Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" Connection Ġrefused ", ĠHttpClient Exception (" Connection Ġrefused ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( response . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . UN AVAILABLE . code , Ġerror . status . code ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" Erro Ġao Ġconect ar ĠÃł ĠserviÃ§o Ġextern o Ġ! ", Ġerror . status . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġret orn ar ĠINTERNAL Ġerro Ġin es per ado Ġao Ġde let ar `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client B cb . de leta Do B anco Central ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Pix Key Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" Connection Ġrefused ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( response . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . INTERNAL . code , Ġerror . status . code ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" Erro Ġintern o Ġin es per ado Ġ! ", Ġerror . status . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġl anc ar ĠException Ġde ĠhttpClient Response Exception `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . c ada strar Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ova Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uuid Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Key ( Tipo Key . PHONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key ("+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . C ACC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( client B cb . de leta Do B anco Central ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Pix Key Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ 5 5 1 9 9 9 9 7 4 1 0 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Throw ( HttpClient Response Exception :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠassertThrows < Status RuntimeException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . remove Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Key Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Key ( response . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId Cliente (" ae 9 3 a 6 1 c - 0 6 4 2 - 4 3 b 3 - bb 8 e - a 1 7 0 7 2 2 9 5 9 5 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Status . INVALID _ ARGUMENT . code , Ġerror . status . code ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals (" INVALID _ ARGUMENT : ĠN Ã£o Ġfoi Ġposs ÃŃvel Ġde let ar Ġa Ġch ave Ġ! ", Ġerror . status . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mock Bean ( E rp It au Client :: class ) ĊĠĠĠ Ġfun Ġer p It au (): ĠE rp It au Client ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMockito . mock ( E rp It au Client :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Mock Bean ( B cb Client :: class ) ĊĠĠĠ Ġfun Ġbanco Central (): ĠB cb Client ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMockito . mock ( B cb Client :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Factory ĊĠĠĠ Ġclass ĠKey Server Client Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Singleton ĊĠĠĠĠĠĠĠ Ġfun Ġcar ros Client Grpc (@ Grpc Channel ( Grpc Server Channel . NAME ) Ġchannel Ġ: ĠManaged Channel ) Ġ: ĠKey Manager Grpc Service Grpc . Key Manager Grpc Service Blocking Stub Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKey Manager Grpc Service Grpc . new Blocking Stub ( channel ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊ