Skip to content

Commit e368f71

Browse files
authored
Fixes for new strategies (#7085)
* Improve DockerDesktopClientProviderStrategy description * Fix TestcontainersHostPropertyClientProviderStrategy only when tc.host is present Fixes #7082
1 parent 5c88064 commit e368f71

File tree

3 files changed

+13
-20
lines changed

3 files changed

+13
-20
lines changed

core/src/main/java/org/testcontainers/dockerclient/DockerDesktopClientProviderStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private Path resolveSocketPath() {
4141

4242
@Override
4343
public String getDescription() {
44-
return "Rootless Docker accessed via Unix socket (" + getSocketPath() + ")";
44+
return "Docker accessed via Unix socket (" + getSocketPath() + ")";
4545
}
4646

4747
@Override

core/src/main/java/org/testcontainers/dockerclient/TestcontainersHostPropertyClientProviderStrategy.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public final class TestcontainersHostPropertyClientProviderStrategy extends Dock
1717

1818
public static final int PRIORITY = EnvironmentAndSystemPropertyClientProviderStrategy.PRIORITY - 10;
1919

20-
private final DockerClientConfig dockerClientConfig;
20+
private DockerClientConfig dockerClientConfig;
2121

2222
public TestcontainersHostPropertyClientProviderStrategy() {
2323
this(DefaultDockerClientConfig.createDefaultConfigBuilder());
@@ -28,8 +28,10 @@ public TestcontainersHostPropertyClientProviderStrategy() {
2828
TestcontainersConfiguration.getInstance().getUserProperty("tc.host", null)
2929
);
3030

31-
tcHost.ifPresent(configBuilder::withDockerHost);
32-
this.dockerClientConfig = configBuilder.build();
31+
if (tcHost.isPresent()) {
32+
configBuilder.withDockerHost(tcHost.get());
33+
this.dockerClientConfig = configBuilder.build();
34+
}
3335
}
3436

3537
@Override
@@ -46,6 +48,11 @@ public TransportConfig getTransportConfig() throws InvalidConfigurationException
4648
.build();
4749
}
4850

51+
@Override
52+
protected boolean isApplicable() {
53+
return this.dockerClientConfig != null;
54+
}
55+
4956
@Override
5057
protected int getPriority() {
5158
return PRIORITY;

core/src/test/java/org/testcontainers/dockerclient/TestcontainersHostPropertyClientProviderStrategyTest.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.testcontainers.dockerclient;
22

3-
import com.github.dockerjava.core.DefaultDockerClientConfig;
4-
import org.junit.Before;
53
import org.junit.Rule;
64
import org.junit.Test;
75
import org.junit.runner.RunWith;
@@ -24,16 +22,6 @@ public class TestcontainersHostPropertyClientProviderStrategyTest {
2422

2523
private URI defaultDockerHost;
2624

27-
private com.github.dockerjava.core.SSLConfig defaultSSLConfig;
28-
29-
@Before
30-
public void checkEnvironmentClear() {
31-
// If docker-java picks up non-default settings from the environment, our test needs to know to expect those
32-
DefaultDockerClientConfig defaultConfig = DefaultDockerClientConfig.createDefaultConfigBuilder().build();
33-
this.defaultDockerHost = defaultConfig.getDockerHost();
34-
this.defaultSSLConfig = defaultConfig.getSSLConfig();
35-
}
36-
3725
@Test
3826
public void tcHostPropertyIsProvided() {
3927
Mockito
@@ -43,9 +31,9 @@ public void tcHostPropertyIsProvided() {
4331

4432
TestcontainersHostPropertyClientProviderStrategy strategy = new TestcontainersHostPropertyClientProviderStrategy();
4533

34+
assertThat(strategy.isApplicable()).isTrue();
4635
TransportConfig transportConfig = strategy.getTransportConfig();
4736
assertThat(transportConfig.getDockerHost().toString()).isEqualTo("tcp://127.0.0.1:9000");
48-
assertThat(transportConfig.getSslConfig()).isEqualTo(this.defaultSSLConfig);
4937
}
5038

5139
@Test
@@ -54,8 +42,6 @@ public void tcHostPropertyIsNotProvided() {
5442

5543
TestcontainersHostPropertyClientProviderStrategy strategy = new TestcontainersHostPropertyClientProviderStrategy();
5644

57-
TransportConfig transportConfig = strategy.getTransportConfig();
58-
assertThat(transportConfig.getDockerHost()).isEqualTo(this.defaultDockerHost);
59-
assertThat(transportConfig.getSslConfig()).isEqualTo(this.defaultSSLConfig);
45+
assertThat(strategy.isApplicable()).isFalse();
6046
}
6147
}

0 commit comments

Comments
 (0)