package Ġno . nav . hel se . sp re . sub sums jon Ċ Ċ import Ġno . nav . hel se . rap ids _ river s . test support . Test R apid Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġorg . test containers . containers . PostgreSQL Container Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util .* Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ internal Ġclass ĠV ed tak Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpostgres : ĠPostgreSQL Container < Nothing > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmapping Dao : ĠMapping Dao ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġf att et R iver : ĠV ed tak F att et R iver ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfork ast et R iver : ĠV ed tak Fork ast et R iver ĊĠĠĠ Ġprivate Ġval Ġtest R apid Ġ= ĠTest R apid () ĊĠĠĠ Ġprivate Ġval Ġresult at Ġ= Ġmutable ListOf < Pair < String , ĠString >>() ĊĊĊĠĠĠ Ġ@ Before All ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġpostgres Ġ= ĠPostgreSQL Container < Nothing >(" postgres : 1 3 "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Label (" app - nav n ", Ġ" sp re - sub sums jon ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Re use ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmapping Dao Ġ= ĠMapping Dao ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataSource Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpostgres . jdbc Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpostgres . username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpostgres . password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). getM igr ated DataSource () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġf att et R iver Ġ= ĠV ed tak F att et R iver ( test R apid ) Ġ{ Ġkey , Ġvalue Ġ-> Ġresult at . add ( Pair ( key , Ġvalue )) Ġ} ĊĠĠĠĠĠĠĠ Ġfork ast et R iver Ġ= ĠV ed tak Fork ast et R iver ( test R apid ) Ġ{ Ġkey , Ġvalue Ġ-> Ġresult at . add ( Pair ( key , Ġvalue )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġresult at . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ved tak _ f att et Ġb lir Ġpub lis ert `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest R apid . send Test Message ( test V ed tak F att et (" 9 bfd cbc 4 - 8 5 4 e - 4 8 9 c - 9 ea 4 - 5 ed 6 5 0 c 3 2 d 0 5 ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġresult at . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ved tak sp eri ode _ fork ast et Ġb lir Ġpub lis ert `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest R apid . send Test Message ( test V ed tak sp eri ode Fork ast et (" 9 bfd cbc 4 - 8 5 4 e - 4 8 9 c - 9 ea 4 - 5 ed 6 5 0 c 3 2 d 0 5 ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġresult at . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ved tak Ġf att et Ġf Ã¸ r Ġ 1 5 Ġfe bru ar Ġre pub l iser es Ġik ke `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest R apid . send Test Message ( test V ed tak F att et ( UUID . randomUUID (). toString (), ĠLocalDate . of ( 2 0 2 2 , Ġ 2 , Ġ 1 4 ). at Start OfDay ())) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġresult at . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` ved tak Ġfork ast et Ġf Ã¸ r Ġ 1 5 Ġfe bru ar Ġre pub l iser es Ġik ke `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest R apid . send Test Message ( test V ed tak sp eri ode Fork ast et ( UUID . randomUUID (). toString (), ĠLocalDate . of ( 2 0 2 2 , Ġ 2 , Ġ 1 4 ). at Start OfDay ())) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġresult at . size ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Language (" JSON ") Ċ private Ġfun Ġtest V ed tak F att et ( id : ĠString , Ġopp rett et : ĠLocalDateTime Ġ= ĠLocalDateTime . parse (" 2 0 2 2 - 0 2 - 1 5 T 0 0 : 0 0 : 0 0 . 0 0 0 0 0 0 0 0 0 ")) Ġ= Ġ""" ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" f om ": Ġ" 2 0 2 2 - 0 2 - 0 1 ", ĊĠĠĠĠĠ Ġ" tom ": Ġ" 2 0 2 2 - 0 2 - 1 5 ", ĊĠĠĠĠĠ Ġ" hen del ser ": Ġ[ ĊĠĠĠĠĠĠĠ Ġ" 3 4 6 7 5 e 2 a - 7 ae 1 - 4 c 4 0 - 9 0 2 8 - 4 fe 3 0 0 e 1 f 2 0 3 ", ĊĠĠĠĠĠĠĠ Ġ" 1 4 8 4 9 3 7 4 - dd 5 8 - 4 f 0 6 - b 4 5 b - a 1 0 9 6 2 3 2 e 6 9 5 ", ĊĠĠĠĠĠĠĠ Ġ" 5 3 1 2 3 ce 5 - f 5 2 0 - 4 f 1 4 - a 2 f 8 - 2 ef 4 d 6 7 c 6 0 eb " ĊĠĠĠĠĠ Ġ], ĊĠĠĠĠĠ Ġ" sk j Ã¦ ring st id sp unkt ": Ġ" 2 0 2 2 - 0 1 - 0 1 ", ĊĠĠĠĠĠ Ġ" inn te kt ": Ġ 2 1 3 0 0 . 0 , ĊĠĠĠĠĠ Ġ" ved tak F att et Tid sp unkt ": Ġ" 2 0 2 2 - 0 2 - 1 5 T 1 2 : 2 7 : 1 6 . 2 1 4 1 4 2 2 2 7 ", ĊĠĠĠĠĠ Ġ" ut bet aling Id ": Ġ" fb 6 8 2 4 4 0 - 5 2 4 a - 4 2 f 4 - b 4 f 6 - 9 fb 9 fe 7 fe 6 bb ", ĊĠĠĠĠĠ Ġ"@ event _ name ": Ġ" ved tak _ f att et ", ĊĠĠĠĠĠ Ġ"@ id ": Ġ"$ id ", ĊĠĠĠĠĠ Ġ"@ op prett et ": Ġ"$ op prett et ", ĊĠĠĠĠĠ Ġ" f Ã¸ d se ls nummer ": Ġ" 3 1 0 5 6 2 0 3 9 1 8 ", ĊĠĠĠĠĠ Ġ" akt Ã¸ r Id ": Ġ" 2 2 9 8 9 5 4 3 9 6 0 2 4 ", ĊĠĠĠĠĠ Ġ" organ is as j ons nummer ": Ġ" 9 4 7 0 6 4 6 4 9 ", ĊĠĠĠĠĠ Ġ" ved tak sp eri ode Id ": Ġ" c 2 4 9 e 7 3 d - 5 3 dc - 4 2 3 7 - 9 f 8 d - 8 d 7 cf 5 8 dfb 8 0 " ĊĠĠĠ Ġ} Ċ """. trim Indent () Ċ Ċ @ Language (" JSON ") Ċ private Ġfun Ġtest V ed tak sp eri ode Fork ast et ( id : ĠString , Ġopp rett et : ĠLocalDateTime Ġ= ĠLocalDateTime . parse (" 2 0 2 2 - 0 2 - 1 5 T 0 0 : 0 0 : 0 0 . 0 0 0 0 0 0 0 0 0 ")) Ġ= Ġ""" ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" til stand ": Ġ" T IL _ INF OT RY GD ", ĊĠĠĠĠĠ Ġ"@ event _ name ": Ġ" ved tak sp eri ode _ fork ast et ", ĊĠĠĠĠĠ Ġ"@ id ": Ġ"$ id ", ĊĠĠĠĠĠ Ġ"@ op prett et ": Ġ"$ op prett et ", ĊĠĠĠĠĠ Ġ" f Ã¸ d se ls nummer ": Ġ" 1 6 0 2 9 1 2 1 0 2 1 ", ĊĠĠĠĠĠ Ġ" organ is as j ons nummer ": Ġ" 9 4 7 0 6 4 6 4 9 ", ĊĠĠĠĠĠ Ġ" ved tak sp eri ode Id ": Ġ" 0 4 9 aa 6 3 0 - c 3 6 1 - 4 5 fb - 9 aae - f 8 6 db 7 9 7 8 c 8 8 " ĊĠĠĠ Ġ} Ċ """. trim Indent () Ċ