package Ġfi . jo h ann es . data Ċ Ċ import Ġfi . jo h ann es . data . services . proxy . Wiki Database Service Ext Ċ import Ġfi . jo h ann es . data . services . proxy . Wiki Database Service Ext Factory Ċ import Ġio . vertx . core . Deployment Options Ċ import Ġio . vertx . core . Vert x Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . ext . unit . TestContext Ċ import Ġio . vertx . ext . unit . junit . Vert x Unit Runner Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ import Ġio . vertx . core . Handler Ċ import Ġorg . junit . After ĊĊ Ċ /** Ċ Ġ* ĠJ oh ann es Ġon Ġ 1 3 . 1 . 2 0 1 8 . Ċ Ġ*/ Ċ @ RunWith ( Vert x Unit Runner :: class ) Ċ class ĠWiki Database ServiceImpl Test Ġ{ ĊĊĠ Ġval Ġvert x Ġby Ġlazy Ġ{ ĠVert x . vertx () Ġ} ĊĠ Ġvar Ġservice : ĠWiki Database Service Ext ? Ġ= Ġnull ĊĊĠ Ġ@ Before ĊĠ Ġfun Ġprepare ( context : ĠTest Context ) Ġ{ ĊĠĠĠ Ġval Ġconf Ġ= ĠJsonObject () ĊĠĠĠĠĠ Ġ. put ( Wiki Database Vert icle Ext . CONFIG _ WI K ID B _ JDBC _ URL , Ġ" jdbc : h sql db : mem : test ; shutdown = true ") ĊĠĠĠĠĠ Ġ. put ( Wiki Database Vert icle Ext . CONFIG _ WI K ID B _ JDBC _ MAX _ POOL _ SIZE , Ġ 4 ) ĊĊĠĠĠ Ġvert x . deploy Vert icle ( ĊĠĠĠĠĠ ĠWiki Database Vert icle Ext (), ĊĠĠĠĠĠ ĠDeployment Options (). set Config ( conf ), ĊĠĠĠĠĠ Ġcontext . async Assert Success Ġ{ Ġid Ġ-> ĊĠĠĠĠĠĠĠ Ġservice Ġ= ĠWiki Database Service Ext Factory . create Proxy ( vertx , ĠWiki Database Vert icle Ext . CONFIG _ WI K ID B _ QUEUE ) ĊĠĠĠĠĠ Ġ}) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest Crud ( context : ĠTest Context ) Ġ{ ĊĠĠĠ Ġval Ġasync Ġ= Ġcontext . async () ĊĠĠĠ Ġcontext . assertNotNull ( service ) ĊĠĠĠ Ġservice ?. create Page (" Test ", Ġ" Some Ġcontent ", Ġcontext . async Assert Success Ġ{ Ġv 1 Ġ-> ĊĊĠĠĠĠĠ Ġservice ?. fetch Page (" Test ", Ġcontext . async Assert Success Ġ{ Ġpage Json Ġ-> ĊĠĠĠĠĠĠĠ Ġcontext . assertTrue ( page Json . getBoolean (" found ")) ĊĠĠĠĠĠĠĠ Ġcontext . assertTrue ( page Json . containsKey (" id ")) ĊĠĠĠĠĠĠĠ Ġcontext . assertEquals (" Some Ġcontent ", Ġpage Json . getString (" raw Content ")) ĊĊĠĠĠĠĠĠĠ Ġservice ?. save Page ( page Json . getInteger (" id "), Ġ" Yo !", Ġcontext . async Assert Success Ġ{ Ġv 2 Ġ-> ĊĊĠĠĠĠĠĠĠĠĠ Ġservice ?. fetch All Page Titles ( context . async Assert Success Ġ{ Ġarray 1 Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . assertEquals ( 1 , Ġarray 1 . size ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice ?. fetch Page (" Test ", Ġcontext . async Assert Success Ġ{ Ġupdated Page Json Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . assertEquals (" Yo !", Ġupdated Page Json . getString (" raw Content ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice ?. delete Page ( page Json . getInteger (" id "), ĠHandler Ġ{ Ġv 3 Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice ?. fetch All Page Titles ( context . async Assert Success ( Handler Ġ{ Ġarray 2 Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . assertTrue ( array 2 . isEmpty ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasync . complete () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ}) ĊĠĠĠ Ġasync . await Success ( 5 0 0 0 ) ĊĠ Ġ} ĊĊĠ Ġ@ After ĊĠ Ġfun Ġfinish ( context : ĠTest Context ) Ġ{ ĊĠĠĠ Ġvert x . close ( context . async Assert Success ()) ĊĠ Ġ} Ċ } Ċ