Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: update pollux to use shared postgres container #485

Merged
merged 2 commits into from
Mar 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions pollux/lib/project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ object Dependencies {
val zioCatsInterop = "3.3.0"
val prismSdk = "v1.4.1" // scala-steward:off
val iris = "0.1.0"
val shared = "0.2.0"
val shared = "0.3.0"
val mercury = "0.22.0"
val castor = "0.8.2"
val castor = "0.8.3"
val flyway = "9.8.3"
val testContainersScalaPostgresql = "0.40.11"
val quill = "4.6.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import io.getquill.*
import io.getquill.idiom.*
import io.getquill.util.Messages.{QuatTrace, TraceType, traceQuats}
import io.iohk.atala.test.container.MigrationAspects.*
import io.iohk.atala.test.container.PostgresTestContainer.*
import io.iohk.atala.test.container.PostgresLayer.*
import zio.*
import zio.interop.catz.*
import zio.interop.catz.implicits.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import io.iohk.atala.pollux.sql.model.VerifiableCredentialSchema
import io.iohk.atala.pollux.sql.model.VerifiableCredentialSchema.sql
import io.iohk.atala.pollux.sql.model.VerifiableCredentialSchema
import io.iohk.atala.test.container.MigrationAspects.*
import io.iohk.atala.test.container.PostgresTestContainer.*
import io.iohk.atala.test.container.PostgresLayer.*
import zio.*
import zio.interop.catz.*
import zio.interop.catz.implicits.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ import io.iohk.atala.pollux.core.model.{
}
import io.iohk.atala.pollux.core.repository.VerificationPolicyRepository
import io.iohk.atala.pollux.sql.model.VerifiableCredentialSchema
import io.iohk.atala.pollux.sql.model.db.{VerificationPolicySql}
import io.iohk.atala.pollux.sql.model.db.VerificationPolicySql
import io.iohk.atala.pollux.sql.repository.JdbcVerificationPolicyRepository
import io.iohk.atala.test.container.MigrationAspects.*
import io.iohk.atala.test.container.PostgresTestContainer.*
import io.iohk.atala.test.container.PostgresLayer.*
import zio.*
import zio.interop.catz.*
import zio.interop.catz.implicits.*
Expand All @@ -40,7 +40,7 @@ import scala.io.Source

object VerificationPolicySqlIntegrationSpec extends ZIOSpecDefault {

private val pgLayer = postgresLayer(verbose = false)
private val pgLayer = postgresLayer()
private val transactorLayer =
pgLayer >>> hikariConfigLayer >>> transactor
private val repositoryLayer =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import io.iohk.atala.pollux.core.model._
import io.iohk.atala.pollux.core.repository._
import io.iohk.atala.pollux.sql.repository.DbConfig
import io.iohk.atala.pollux.sql.repository.Migrations
import io.iohk.atala.test.container.PostgresTestContainer.*
import io.iohk.atala.test.container.PostgresLayer.*
import zio._
import zio.interop.catz._
import zio.test._
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ import cats.effect.std.Dispatcher
import cats.effect.{Async, Resource}
import cats.syntax.functor.*
import com.dimafeng.testcontainers.PostgreSQLContainer
import com.dimafeng.testcontainers.JdbcDatabaseContainer
import com.zaxxer.hikari.HikariConfig
import doobie.hikari.HikariTransactor
import doobie.util.ExecutionContexts
import doobie.util.transactor.Transactor
import io.iohk.atala.shared.test.containers.PostgresTestContainer.postgresContainer
import org.testcontainers.containers.output.OutputFrame
import org.testcontainers.utility.DockerImageName
import zio.*
Expand All @@ -18,27 +20,15 @@ import zio.interop.catz.*
import java.util.function.Consumer
import scala.concurrent.ExecutionContext

object PostgresTestContainer {
object PostgresLayer {

def postgresLayer(
imageName: Option[String] = Some("postgres"),
verbose: Boolean = false
): ZLayer[Any, Nothing, PostgreSQLContainer] =
ZLayer.scoped {
acquireRelease(ZIO.attemptBlockingIO {
val container = new PostgreSQLContainer(
dockerImageNameOverride = imageName.map(DockerImageName.parse)
)

if (verbose) {
container.container
.withLogConsumer(new Consumer[OutputFrame] {
override def accept(t: OutputFrame): Unit = println(t.getUtf8String)
})
container.container
.withCommand("postgres", "-c", "log_statement=all", "-c", "log_destination=stderr")
}

val container = postgresContainer(imageName, verbose)
container.start()
container
}.orDie)(container => attemptBlockingIO(container.stop()).orDie)
Expand Down