package Ġcom . github . hi rok az um iy aji . http Ċ Ċ import Ġokhttp 3 . Headers Ċ import Ġokhttp 3 . MediaType Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . RequestBody Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġjava . util . UUID Ċ Ċ class ĠClient Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠClient ( Ok HttpClient ()) ĊĠĠĠ Ġprivate Ġval Ġserver Ġ= ĠMock WebServer () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestGet OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġexpected Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( expected ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvar Ġactual Ġ= Ġclient . get ( server . url (" "). toString ()). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , Ġactual ) ĊĊĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ"[ {\" id \": 1 0 0 0 },{ \" id \": 2 0 0 0 }] " ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( expected ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġclient . get ( server . url (" "). toString ()). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĊĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( expected ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġactual Ġ= Ġclient . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeaders . of ( map Of (" Authorization " Ġto ĠUUID . randomUUID (). toString ())) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestGet NG () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get ( server . url (" "). toString ()). block () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertTrue ( e . cause !! Ġis ĠHttp Exception ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġe . cause !! Ġas ĠHttp Exception ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġexception . response ?. body ()?. string () Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Post () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvar Ġactual Ġ= Ġclient . post ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} ") ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġactual Ġ= Ġclient . post ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeaders . of ( map Of (" Authorization " Ġto ĠUUID . randomUUID (). toString ())) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Put () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvar Ġactual Ġ= Ġclient . put ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} ") ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġactual Ġ= Ġclient . put ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeaders . of ( map Of (" Authorization " Ġto ĠUUID . randomUUID (). toString ())) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Patch () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ"{\" id \": 1 0 0 0 }" ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvar Ġactual Ġ= Ġclient . patch ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} ") ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( body ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġactual Ġ= Ġclient . patch ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Body . create ( MediaType . parse (" application / json "), Ġ"{} "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeaders . of ( map Of (" Authorization " Ġto ĠUUID . randomUUID (). toString ())) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( body , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Delete () Ġ{ ĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 4 ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvar Ġactual Ġ= Ġclient . delete ( server . url (" "). toString ()). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("", Ġactual ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 4 ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġserver . enqueue ( Mock Response (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Code ( 2 0 4 ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġactual Ġ= Ġclient . delete ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . url (" "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= ĠHeaders . of ( map Of (" Authorization " Ġto ĠUUID . randomUUID (). toString ())) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. string () ĊĠĠĠĠĠĠĠ Ġ}. block () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("", Ġactual ) ĊĠĠĠ Ġ} Ċ }