/
Containers.scala
31 lines (25 loc) · 979 Bytes
/
Containers.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.acme.api.utils
import com.dimafeng.testcontainers._
import com.acme.containers.BaseContainers
import org.scalatest.Suite
import com.dimafeng.testcontainers.lifecycle.and
import org.testcontainers.lifecycle.Startables
trait Containers extends BaseContainers {
self: Suite =>
override type Containers = KafkaContainer and GenericContainer and MySQLContainer
protected lazy val retailProductServiceContainer: GenericContainer = baseAppContainer(
name = "retail-product-app",
jarName = "run.jar",
mainClass = "com.acme.service.RetailProductApp",
baseFolder = "retailProductService/target/scala-2.13",
envVars = Map(
"ENVIRONMENT" -> "local",
),
containerDependencies = List(kafkaContainer)
)
override def startContainers: Containers = {
Startables.deepStart(kafkaContainer, mySQLContainer).join()
retailProductServiceContainer.start()
kafkaContainer and retailProductServiceContainer and mySQLContainer
}
}