Skip to content

Commit ad22e22

Browse files
authored
Merge pull request #215 from mdedetrich/add-startup-check-strategy
Add startupCheckStrategy
2 parents 489a5e8 + 976bb10 commit ad22e22

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

core/src/main/scala/com/dimafeng/testcontainers/FixedHostPortGenericContainer.scala

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.dimafeng.testcontainers
22

33
import com.dimafeng.testcontainers.GenericContainer.FileSystemBind
4+
import org.testcontainers.containers.startupcheck.StartupCheckStrategy
45
import org.testcontainers.containers.wait.strategy.WaitStrategy
56
import org.testcontainers.containers.{BindMode, FixedHostPortGenericContainer => JavaFixedHostPortGenericContainer}
67

@@ -12,7 +13,8 @@ class FixedHostPortGenericContainer(imageName: String,
1213
waitStrategy: Option[WaitStrategy] = None,
1314
exposedHostPort: Int,
1415
exposedContainerPort: Int,
15-
fileSystemBind: Seq[FileSystemBind] = Seq()
16+
fileSystemBind: Seq[FileSystemBind] = Seq(),
17+
startupCheckStrategy: Option[StartupCheckStrategy] = None
1618
) extends SingleContainer[JavaFixedHostPortGenericContainer[_]] {
1719

1820
override implicit val container: JavaFixedHostPortGenericContainer[_] = new JavaFixedHostPortGenericContainer(imageName)
@@ -33,6 +35,7 @@ class FixedHostPortGenericContainer(imageName: String,
3335
container.withFileSystemBind(hostFilePath, containerFilePath, bindMode)
3436
}
3537
waitStrategy.foreach(container.waitingFor)
38+
startupCheckStrategy.foreach(container.withStartupCheckStrategy)
3639
container.withFixedExposedPort(exposedHostPort, exposedContainerPort)
3740
}
3841

core/src/main/scala/com/dimafeng/testcontainers/GenericContainer.scala

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.dimafeng.testcontainers
33
import java.util.concurrent.Future
44

55
import com.dimafeng.testcontainers.GenericContainer.{FileSystemBind, DockerImage}
6+
import org.testcontainers.containers.startupcheck.StartupCheckStrategy
67
import org.testcontainers.containers.wait.strategy.WaitStrategy
78
import org.testcontainers.containers.{BindMode, GenericContainer => JavaGenericContainer}
89
import org.testcontainers.images.ImagePullPolicy
@@ -25,7 +26,8 @@ class GenericContainer(
2526
labels: Map[String, String] = Map.empty,
2627
tmpFsMapping: Map[String, String] = Map.empty,
2728
imagePullPolicy: Option[ImagePullPolicy] = None,
28-
fileSystemBind: Seq[FileSystemBind] = Seq()
29+
fileSystemBind: Seq[FileSystemBind] = Seq(),
30+
startupCheckStrategy: Option[StartupCheckStrategy] = None
2931
) = this({
3032
val underlying: JavaGenericContainer[_] = dockerImage match {
3133
case DockerImage(Left(imageFromDockerfile)) => new JavaGenericContainer(imageFromDockerfile)
@@ -49,6 +51,8 @@ class GenericContainer(
4951
}
5052
waitStrategy.foreach(underlying.waitingFor)
5153

54+
startupCheckStrategy.foreach(underlying.withStartupCheckStrategy)
55+
5256
if (labels.nonEmpty) {
5357
underlying.withLabels(labels.asJava)
5458
}

0 commit comments

Comments
 (0)