package Ġcom . w car mon . codegen . database Ċ Ċ import Ġorg . junit . jupiter . api . After All Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . jdbc . core . Jdbc Template Ċ import Ġorg . test containers . containers . Jdbc Database Container Ċ import Ġorg . test containers . containers . PostgreSQL Container Provider Ċ import Ġorg . test containers . junit . jupiter . Test containers ĊĊ Ċ @ Test containers Ċ internal Ġclass ĠPostgreSQL Test Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġ/** ĠUses ĠClassLoader :: getResource Ġ*/ ĊĠĠĠ Ġprivate Ġconst Ġval ĠINIT _ SCRIPT _ URI Ġ= Ġ" db - init - scripts / init . postgresql . sql " ĊĠĠĠ Ġprivate Ġconst Ġval ĠIMAGE _ VERSION Ġ= Ġ" 1 2 . 8 " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontainer : ĠJdbc Database Container < *> ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġjdbc Template : ĠJdbc Template ĊĊĠĠĠ Ġ@ Before All ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbefore Class () Ġ{ ĊĊĠĠĠĠĠ Ġcontainer Ġ= ĠPostgreSQL Container Provider () ĊĠĠĠĠĠĠĠ Ġ. newInstance ( IMAGE _ VERSION ) ĊĠĠĠĠĠĠĠ Ġ. with Init Script ( INIT _ SCRIPT _ URI ) ĊĠĠĠĠĠ Ġcontainer . start () ĊĊĠĠĠĠĠ Ġjdbc Template Ġ= Ġbuild J DB CT emplate ( container ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After All ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġafter Class () Ġ= Ġcontainer . stop () ĊĠ Ġ} ĊĊĠ Ġ@ BeforeEach ĊĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠ Ġ// ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġfoo () Ġ{ ĊĊĠĠĠ Ġval Ġsql Ġ= Ġ""" ĊĠĠĠĠĠ Ġ| SELECT Ġid , Ġname ĠĊĠĠĠĠĠ Ġ| FROM Ġ" food """" ĊĠĠĠĠĠ Ġ. trim Margin () ĊĊĠĠĠ Ġjdbc Template ĊĠĠĠĠĠ Ġ. query For List ( sql ) ĊĠĠĠĠĠ Ġ. forEach Ġ{ Ġrow Ġ-> ĊĠĠĠĠĠĠĠ Ġprintln ( row [" id "]) ĊĠĠĠĠĠĠĠ Ġprintln ( row [" name "]) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ