Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.dimafeng.testcontainers

import java.net.URI
import org.testcontainers.containers.localstack.{LocalStackContainer => JavaLocalStackContainer}
import org.testcontainers.localstack.{LocalStackContainer => JavaLocalStackContainer}
import org.testcontainers.utility.DockerImageName
import software.amazon.awssdk.auth.credentials.{AwsBasicCredentials, StaticCredentialsProvider}
import software.amazon.awssdk.regions.Region

case class LocalStackV2Container(
tag: String = LocalStackV2Container.defaultTag,
services: Seq[LocalStackV2Container.Service] = Seq.empty
services: Seq[String] = Seq.empty
) extends SingleContainer[JavaLocalStackContainer] {

override val container: JavaLocalStackContainer = {
Expand All @@ -17,8 +17,8 @@ case class LocalStackV2Container(
c
}

def endpointOverride(service: LocalStackV2Container.Service): URI =
container.getEndpointOverride(service)
def endpoint: URI =
container.getEndpoint

def staticCredentialsProvider: StaticCredentialsProvider =
StaticCredentialsProvider.create(
Expand All @@ -32,11 +32,9 @@ object LocalStackV2Container {
val defaultImage: String = "localstack/localstack"
val defaultTag: String = "4.0.3"

type Service = JavaLocalStackContainer.EnabledService

case class Def(
tag: String = LocalStackV2Container.defaultTag,
services: Seq[LocalStackV2Container.Service] = Seq.empty
services: Seq[String] = Seq.empty
) extends ContainerDef {

override type Container = LocalStackV2Container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.dimafeng.testcontainers

import com.dimafeng.testcontainers.scalatest.TestContainersForAll
import org.scalatest.flatspec.AnyFlatSpec
import org.testcontainers.containers.localstack.LocalStackContainer.Service.S3
import software.amazon.awssdk.services.s3.S3Client
import software.amazon.awssdk.services.s3.model.CreateBucketRequest

Expand All @@ -11,14 +10,14 @@ class LocalStackV2Spec extends AnyFlatSpec with TestContainersForAll {

override def startContainers(): LocalStackV2Container =
LocalStackV2Container
.Def(services = Seq(S3))
.Def(services = Seq("s3"))
.start()

"LocalStackV2 container" should "be started" in withContainers {
localStackContainer =>
val s3: S3Client = S3Client
.builder()
.endpointOverride(localStackContainer.endpointOverride(S3))
.endpointOverride(localStackContainer.endpoint)
.credentialsProvider(localStackContainer.staticCredentialsProvider)
.region(localStackContainer.region)
.build()
Expand Down