Skip to content

Commit 282a8e0

Browse files
committed
Merge branch '2.4.x'
Closes gh-26125
2 parents b4c9bb0 + 5b836f3 commit 282a8e0

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
*
3030
* @author Phillip Webb
3131
* @author Brian Clozel
32+
* @author Nguyen Sach
3233
* @since 1.3.0
3334
*/
3435
public enum CloudPlatform {
@@ -157,7 +158,8 @@ public boolean isDetected(Environment environment) {
157158
* @return if the platform is active.
158159
*/
159160
public boolean isActive(Environment environment) {
160-
return isEnforced(environment) || isDetected(environment);
161+
String platformProperty = environment.getProperty(PROPERTY_NAME);
162+
return isEnforced(platformProperty) || (platformProperty == null && isDetected(environment));
161163
}
162164

163165
/**

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Collections;
2020
import java.util.HashMap;
2121
import java.util.Map;
22+
import java.util.stream.Stream;
2223

2324
import org.junit.jupiter.api.Test;
2425

@@ -36,6 +37,7 @@
3637
* Tests for {@link CloudPlatform}.
3738
*
3839
* @author Phillip Webb
40+
* @author Nguyen Sach
3941
*/
4042
class CloudPlatformTests {
4143

@@ -202,6 +204,16 @@ void isEnforcedWhenBinderPropertyIsMissingReturnsFalse() {
202204
assertThat(CloudPlatform.KUBERNETES.isEnforced(binder)).isFalse();
203205
}
204206

207+
void isActiveWhenNoCloudPlatformIsEnforcedAndHasKubernetesServiceHostAndKubernetesServicePort() {
208+
Map<String, Object> envVars = new HashMap<>();
209+
envVars.put("EXAMPLE_SERVICE_HOST", "---");
210+
envVars.put("EXAMPLE_SERVICE_PORT", "8080");
211+
Environment environment = getEnvironmentWithEnvVariables(envVars);
212+
((MockEnvironment) environment).setProperty("spring.main.cloud-platform", "none");
213+
assertThat(Stream.of(CloudPlatform.values()).filter((platform) -> platform.isActive(environment)))
214+
.containsExactly(CloudPlatform.NONE);
215+
}
216+
205217
private Environment getEnvironmentWithEnvVariables(Map<String, Object> environmentVariables) {
206218
MockEnvironment environment = new MockEnvironment();
207219
PropertySource<?> propertySource = new SystemEnvironmentPropertySource(

0 commit comments

Comments
 (0)