Skip to content

Commit 53ffb20

Browse files
authored
Merge pull request #137 from guardian/explain-that-docker-desktop-is-required
Explain that Docker Desktop is required to run `S3ObjectFetchingTest`
2 parents 994c3b1 + c02d85c commit 53ffb20

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

aws-s3/aws-sdk-v2/src/test/scala/com/gu/etagcaching/aws/sdkv2/s3/S3ObjectFetchingTest.scala

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import com.gu.etagcaching.aws.sdkv2.s3.ExampleParser.parseFruit
88
import com.gu.etagcaching.aws.sdkv2.s3.S3ClientForS3Mock.createS3clientFor
99
import com.gu.etagcaching.aws.sdkv2.s3.TestS3Objects.bucket
1010
import com.gu.etagcaching.aws.sdkv2.s3.response.Transformer.Bytes
11-
import org.scalatest.{BeforeAndAfter, BeforeAndAfterAll, OptionValues}
1211
import org.scalatest.concurrent.{IntegrationPatience, ScalaFutures}
1312
import org.scalatest.flatspec.AnyFlatSpec
1413
import org.scalatest.matchers.should.Matchers
14+
import org.scalatest.{BeforeAndAfterAll, OptionValues}
15+
import org.testcontainers.DockerClientFactory
1516
import software.amazon.awssdk.services.s3.S3AsyncClient
1617
import software.amazon.awssdk.services.s3.model.PutObjectRequest
1718

@@ -31,9 +32,20 @@ case class TestS3Objects(id: Int) {
3132
val example: ObjectId = ObjectId(bucket, s"$id/path")
3233
val nonExistent: ObjectId = ObjectId(bucket, s"$id/nothing-should-be-here")
3334
}
34-
3535
class S3ObjectFetchingTest extends AnyFlatSpec with Matchers with ScalaFutures with OptionValues with IntegrationPatience with BeforeAndAfterAll {
3636

37+
require(DockerClientFactory.instance().isDockerAvailable,
38+
"""
39+
|****
40+
|
41+
|This test uses S3Mock/testcontainers/Docker, and requires Docker Engine to be running on the machine -
42+
|specifically, on developer laptops it requires *Docker Desktop*.
43+
|
44+
|See https://github.com/guardian/etag-caching/pull/137 for more details!
45+
|
46+
|****
47+
|""".stripMargin
48+
)
3749
val s3Mock: S3MockContainer = new S3MockContainer("latest").withInitialBuckets(TestS3Objects.bucket)
3850
override def beforeAll(): Unit = s3Mock.start()
3951
override def afterAll(): Unit = s3Mock.stop()

0 commit comments

Comments
 (0)