Skip to content

Commit a252e6b

Browse files
committed
test(model-client): increase timeout for starting containers
1 parent cd457fd commit a252e6b

File tree

1 file changed

+5
-8
lines changed
  • model-client/src/jvmTest/kotlin/org/modelix/model/client2

1 file changed

+5
-8
lines changed

model-client/src/jvmTest/kotlin/org/modelix/model/client2/OAuthTest.kt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import kotlinx.coroutines.runBlocking
1616
import kotlinx.coroutines.withTimeout
1717
import org.modelix.model.api.ITree
1818
import org.modelix.model.lazy.RepositoryId
19-
import org.testcontainers.containers.ComposeContainer
2019
import org.testcontainers.containers.GenericContainer
2120
import org.testcontainers.containers.Network
21+
import org.testcontainers.containers.wait.strategy.Wait
2222
import org.testcontainers.images.builder.ImageFromDockerfile
2323
import org.testcontainers.utility.MountableFile
2424
import java.nio.file.Path
@@ -27,6 +27,7 @@ import kotlin.test.Test
2727
import kotlin.test.assertEquals
2828
import kotlin.time.Duration.Companion.minutes
2929
import kotlin.time.ExperimentalTime
30+
import kotlin.time.toJavaDuration
3031

3132
private val modelServerDir = Path.of("../model-server").absolute().normalize()
3233
private val modelServerImage = ImageFromDockerfile()
@@ -80,7 +81,7 @@ class OAuthTest {
8081

8182
private fun runWithModelServer(body: suspend (url: String) -> Unit) = runBlocking {
8283
@OptIn(ExperimentalTime::class)
83-
withTimeout(3.minutes) {
84+
withTimeout(5.minutes) {
8485
val network = Network.newNetwork()
8586

8687
val keycloak: GenericContainer<*> = GenericContainer("quay.io/keycloak/keycloak:${System.getenv("KEYCLOAK_VERSION")}")
@@ -93,6 +94,7 @@ class OAuthTest {
9394
.withCopyFileToContainer(MountableFile.forHostPath("../model-server-with-auth/realm.json"), "/opt/keycloak/data/import/realm.json")
9495
.withNetwork(network)
9596
.withNetworkAliases("keycloak")
97+
.waitingFor(Wait.forListeningPort().withStartupTimeout(3.minutes.toJavaDuration()))
9698
.withLogConsumer { println("[KEYCLOAK] " + it.utf8StringWithoutLineEnding) }
9799
keycloak.start()
98100
val keycloakPort = keycloak.getMappedPort(8080)
@@ -106,6 +108,7 @@ class OAuthTest {
106108
.withEnv("MODELIX_JWK_URI_KEYCLOAK", "http://keycloak:8080/realms/modelix/protocol/openid-connect/certs")
107109
.withNetwork(network)
108110
.withNetworkAliases("model-server")
111+
.waitingFor(Wait.forListeningPort().withStartupTimeout(3.minutes.toJavaDuration()))
109112
.withLogConsumer { println("[MODEL] " + it.utf8StringWithoutLineEnding) }
110113
modelServer.start()
111114

@@ -118,9 +121,3 @@ class OAuthTest {
118121
}
119122
}
120123
}
121-
122-
private fun ComposeContainer.getServiceUrl(name: String, port: Int): String {
123-
val h = getServiceHost(name, port)
124-
val p = getServicePort(name, port)
125-
return "http://$h:$p/"
126-
}

0 commit comments

Comments
 (0)