package Ġcn . nav club . fish p ond . server . impl Ċ Ċ import Ġcn . nav club . fish p ond . core . config . Constant Ċ import Ġcn . nav club . fish p ond . core . config . Constant . CONTENT Ċ import Ġcn . nav club . fish p ond . core . config . Constant . MESSAGE Ċ import Ġcn . nav club . fish p ond . core . config . Sys Property Ċ import Ġcn . nav club . fish p ond . core . util . Str Util Ċ import Ġcn . nav club . fish p ond . protocol . enums . Message T Ċ import Ġcn . nav club . fish p ond . protocol . enums . Service Code Ċ import Ġcn . nav club . fish p ond . protocol . impl . Default Decoder Ċ import Ġcn . nav club . fish p ond . protocol . model . T Pro Message Ċ import Ġcn . nav club . fish p ond . server . Base UnitTest Ċ import Ġcn . nav club . fish p ond . protocol . api . API E Code Ċ import Ġio . vertx . core . Vert x Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . junit 5 . Vert x TestContext Ċ import Ġio . vertx . kotlin . coroutines . await Ċ import Ġkotlinx . coroutines . Del icate Cor outines Api Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠSocket Test Ġ: ĠBase UnitTest () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest ( vertx : ĠVert x , Ġctx : ĠVert x TestContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfuture Ġ= Ġthis . create Net Client ( vertx , Ġctx ) ĊĠĠĠĠĠĠĠ Ġfuture . on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Decoder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. handler Ġ{ Ġpro Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( pro . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . complete Now () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ex Handler Ġ{ Ġt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . fail Now ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Opt In ( Del icate Cor outines Api :: class ) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġtcp Ġregister Ġsession `( vertx : ĠVert x , Ġctx : ĠVert x TestContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġthis ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclient Ġ= Ġthat . create Net Client ( vertx , Ġctx ). await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoder Ġ= ĠDefault Decoder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. handler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . service Code Ġ== ĠService Code . OPER ATE _ FEED BACK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġit . data . to JsonObject (). get JsonObject ( CONTENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġjson . getInteger ( Constant . CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( code Ġ== ĠAPI E Code . OK . code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . complete Now () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . fail Now ( RuntimeException ( json . getString ( MESSAGE ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ex Handler ( ctx :: fail Now ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . handler ( decoder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJsonObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( Constant . SESSION _ ID , Ġ" 5 0 E 0 D 9 BA 8 B 8 5 4 4 BF 8 1 9 7 7 DA 8 4 7 2 4 5 EC 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt Pro Ġ= ĠT Pro Message () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . from Ġ= ĠSys Property . SYS _ ID ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . to Ġ= ĠSys Property . SYS _ ID ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . service Code Ġ= ĠService Code . TCP _ REGISTER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . uuid Ġ= ĠStr Util . uuid () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . data Ġ= Ġjson . to Buffer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt Pro . type Ġ= ĠMessage T . JSON ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . write ( t Pro . to Message ()). await () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }