package Ġio . spark led . e 2 e . util Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġio . mic ronaut . context . ApplicationContext Ċ import Ġio . mic ronaut . runtime . server . Embedded Server Ċ import Ġio . spark led . e 2 e . util . query . Reset Database E 2 e Query Ċ import Ġio . spark led . persistence . Db Service Ċ import Ġio . spark led . persistence . cache . Cache Service Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ object ĠE 2 e Context Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( E 2 e Context :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġapp Context : ĠApplication Context ĊĠĠĠ Ġprivate Ġval Ġjson Mapper : ĠObjectMapper ĊĠĠĠ Ġval Ġembedded Server : ĠEmbedded Server ĊĠĠĠ Ġval Ġcaches : ĠCache Service ĊĠĠĠ Ġval Ġdb : ĠDb Service ĊĠĠĠ Ġval Ġhttp : ĠE 2 e HttpClient ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= Ġhash Map Of < String , ĠAny >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" datas ources . default . url " Ġto Ġ" jdbc : sqlite :: memory :", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġembedded Server Ġ= ĠApplication Context . run ( Embedded Server :: class . java , Ġproperties , Ġ" e 2 e Test ") ĊĠĠĠĠĠĠĠ Ġapp Context Ġ= Ġembedded Server . application Context ĊĠĠĠĠĠĠĠ Ġcaches Ġ= Ġinject () ĊĠĠĠĠĠĠĠ Ġdb Ġ= Ġinject () ĊĠĠĠĠĠĠĠ Ġjson Mapper Ġ= Ġinject () ĊĠĠĠĠĠĠĠ Ġhttp Ġ= ĠE 2 e HttpClient ( embedded Server . url , Ġjson Mapper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠAny > Ġinject (): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġembedded Server . application Context . find Bean ( T :: class . java ). get () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUsed Ġto Ġensure Ġthis Ġclass Ġhas Ġbeen Ġinitial ised Ġfor Ġend - to - end Ġtests . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbegin () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Started ĠE 2 E Ġtest .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠC le ans Ġup Ġtest Ġdata Ġonce Ġa Ġtest Ġspec Ġhas Ġfinished Ġrunning . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġend () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Reset ting Ġdatabase .") ĊĠĠĠĠĠĠĠ Ġdb . query ( Reset Database E 2 e Query ()) ĊĠĠĠĠĠĠĠ Ġlogger . info (" Finished ĠE 2 E Ġtest .") ĊĠĠĠ Ġ} Ċ } Ċ