commit
6470748d6d
|
@ -57,8 +57,11 @@ public class ResolvedDockerHost extends DockerHost {
|
|||
|
||||
@Override
|
||||
public String getAddress() {
|
||||
return super.getAddress().startsWith(UNIX_SOCKET_PREFIX)
|
||||
? super.getAddress().substring(UNIX_SOCKET_PREFIX.length()) : super.getAddress();
|
||||
String address = super.getAddress();
|
||||
if (address == null) {
|
||||
address = getDefaultAddress();
|
||||
}
|
||||
return address.startsWith(UNIX_SOCKET_PREFIX) ? address.substring(UNIX_SOCKET_PREFIX.length()) : address;
|
||||
}
|
||||
|
||||
public boolean isRemote() {
|
||||
|
@ -100,7 +103,11 @@ public class ResolvedDockerHost extends DockerHost {
|
|||
DockerContext context = config.getContext();
|
||||
return new ResolvedDockerHost(context.getDockerHost(), context.isTlsVerify(), context.getTlsPath());
|
||||
}
|
||||
return new ResolvedDockerHost(Platform.isWindows() ? WINDOWS_NAMED_PIPE_PATH : DOMAIN_SOCKET_PATH);
|
||||
return new ResolvedDockerHost(getDefaultAddress());
|
||||
}
|
||||
|
||||
private static String getDefaultAddress() {
|
||||
return Platform.isWindows() ? WINDOWS_NAMED_PIPE_PATH : DOMAIN_SOCKET_PATH;
|
||||
}
|
||||
|
||||
private static boolean isTrue(String value) {
|
||||
|
|
|
@ -39,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
* Tests for {@link ResolvedDockerHost}.
|
||||
*
|
||||
* @author Scott Frederick
|
||||
* @author Moritz Halbritter
|
||||
*/
|
||||
class ResolvedDockerHostTests {
|
||||
|
||||
|
@ -64,6 +65,16 @@ class ResolvedDockerHostTests {
|
|||
assertThat(dockerHost.getCertificatePath()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnabledOnOs(OS.WINDOWS)
|
||||
void resolveWhenUsingDefaultContextReturnsWindowsDefault() {
|
||||
this.environment.put("DOCKER_CONTEXT", "default");
|
||||
ResolvedDockerHost dockerHost = ResolvedDockerHost.from(this.environment::get, null);
|
||||
assertThat(dockerHost.getAddress()).isEqualTo("//./pipe/docker_engine");
|
||||
assertThat(dockerHost.isSecure()).isFalse();
|
||||
assertThat(dockerHost.getCertificatePath()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisabledOnOs(OS.WINDOWS)
|
||||
void resolveWhenDockerHostAddressIsNullReturnsLinuxDefault() throws Exception {
|
||||
|
@ -75,6 +86,16 @@ class ResolvedDockerHostTests {
|
|||
assertThat(dockerHost.getCertificatePath()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisabledOnOs(OS.WINDOWS)
|
||||
void resolveWhenUsingDefaultContextReturnsLinuxDefault() {
|
||||
this.environment.put("DOCKER_CONTEXT", "default");
|
||||
ResolvedDockerHost dockerHost = ResolvedDockerHost.from(this.environment::get, null);
|
||||
assertThat(dockerHost.getAddress()).isEqualTo("/var/run/docker.sock");
|
||||
assertThat(dockerHost.isSecure()).isFalse();
|
||||
assertThat(dockerHost.getCertificatePath()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveWhenDockerHostAddressIsLocalReturnsAddress(@TempDir Path tempDir) throws IOException {
|
||||
String socketFilePath = Files.createTempFile(tempDir, "remote-transport", null).toAbsolutePath().toString();
|
||||
|
|
Loading…
Reference in New Issue