Skip to content

Commit c323656

Browse files
authored
Addd java DockerComposeContainer's methods (#442)
1 parent 8e925f6 commit c323656

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/main/scala/zio/testcontainers/ZIOTestcontainers.scala

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package zio.testcontainers
22

33
import com.dimafeng.testcontainers.{DockerComposeContainer, SingleContainer}
4-
import org.testcontainers.containers.{ComposeContainer, ContainerState, GenericContainer => JavaGenericContainer}
4+
import org.testcontainers.containers.{
5+
ComposeContainer,
6+
ContainerState,
7+
DockerComposeContainer => JavaDockerComposeContainer,
8+
GenericContainer => JavaGenericContainer,
9+
}
510
import org.testcontainers.lifecycle.Startable
611
import zio.{Scope, Tag, UIO, ULayer, URIO, ZIO, ZLayer}
712

@@ -14,6 +19,13 @@ object ZIOTestcontainers {
1419
port <- ZIO.succeed(container.getServicePort(serviceName, servicePort))
1520
} yield (host, port)
1621

22+
def getHostAndPort(
23+
container: JavaDockerComposeContainer[_],
24+
)(serviceName: String)(servicePort: Int): UIO[(String, Int)] = for {
25+
host <- ZIO.succeed(container.getServiceHost(serviceName, servicePort))
26+
port <- ZIO.succeed(container.getServicePort(serviceName, servicePort))
27+
} yield (host, port)
28+
1729
def getHostAndPort(
1830
container: ContainerState,
1931
)(port: Int): UIO[(String, Int)] = for {

src/main/scala/zio/testcontainers/package.scala

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package zio
22

33
import com.dimafeng.testcontainers.{DockerComposeContainer, SingleContainer}
4-
import org.testcontainers.containers.{ComposeContainer, ContainerState, GenericContainer => JavaGenericContainer}
4+
import org.testcontainers.containers.{
5+
ComposeContainer,
6+
ContainerState,
7+
DockerComposeContainer => JavaDockerComposeContainer,
8+
GenericContainer => JavaGenericContainer,
9+
}
510
import org.testcontainers.lifecycle.Startable
611

712
package object testcontainers {
@@ -13,6 +18,14 @@ package object testcontainers {
1318

1419
}
1520

21+
implicit final class JavaDockerComposeContainerOps(private val container: JavaDockerComposeContainer[_])
22+
extends AnyVal {
23+
24+
def getHostAndPort(serviceName: String)(servicePort: Int): UIO[(String, Int)] =
25+
ZIOTestcontainers.getHostAndPort(container)(serviceName)(servicePort)
26+
27+
}
28+
1629
implicit final class ContainerStateOps(private val self: ContainerState) extends AnyVal {
1730

1831
def getHostAndPort(port: Int): UIO[(String, Int)] =

0 commit comments

Comments
 (0)