|
2 | 2 |
|
3 | 3 | import org.junit.Before; |
4 | 4 | import org.junit.Test; |
| 5 | +import org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy; |
5 | 6 |
|
6 | 7 | import java.util.HashMap; |
7 | 8 | import java.util.Map; |
@@ -155,6 +156,34 @@ public void shouldReadDockerClientStrategyFromEnvironment() { |
155 | 156 | assertEquals("Docker client strategy is changed by env var", "foo", newConfig().getDockerClientStrategyClassName()); |
156 | 157 | } |
157 | 158 |
|
| 159 | + @Test |
| 160 | + public void shouldUseImplicitDockerClientStrategyWhenDockerHostPropertyIsSet() { |
| 161 | + userProperties.remove("docker.client.strategy"); |
| 162 | + userProperties.put("docker.host", "tcp://1.2.3.4:5678"); |
| 163 | + assertEquals("Docker client strategy is implicitly set when docker host property is set", EnvironmentAndSystemPropertyClientProviderStrategy.class.getCanonicalName(), newConfig().getDockerClientStrategyClassName()); |
| 164 | + } |
| 165 | + |
| 166 | + @Test |
| 167 | + public void shouldNotUseImplicitDockerClientStrategyWhenDockerHostAndStrategyAreBothSet() { |
| 168 | + userProperties.put("docker.client.strategy", "foo"); |
| 169 | + userProperties.put("docker.host", "tcp://1.2.3.4:5678"); |
| 170 | + assertEquals("Docker client strategy is can be explicitly set", "foo", newConfig().getDockerClientStrategyClassName()); |
| 171 | + |
| 172 | + userProperties.remove("docker.client.strategy"); |
| 173 | + |
| 174 | + environment.put("TESTCONTAINERS_DOCKER_CLIENT_STRATEGY", "bar"); |
| 175 | + userProperties.put("docker.client.strategy", "foo"); |
| 176 | + assertEquals("Docker client strategy is can be explicitly set", "bar", newConfig().getDockerClientStrategyClassName()); |
| 177 | + |
| 178 | + environment.put("TESTCONTAINERS_DOCKER_CLIENT_STRATEGY", "bar"); |
| 179 | + userProperties.remove("docker.client.strategy"); |
| 180 | + assertEquals("Docker client strategy is can be explicitly set", "bar", newConfig().getDockerClientStrategyClassName()); |
| 181 | + |
| 182 | + environment.remove("TESTCONTAINERS_DOCKER_CLIENT_STRATEGY"); |
| 183 | + userProperties.put("docker.client.strategy", "foo"); |
| 184 | + assertEquals("Docker client strategy is can be explicitly set", "foo", newConfig().getDockerClientStrategyClassName()); |
| 185 | + } |
| 186 | + |
158 | 187 | @Test |
159 | 188 | public void shouldNotReadReuseFromClasspathProperties() { |
160 | 189 | assertFalse("no reuse by default", newConfig().environmentSupportsReuse()); |
|
0 commit comments