Skip to content

Commit 57ea3ac

Browse files
committed
Update to the new docker client
1 parent fec9edf commit 57ea3ac

File tree

9 files changed

+32
-34
lines changed

9 files changed

+32
-34
lines changed

README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ You can read about reasoning behind it at [Finely Distributed](https://finelydis
1111

1212
## Setup
1313

14-
docker-it-scala works with Spotify's docker-client to communicate to docker engine through *REST API* or *unix socket*.
15-
- [Spotify's docker-client](https://github.com/spotify/docker-client) (used in Whisk)
16-
1714
```scala
1815
libraryDependencies ++= Seq(
1916
"com.whisk" %% "docker-testkit-scalatest" % "0.11.0" % "test"
@@ -145,4 +142,4 @@ class MultiContainerTest
145142
assert(mongodbContainer.mappedPortOpt(27017).nonEmpty, "port 2017 is exposed")
146143
}
147144
}
148-
```
145+
```

build.sbt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
lazy val commonSettings = Seq(
22
organization := "com.whisk",
3-
version := "0.12.0",
4-
scalaVersion := "2.13.6",
5-
crossScalaVersions := Seq("2.13.6", "2.12.15", "2.11.12", "3.0.2"),
3+
version := "0.13.0-PRE",
4+
scalaVersion := "2.13.16",
5+
crossScalaVersions := Seq("2.13.16", "2.12.15", "2.11.12", "3.0.2"),
66
scalacOptions ++= Seq("-feature", "-deprecation"),
77
Test / fork := true,
88
licenses += ("MIT", url("http://opensource.org/licenses/MIT")),
@@ -45,7 +45,7 @@ lazy val core =
4545
name := "docker-testkit-core",
4646
libraryDependencies ++= Seq(
4747
"org.slf4j" % "slf4j-api" % "1.7.25",
48-
"com.spotify" % "docker-client" % "8.16.0",
48+
"org.mandas" % "docker-client" % "9.0.3",
4949
"com.google.code.findbugs" % "jsr305" % "3.0.1"
5050
)
5151
)
@@ -89,7 +89,7 @@ lazy val coreShaded =
8989
name := "docker-testkit-core-shaded",
9090
libraryDependencies ++=
9191
Seq(
92-
"com.spotify" % "docker-client" % "8.16.0" classifier "shaded",
92+
"org.mandas" % "docker-client" % "9.0.3",
9393
"com.google.code.findbugs" % "jsr305" % "3.0.1"
9494
),
9595
target := baseDirectory.value / "target-shaded"

core/src/main/scala/com/whisk/docker/testkit/BaseContainer.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.whisk.docker.testkit
22

33
import java.util.concurrent.atomic.AtomicReference
44

5-
import com.spotify.docker.client.messages.ContainerInfo
5+
import org.mandas.docker.client.messages.ContainerInfo
66
import org.slf4j.LoggerFactory
77

88
import scala.collection.JavaConverters._

core/src/main/scala/com/whisk/docker/testkit/ContainerCommandExecutor.scala

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package com.whisk.docker.testkit
33
import java.nio.charset.StandardCharsets
44
import java.util.concurrent.TimeUnit
55

6-
import com.google.common.io.Closeables
7-
import com.spotify.docker.client.DockerClient.{AttachParameter, RemoveContainerParam}
8-
import com.spotify.docker.client.messages._
9-
import com.spotify.docker.client.{DockerClient, LogMessage, LogStream}
6+
import org.mandas.docker.client.DockerClient.{AttachParameter, RemoveContainerParam}
7+
import org.mandas.docker.client.messages._
8+
import org.mandas.docker.client.{DockerClient, LogMessage, LogStream}
109

1110
import scala.concurrent.{ExecutionContext, Future, Promise}
11+
import scala.util.Try
1212

1313
class StartFailedException(msg: String) extends Exception(msg)
1414

@@ -90,7 +90,7 @@ class ContainerCommandExecutor(val client: DockerClient) {
9090
val str = StandardCharsets.US_ASCII.decode(t.content()).toString
9191
if (f(str)) {
9292
p.trySuccess(())
93-
Closeables.close(stream, true)
93+
Try(client.close())
9494
}
9595
}
9696
})
@@ -113,7 +113,6 @@ class ContainerCommandExecutor(val client: DockerClient) {
113113
)
114114
}
115115

116-
def close(): Unit = {
117-
Closeables.close(client, true)
118-
}
116+
def close(): Unit = Try(client.close())
117+
119118
}

core/src/main/scala/com/whisk/docker/testkit/ContainerSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package com.whisk.docker.testkit
22

33
import java.util.Collections
44

5-
import com.spotify.docker.client.messages.{ContainerConfig, HostConfig, PortBinding}
6-
import com.spotify.docker.client.messages.HostConfig.Bind
5+
import org.mandas.docker.client.messages.{ContainerConfig, HostConfig, PortBinding}
6+
import org.mandas.docker.client.messages.HostConfig.Bind
77

88
import scala.collection.JavaConverters._
99

core/src/main/scala/com/whisk/docker/testkit/DockerContainerManager.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package com.whisk.docker.testkit
22

33
import java.util.concurrent.{ConcurrentHashMap, TimeUnit}
44

5-
import com.spotify.docker.client.exceptions.ImageNotFoundException
6-
import com.spotify.docker.client.messages.ContainerCreation
5+
import org.mandas.docker.client.exceptions.ImageNotFoundException
6+
import org.mandas.docker.client.messages.ContainerCreation
77
import org.slf4j.LoggerFactory
88

99
import scala.concurrent.{Await, ExecutionContext, Future}
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.whisk.docker.testkit
22

3-
import com.spotify.docker.client.messages.PortBinding
3+
import org.mandas.docker.client.messages.PortBinding
44
import com.whisk.docker.testkit.scalatest.DockerTestKitForAll
55
import org.scalatest.Suite
66

77
import scala.concurrent.duration._
88

99
trait DockerClickhouseService extends DockerTestKitForAll { self: Suite =>
10-
override val dockerTestTimeouts: DockerTestTimeouts = DockerTestTimeouts(pull = 10.minutes, init = 10.minutes, stop = 1.minutes)
10+
override val dockerTestTimeouts: DockerTestTimeouts =
11+
DockerTestTimeouts(pull = 10.minutes, init = 10.minutes, stop = 1.minutes)
1112

1213
def ClickhouseAdvertisedPort = 8123
1314
def ClickhouseExposedPort = 8123
@@ -20,14 +21,14 @@ trait DockerClickhouseService extends DockerTestKitForAll { self: Suite =>
2021
.withPortBindings((ClickhouseAdvertisedPort, PortBinding.of("0.0.0.0", ClickhouseExposedPort)))
2122
.withReadyChecker(
2223
DockerReadyChecker
23-
.Jdbc(
24-
driverClass = "com.clickhouse.jdbc.ClickHouseDriver",
25-
user = ClickhouseUser,
26-
password = Some(ClickhousePassword)
27-
)
24+
.Jdbc(
25+
driverClass = "com.clickhouse.jdbc.ClickHouseDriver",
26+
user = ClickhouseUser,
27+
password = Some(ClickhousePassword)
28+
)
2829
.looped(15, 1.second)
29-
)
30-
.toContainer
30+
)
31+
.toContainer
3132

3233
override val managedContainers: ManagedContainers = clickhouseContainer.toManagedContainer
3334
}

samples/src/main/scala/com/whisk/docker/testkit/DockerPostgresService.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.whisk.docker.testkit
22

3-
import com.spotify.docker.client.messages.PortBinding
3+
import org.mandas.docker.client.messages.PortBinding
44
import com.whisk.docker.testkit.scalatest.DockerTestKitForAll
55
import org.scalatest.Suite
66

scalatest/src/main/scala/com/whisk/docker/testkit/scalatest/DockerTestKitForAll.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ package com.whisk.docker.testkit.scalatest
22

33
import java.util.concurrent.ForkJoinPool
44

5-
import com.spotify.docker.client.{DefaultDockerClient, DockerClient}
5+
import org.mandas.docker.client.{DockerClient}
66
import com.whisk.docker.testkit._
77
import org.scalatest.{Args, Status, Suite, SuiteMixin}
88

99
import scala.concurrent.ExecutionContext
1010
import scala.language.implicitConversions
11+
import org.mandas.docker.client.builder.DockerClientBuilder
1112

1213
trait DockerTestKitForAll extends SuiteMixin { self: Suite =>
1314

14-
val dockerClient: DockerClient = DefaultDockerClient.fromEnv().build()
15+
val dockerClient: DockerClient = DockerClientBuilder.fromEnv().build();
1516

1617
val dockerExecutionContext: ExecutionContext = ExecutionContext.fromExecutor(new ForkJoinPool())
1718

0 commit comments

Comments
 (0)