@@ -11,11 +11,12 @@ package infrastructure.database
1111import com.sun.jna.Platform
1212import entity.healthprofessional.HealthProfessionalData
1313import entity.user.User
14- import io.kotest.core.extensions.install
1514import io.kotest.core.spec.style.StringSpec
16- import io.kotest.extensions.testcontainers.TestContainerExtension
1715import io.kotest.matchers.shouldBe
1816import io.kotest.matchers.shouldNotBe
17+ import org.testcontainers.containers.MongoDBContainer
18+ import org.testcontainers.utility.DockerImageName
19+ import java.time.Duration
1920
2021class TestMongo : StringSpec ({
2122
@@ -30,18 +31,31 @@ class TestMongo : StringSpec({
3031 "+39 3328455753",
3132 HealthProfessionalData .HealthProfessionalRole .ANESTHETIST
3233 )
33- val mongoClient = MongoClient ("mongodb://localhost:27017")
3434
35- if (Platform .getOSType() == Platform .LINUX ) {
36- install(TestContainerExtension ("mongo:latest")) {
37- withExposedPorts(27017)
38- }.start()
35+ lateinit var mongoClient : MongoClient
36+
37+ lateinit var mongoContainer : MongoDBContainer
38+
39+ beforeSpec {
40+ if (Platform .getOSType() == Platform .LINUX ) {
41+ mongoContainer = MongoDBContainer (
42+ DockerImageName .parse("mongo:latest")
43+ ).withStartupTimeout(Duration .ofSeconds(60L))
44+ mongoContainer.start()
45+ }
46+ mongoClient = MongoClient ("mongodb://localhost:27017")
3947 }
4048
41- beforeAny {
42- mongoClient.getDatabase("user_management").drop()
49+ afterSpec {
50+ if (Platform .getOSType() == Platform .LINUX ) {
51+ mongoContainer.stop()
52+ }
4353 }
4454
55+ // beforeAny {
56+ // mongoClient.getDatabase("user_management").drop()
57+ // }
58+
4559 " test the creation of a user in the database" .config(
4660 enabled = Platform .getOSType() == Platform .LINUX
4761 ) {
0 commit comments