package Ġbr . com . mate us ch acon . key manager . rest . list agem . pix Ċ Ċ import Ġbr . com . mate us ch acon . key manager . grpc .* Ċ import Ġbr . com . mate us ch acon . key manager . rest . cliente . grpc . Key Manager Grpc Factory Ċ import Ġbr . com . mate us ch acon . key manager . rest . detal h amento . pix . Det al har Pix EndPoint Test Ċ import Ġcom . google . protobuf . Timestamp Ċ import Ġio . mic ronaut . context . annotation . Factory Ċ import Ġio . mic ronaut . context . annotation . Re places Ċ import Ġio . mic ronaut . http . HttpRequest Ċ import Ġio . mic ronaut . http . HttpStatus Ċ import Ġio . mic ronaut . http . client . HttpClient Ċ import Ġio . mic ronaut . http . client . annotation . Client Ċ import Ġio . mic ronaut . http . client . exceptions . HttpClient Response Exception Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Mic ronaut Test ( transaction al Ġ= Ġfalse ) Ċ internal Ġclass ĠList agem Pix EndPoint Test Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġident ificador 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 " ĊĊĠĠĠĠĠĠĠ Ġval Ġch ave _ 1 Ġ= ĠCh ave Pix Cliente Response . Ch ave Pix Det al hes Cliente Response . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Ch ave ( Tipo Ch ave . ALE ATOR IA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Valor Ch ave ( UUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . CONT A _ PO UP AN CA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ident ificador Pix ( UUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cri ado Em ( Timestamp . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Nan os ( 2 5 1 7 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Seconds ( 1 6 2 6 6 9 3 6 0 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġch ave _ 2 Ġ= ĠCh ave Pix Cliente Response . Ch ave Pix Det al hes Cliente Response . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Ch ave ( Tipo Ch ave . CP F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Valor Ch ave (" 9 9 9 9 9 9 9 9 9 9 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Tipo Cont a ( Tipo Cont a . CONT A _ COR REN TE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ident ificador Pix ( UUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cri ado Em ( Timestamp . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Nan os ( 3 6 8 4 8 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Seconds ( 1 6 2 6 3 6 5 3 6 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġch aves Ġ= ĠlistOf < Ch ave Pix Cliente Response . Ch ave Pix Det al hes Cliente Response >( Ġch ave _ 1 , Ġch ave _ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĠĠĠ Ġ// ĠConf ĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġlist agem Stub Mock : ĠKey manager List agem Service Grpc . Key manager List agem Service Blocking Stub ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġ@ field : Client ( value Ġ= Ġ"/") ĊĠĠĠ Ġlateinit Ġvar Ġl itar Client : ĠHttpClient ĊĊĠĠĠ Ġ@ Factory ĊĠĠĠ Ġ@ Re places ( factory Ġ= ĠKey Manager Grpc Factory :: class ) ĊĠĠĠ Ġinternal Ġclass ĠMockito Stub Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Singleton ĊĠĠĠĠĠĠĠ Ġfun Ġstub Mock () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . mock ( Key manager List agem Service Grpc . Key manager List agem Service Blocking Stub :: class . java ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĠĠĠ Ġ// ĠTest es ĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġlist ar Ġas Ġch aves Ġpix Ġquando Ġo Ġident ificador Ġdo Ġcliente Ġfor Ġpass ado ` (){ ĊĊĠĠĠĠĠĠĠ Ġ// c enario ĊĠĠĠĠĠĠĠ Ġ` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . list agem Stub Mock . list ar ( Mockito . any ()) ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( this . dados Re ponse Grpc ()) ĊĊĠĠĠĠĠĠĠ Ġ// aÃ§Ã£o ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . GET < Any > ("/ api / client es /${ ident ificador Cliente }") ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġl itar Client . to Blocking (). exchange ( request , ĠAny :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// valid aÃ§Ã£o ĊĠĠĠĠĠĠĠ Ġwith ( response ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( HttpStatus . OK , Ġthis . status ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( this . body ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` na o Ġdeve Ġlist ar Ġas Ġch aves Ġpix Ġquando Ġo Ġident ificador Ġdo Ġcliente Ġfor Ġpass ado Ġinvalid o ` (){ ĊĊĠĠĠĠĠĠĠ Ġ// c enario ĊĊĠĠĠĠĠĠĠ Ġ// aÃ§Ã£o ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . GET < Any > ("/ api / client es / invalid o ") ĊĠĠĠĠĠĠĠ Ġval Ġthrown Ġ= ĠassertThrows < HttpClient Response Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl itar Client . to Blocking (). exchange ( request , ĠAny :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// valid aÃ§Ã£o ĊĠĠĠĠĠĠĠ Ġwith ( throw n ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( HttpStatus . BAD _ REQUEST . code , Ġthis . status . code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĠĠĠ Ġ// ĠD ados ĊĠĠĠ Ġ// Ġ********************************************************* **** ĊĊĠĠĠ Ġprivate Ġfun Ġdados Re ponse Grpc (): ĠCh ave Pix Cliente Response Ġ= ĊĠĠĠĠĠĠĠ ĠCh ave Pix Cliente Response . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ident ificador Cliente ( ident ificador Cliente ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addAll Ch ave Pix Det al hes Cliente Response ( ch aves ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ }