Commit 282a8e09 authored by Phillip Webb's avatar Phillip Webb

Merge branch '2.4.x'

Closes gh-26125
parents b4c9bb0d 5b836f3a
...@@ -29,6 +29,7 @@ import org.springframework.core.env.StandardEnvironment; ...@@ -29,6 +29,7 @@ import org.springframework.core.env.StandardEnvironment;
* *
* @author Phillip Webb * @author Phillip Webb
* @author Brian Clozel * @author Brian Clozel
* @author Nguyen Sach
* @since 1.3.0 * @since 1.3.0
*/ */
public enum CloudPlatform { public enum CloudPlatform {
...@@ -157,7 +158,8 @@ public enum CloudPlatform { ...@@ -157,7 +158,8 @@ public enum CloudPlatform {
* @return if the platform is active. * @return if the platform is active.
*/ */
public boolean isActive(Environment environment) { public boolean isActive(Environment environment) {
return isEnforced(environment) || isDetected(environment); String platformProperty = environment.getProperty(PROPERTY_NAME);
return isEnforced(platformProperty) || (platformProperty == null && isDetected(environment));
} }
/** /**
......
...@@ -19,6 +19,7 @@ package org.springframework.boot.cloud; ...@@ -19,6 +19,7 @@ package org.springframework.boot.cloud;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -36,6 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -36,6 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* Tests for {@link CloudPlatform}. * Tests for {@link CloudPlatform}.
* *
* @author Phillip Webb * @author Phillip Webb
* @author Nguyen Sach
*/ */
class CloudPlatformTests { class CloudPlatformTests {
...@@ -202,6 +204,16 @@ class CloudPlatformTests { ...@@ -202,6 +204,16 @@ class CloudPlatformTests {
assertThat(CloudPlatform.KUBERNETES.isEnforced(binder)).isFalse(); assertThat(CloudPlatform.KUBERNETES.isEnforced(binder)).isFalse();
} }
void isActiveWhenNoCloudPlatformIsEnforcedAndHasKubernetesServiceHostAndKubernetesServicePort() {
Map<String, Object> envVars = new HashMap<>();
envVars.put("EXAMPLE_SERVICE_HOST", "---");
envVars.put("EXAMPLE_SERVICE_PORT", "8080");
Environment environment = getEnvironmentWithEnvVariables(envVars);
((MockEnvironment) environment).setProperty("spring.main.cloud-platform", "none");
assertThat(Stream.of(CloudPlatform.values()).filter((platform) -> platform.isActive(environment)))
.containsExactly(CloudPlatform.NONE);
}
private Environment getEnvironmentWithEnvVariables(Map<String, Object> environmentVariables) { private Environment getEnvironmentWithEnvVariables(Map<String, Object> environmentVariables) {
MockEnvironment environment = new MockEnvironment(); MockEnvironment environment = new MockEnvironment();
PropertySource<?> propertySource = new SystemEnvironmentPropertySource( PropertySource<?> propertySource = new SystemEnvironmentPropertySource(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment