Skip to content

Commit

Permalink
ComposeContainer (#372)
Browse files Browse the repository at this point in the history
  • Loading branch information
sideeffffect authored Oct 14, 2024
1 parent c76b9c7 commit f0e12ee
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.8.0")
addSbtPlugin("com.github.sideeffffect" % "sbt-decent-scala" % "1.0.27-1-d4333dfd")
addSbtPlugin("com.github.sideeffffect" % "sbt-decent-scala" % "1.0.57-2-c02df126")
9 changes: 8 additions & 1 deletion src/main/scala/zio/testcontainers/ZIOTestcontainers.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
package zio.testcontainers

import com.dimafeng.testcontainers.{DockerComposeContainer, SingleContainer}
import org.testcontainers.containers.{GenericContainer => JavaGenericContainer}
import org.testcontainers.containers.{ComposeContainer, GenericContainer => JavaGenericContainer}
import org.testcontainers.lifecycle.Startable
import zio.{Scope, Tag, UIO, ULayer, URIO, ZIO, ZLayer}

object ZIOTestcontainers {

def getHostAndPort(
container: ComposeContainer
)(serviceName: String)(servicePort: Int): UIO[(String, Int)] = for {
host <- ZIO.succeed(container.getServiceHost(serviceName, servicePort))
port <- ZIO.succeed(container.getServicePort(serviceName, servicePort))
} yield (host, port)

def getHostAndPort(
container: DockerComposeContainer
)(serviceName: String)(servicePort: Int): UIO[(String, Int)] = for {
Expand Down
9 changes: 8 additions & 1 deletion src/main/scala/zio/testcontainers/package.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
package zio

import com.dimafeng.testcontainers.{DockerComposeContainer, SingleContainer}
import org.testcontainers.containers.{GenericContainer => JavaGenericContainer}
import org.testcontainers.containers.{ComposeContainer, GenericContainer => JavaGenericContainer}
import org.testcontainers.lifecycle.Startable

package object testcontainers {

implicit final class ComposeContainerOps(private val container: ComposeContainer) extends AnyVal {

def getHostAndPort(serviceName: String)(servicePort: Int): UIO[(String, Int)] =
ZIOTestcontainers.getHostAndPort(container)(serviceName)(servicePort)

}

implicit final class DockerComposeContainerOps(private val container: DockerComposeContainer) extends AnyVal {

def getHostAndPort(serviceName: String)(servicePort: Int): UIO[(String, Int)] =
Expand Down

0 comments on commit f0e12ee

Please sign in to comment.