package Ġio . go los . com mun 4 j . http . rpc . chain Ċ Ċ import Ġcom . me mt rip . eos . http . rpc . model . producer . request . Get Pro ducers Ċ import Ġcom . me mt rip . eos . http . rpc . utils . Config Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġorg . jetbrains . spe k . api . dsl . given Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġorg . jetbrains . spe k . api . dsl . on Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . platform . runner . JUnit Platform Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ @ RunWith ( JUnit Platform :: class ) Ċ class ĠChain Get Producer Test Ġ: ĠSpe k ({ ĊĊĠĠĠ Ġgiven (" an ĠApi ") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġok HttpClient Ġby Ġmemoized Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). setLevel ( Http Logging Interceptor . Level . BODY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġchain Api Ġby Ġmemoized Ġ{ Ġio . go los . com mun 4 j . http . rpc . Api ( Config . CHAIN _ API _ BASE _ URL , Ġok HttpClient ). chain Ġ} ĊĊĠĠĠĠĠĠĠ Ġon (" v 1 / chain / get _ pro ducers ") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpro ducers Ġ= Ġchain Api . get Pro ducers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGet Pro ducers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). blocking Get () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġa Ġlist Ġof Ġpro ducers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( pro ducers . is Successful ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertNotNull ( pro ducers . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })