mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-26 20:09:02 +00:00
Merge branch '4.0.x'
Closes gh-49597
This commit is contained in:
+10
-2
@@ -59,9 +59,17 @@ public class ResolvedDockerHost extends DockerHost {
|
||||
public String getAddress() {
|
||||
String address = super.getAddress();
|
||||
if (address == null) {
|
||||
address = getDefaultAddress();
|
||||
return getDefaultAddress();
|
||||
}
|
||||
return address.startsWith(UNIX_SOCKET_PREFIX) ? address.substring(UNIX_SOCKET_PREFIX.length()) : address;
|
||||
if (address.startsWith(UNIX_SOCKET_PREFIX)) {
|
||||
return address.substring(UNIX_SOCKET_PREFIX.length());
|
||||
}
|
||||
if (address.startsWith("tcp://")) {
|
||||
while (address.endsWith("/")) {
|
||||
address = address.substring(0, address.length() - 1);
|
||||
}
|
||||
}
|
||||
return address;
|
||||
}
|
||||
|
||||
public boolean isRemote() {
|
||||
|
||||
+25
@@ -140,6 +140,17 @@ class ResolvedDockerHostTests {
|
||||
assertThat(dockerHost.getCertificatePath()).isEqualTo("/cert-path");
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveWhenDockerHostAddressIsTcpWithTrailingReturnsAddress() {
|
||||
ResolvedDockerHost dockerHost = ResolvedDockerHost.from(this.environment::get,
|
||||
new DockerConnectionConfiguration.Host("tcp://192.168.99.100:2376/", true, "/cert-path"));
|
||||
assertThat(dockerHost.isLocalFileReference()).isFalse();
|
||||
assertThat(dockerHost.isRemote()).isTrue();
|
||||
assertThat(dockerHost.getAddress()).isEqualTo("tcp://192.168.99.100:2376");
|
||||
assertThat(dockerHost.isSecure()).isTrue();
|
||||
assertThat(dockerHost.getCertificatePath()).isEqualTo("/cert-path");
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveWhenEnvironmentAddressIsLocalReturnsAddress(@TempDir Path tempDir) throws IOException {
|
||||
String socketFilePath = Files.createTempFile(tempDir, "remote-transport", null).toAbsolutePath().toString();
|
||||
@@ -180,6 +191,20 @@ class ResolvedDockerHostTests {
|
||||
assertThat(dockerHost.getCertificatePath()).isEqualTo("/cert-path");
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveWhenEnvironmentAddressIsTcpWithTrailingSlashReturnsAddress() {
|
||||
this.environment.put("DOCKER_HOST", "tcp://192.168.99.100:2376/");
|
||||
this.environment.put("DOCKER_TLS_VERIFY", "1");
|
||||
this.environment.put("DOCKER_CERT_PATH", "/cert-path");
|
||||
ResolvedDockerHost dockerHost = ResolvedDockerHost.from(this.environment::get,
|
||||
new DockerConnectionConfiguration.Host("tcp://1.1.1.1"));
|
||||
assertThat(dockerHost.isLocalFileReference()).isFalse();
|
||||
assertThat(dockerHost.isRemote()).isTrue();
|
||||
assertThat(dockerHost.getAddress()).isEqualTo("tcp://192.168.99.100:2376");
|
||||
assertThat(dockerHost.isSecure()).isTrue();
|
||||
assertThat(dockerHost.getCertificatePath()).isEqualTo("/cert-path");
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveWithDockerHostContextReturnsAddress() throws Exception {
|
||||
this.environment.put("DOCKER_CONFIG", pathToResource("with-default-context/config.json"));
|
||||
|
||||
Reference in New Issue
Block a user