Skip to content

Commit 62843ab

Browse files
chore: change test for new testcontainer lib
1 parent 665ad7d commit 62843ab

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

src/test/kotlin/infrastructure/database/TestMongo.kt

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ package infrastructure.database
1111
import com.sun.jna.Platform
1212
import entity.healthprofessional.HealthProfessionalData
1313
import entity.user.User
14-
import io.kotest.core.extensions.install
1514
import io.kotest.core.spec.style.StringSpec
16-
import io.kotest.extensions.testcontainers.TestContainerExtension
1715
import io.kotest.matchers.shouldBe
1816
import io.kotest.matchers.shouldNotBe
17+
import org.testcontainers.containers.MongoDBContainer
18+
import org.testcontainers.utility.DockerImageName
19+
import java.time.Duration
1920

2021
class 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

Comments
 (0)