diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/KubernetesNamespaceProviderTests.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/KubernetesNamespaceProviderTests.java index 316c751f..8b7a4c76 100644 --- a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/KubernetesNamespaceProviderTests.java +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/KubernetesNamespaceProviderTests.java @@ -16,7 +16,6 @@ package org.springframework.cloud.kubernetes.commons; -import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -39,22 +38,16 @@ public class KubernetesNamespaceProviderTests { private static final String PATH = "/some/path"; - private static final String FOUNT_IT = "foundIt"; - private MockedStatic paths; - private MockedStatic files; - @BeforeEach public void before() { paths = Mockito.mockStatic(Paths.class); - files = Mockito.mockStatic(Files.class); } @AfterEach public void after() { paths.close(); - files.close(); } @Test @@ -76,15 +69,7 @@ public class KubernetesNamespaceProviderTests { private Path serviceAccountFileResolved(boolean present, String actualPath) { Path path = Mockito.mock(Path.class); paths.when(() -> Paths.get(actualPath)).thenReturn(path); - files.when(() -> Files.isRegularFile(path)).thenReturn(present); return path; } - /* - * returns "foundIt" for service account namespace - */ - private void mockServiceAccountNamespace(Path path) { - files.when(() -> Files.readAllBytes(path)).thenReturn(FOUNT_IT.getBytes()); - } - } diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index 167c6fc2..ae3d3b67 100644 --- a/spring-cloud-kubernetes-dependencies/pom.xml +++ b/spring-cloud-kubernetes-dependencies/pom.xml @@ -35,7 +35,7 @@ 1.6.0.Final 1.15.2 0.13.0 - 4.13.2 + 4.13.3 11.0.2 1.5.5 0.1.2 diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8AutoConfigurationTests.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8AutoConfigurationTests.java index 914582fd..0c83decf 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8AutoConfigurationTests.java +++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8AutoConfigurationTests.java @@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; "spring.cloud.kubernetes.client.proxy-password=myproxypassword" }) public class Fabric8AutoConfigurationTests { - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); @Autowired ConfigurableApplicationContext context; diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8HealthIndicatorDisabledTest.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8HealthIndicatorDisabledTest.java index 96524546..0a899277 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8HealthIndicatorDisabledTest.java +++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8HealthIndicatorDisabledTest.java @@ -37,7 +37,7 @@ import static org.hamcrest.Matchers.not; properties = { "management.health.kubernetes.enabled=false" }) public class Fabric8HealthIndicatorDisabledTest { - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); @Autowired private WebTestClient webClient; diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideHealthIndicatorTest.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideHealthIndicatorTest.java index 8088f92b..21f34deb 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideHealthIndicatorTest.java +++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideHealthIndicatorTest.java @@ -40,7 +40,7 @@ import org.springframework.test.web.reactive.server.WebTestClient; properties = { "management.endpoint.health.show-details=always" }) public class Fabric8NotInsideHealthIndicatorTest { - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); @Autowired private WebTestClient webClient; diff --git a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideInfoContributorTest.java b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideInfoContributorTest.java index 15eb3c71..6533edf8 100644 --- a/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideInfoContributorTest.java +++ b/spring-cloud-kubernetes-fabric8-autoconfig/src/test/java/org/springframework/cloud/kubernetes/Fabric8NotInsideInfoContributorTest.java @@ -39,7 +39,7 @@ import org.springframework.test.web.reactive.server.WebTestClient; "management.info.kubernetes.enabled=true" }) public class Fabric8NotInsideInfoContributorTest { - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); @Autowired private WebTestClient webClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsFromFilePathsTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsFromFilePathsTests.java index a0ec697e..066d558c 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsFromFilePathsTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsFromFilePathsTests.java @@ -66,7 +66,7 @@ public class ConfigMapsFromFilePathsTests { + FIRST_FILE_NAME; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsMixedTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsMixedTests.java index f5a24336..3854fd19 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsMixedTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsMixedTests.java @@ -55,7 +55,7 @@ public class ConfigMapsMixedTests { protected static final String APPLICATION_NAME = "configmap-mixed-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java index dcf20fbd..eb26903a 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java @@ -35,7 +35,7 @@ import static org.springframework.cloud.kubernetes.fabric8.config.ConfigMapTestU public class ConfigMapsTest { @Rule - public KubernetesServer server = new KubernetesServer(); + public KubernetesServer server = new KubernetesServer(false); @Test public void testConfigMapList() { diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTests.java index 5e07dfa8..3d137c7a 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTests.java @@ -49,7 +49,7 @@ public class ConfigMapsTests { private static final String APPLICATION_NAME = "configmap-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithActiveProfilesNameTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithActiveProfilesNameTests.java index aa9771b3..9d58e791 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithActiveProfilesNameTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithActiveProfilesNameTests.java @@ -52,7 +52,7 @@ public class ConfigMapsWithActiveProfilesNameTests { private static final String APPLICATION_NAME = "configmap-with-active-profile-name-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfileExpressionTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfileExpressionTests.java index a2fefb6c..ca5bc0d3 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfileExpressionTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfileExpressionTests.java @@ -46,7 +46,7 @@ import org.springframework.test.web.reactive.server.WebTestClient; public class ConfigMapsWithProfileExpressionTests { @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static final String APPLICATION_NAME = "configmap-with-profile-example"; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesNoActiveProfileTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesNoActiveProfileTests.java index ee46439a..72651188 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesNoActiveProfileTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesNoActiveProfileTests.java @@ -49,7 +49,7 @@ public class ConfigMapsWithProfilesNoActiveProfileTests { private static final String APPLICATION_NAME = "configmap-with-profile-no-active-profiles-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesTests.java index 8be8d701..ed1c54c7 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithProfilesTests.java @@ -48,7 +48,7 @@ public class ConfigMapsWithProfilesTests { private static final String APPLICATION_NAME = "configmap-with-profile-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithoutProfilesTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithoutProfilesTests.java index fe384179..6457309f 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithoutProfilesTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsWithoutProfilesTests.java @@ -45,7 +45,7 @@ public class ConfigMapsWithoutProfilesTests { private static final String APPLICATION_NAME = "configmap-without-profile-example"; @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/CoreTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/CoreTest.java index b0aae403..3b57d75f 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/CoreTest.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/CoreTest.java @@ -43,7 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class CoreTest { @ClassRule - public static KubernetesServer mockServer = new KubernetesServer(); + public static KubernetesServer mockServer = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtilsTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtilsTests.java index 8706f544..86bdf2ce 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtilsTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtilsTests.java @@ -28,7 +28,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class Fabric8ConfigUtilsTests { @ClassRule - public static final KubernetesServer server = new KubernetesServer(); + public static final KubernetesServer server = new KubernetesServer(false); @Test public void testGetApplicationNamespaceNotPresent() { diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/HealthIndicatorTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/HealthIndicatorTest.java index 25e70e87..cb6132fa 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/HealthIndicatorTest.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/HealthIndicatorTest.java @@ -40,7 +40,7 @@ import static org.hamcrest.Matchers.containsString; public class HealthIndicatorTest { @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/KubernetesConfigTestBase.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/KubernetesConfigTestBase.java index fa066d0b..0af83c2a 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/KubernetesConfigTestBase.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/KubernetesConfigTestBase.java @@ -37,7 +37,7 @@ import org.springframework.context.annotation.Configuration; public class KubernetesConfigTestBase { @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static ConfigurableApplicationContext context; diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/MultipleConfigMapsTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/MultipleConfigMapsTests.java index a5afa5e0..370ee7ef 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/MultipleConfigMapsTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/MultipleConfigMapsTests.java @@ -45,7 +45,7 @@ import org.springframework.test.web.reactive.server.WebTestClient; public class MultipleConfigMapsTests { @ClassRule - public static KubernetesServer server = new KubernetesServer(); + public static KubernetesServer server = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java index 04bc539f..0f630727 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTest.java @@ -46,7 +46,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class KubernetesDiscoveryClientTest { @ClassRule - public static KubernetesServer mockServer = new KubernetesServer(); + public static KubernetesServer mockServer = new KubernetesServer(false); private static KubernetesClient mockClient; diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/support/KubernetesExtension.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/support/KubernetesExtension.java index 761b9b6e..36ed85f0 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/support/KubernetesExtension.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/support/KubernetesExtension.java @@ -35,7 +35,7 @@ import org.junit.jupiter.api.extension.ParameterResolver; */ public class KubernetesExtension implements ParameterResolver, BeforeEachCallback, AfterEachCallback { - private final KubernetesServer mockServer = new KubernetesServer(); + private final KubernetesServer mockServer = new KubernetesServer(false); @Override public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext context) { diff --git a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerAllNamespacesTests.java b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerAllNamespacesTests.java index 4ae5d117..16735598 100644 --- a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerAllNamespacesTests.java +++ b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerAllNamespacesTests.java @@ -33,7 +33,7 @@ import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = "spring.cloud.kubernetes.discovery.all-namespaces=true") -@EnableKubernetesMockClient(crud = true) +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerAllNamespacesTests { @Autowired diff --git a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerTests.java b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerTests.java index 4b7a117e..24cad5f5 100644 --- a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerTests.java +++ b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerTests.java @@ -31,7 +31,7 @@ import org.springframework.boot.web.server.LocalServerPort; import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@EnableKubernetesMockClient(crud = true) +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerTests { @Autowired diff --git a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerWithServiceTests.java b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerWithServiceTests.java index 773d4798..25b735bf 100644 --- a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerWithServiceTests.java +++ b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/LoadBalancerWithServiceTests.java @@ -16,35 +16,35 @@ package org.springframework.cloud.kubernetes.fabric8.loadbalancer; -import java.util.HashMap; +import java.util.Collections; -import io.fabric8.kubernetes.api.model.Service; -import io.fabric8.kubernetes.api.model.ServiceBuilder; +import io.fabric8.kubernetes.api.model.ServicePortBuilder; +import io.fabric8.kubernetes.api.model.ServiceSpecBuilder; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.KubernetesClient; -import io.specto.hoverfly.junit.core.Hoverfly; -import io.specto.hoverfly.junit5.HoverflyExtension; +import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesServiceInstance; import org.springframework.test.context.TestPropertySource; import org.springframework.web.client.RestTemplate; -import static io.specto.hoverfly.junit.core.SimulationSource.dsl; -import static io.specto.hoverfly.junit.dsl.HoverflyDsl.service; -import static io.specto.hoverfly.junit.dsl.HttpBodyConverter.json; -import static io.specto.hoverfly.junit.dsl.ResponseCreators.success; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "spring.cloud.kubernetes.loadbalancer.mode=SERVICE", "spring.cloud.kubernetes.loadbalancer.enabled=true" }) -@ExtendWith(HoverflyExtension.class) +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerWithServiceTests { private static final Logger LOGGER = LoggerFactory.getLogger(LoadBalancerWithServiceTests.class); @@ -52,36 +52,53 @@ class LoadBalancerWithServiceTests { @Autowired RestTemplate restTemplate; - @Autowired - KubernetesClient client; + @LocalServerPort + int randomServerPort; + + @MockBean + Fabric8ServiceInstanceMapper mapper; + + static KubernetesClient client; @BeforeAll static void setup() { + System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, client.getConfiguration().getMasterUrl()); System.setProperty(Config.KUBERNETES_TRUST_CERT_SYSTEM_PROPERTY, "true"); System.setProperty(Config.KUBERNETES_AUTH_TRYKUBECONFIG_SYSTEM_PROPERTY, "false"); System.setProperty(Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, "false"); System.setProperty(Config.KUBERNETES_HTTP2_DISABLE, "true"); System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "test"); + + } + + @BeforeEach + public void before() { + KubernetesServiceInstance instance = new KubernetesServiceInstance("serviceinstance", "service", "localhost", + randomServerPort, Collections.EMPTY_MAP, false); + when(mapper.map(any())).thenReturn(instance); } @Test - void testLoadBalancerInServiceMode(Hoverfly hoverfly) { - LOGGER.info("Master URL: {}", client.getConfiguration().getMasterUrl()); - hoverfly.simulate( - dsl(service("http://service-a.test.svc.cluster.local:8080").get("/greeting") - .willReturn(success().body("greeting"))), - dsl(service(client.getConfiguration().getMasterUrl().replace("/", "").replace("https:", "")) - .get("/api/v1/namespaces/test/services/service-a") - .willReturn(success().body(json(buildService("service-a", 8080, "test")))))); + void testLoadBalancerSameNamespace() { + createTestData("service-a", "test"); String response = restTemplate.getForObject("http://service-a/greeting", String.class); Assertions.assertNotNull(response); Assertions.assertEquals("greeting", response); } - private Service buildService(String name, int port, String namespace) { - return new ServiceBuilder().withNewMetadata().withName(name).withNamespace(namespace) - .withLabels(new HashMap<>()).withAnnotations(new HashMap<>()).endMetadata().withNewSpec().addNewPort() - .withPort(port).endPort().endSpec().build(); + @Test + void testLoadBalancerDifferentNamespace() { + createTestData("service-b", "b"); + Assertions.assertThrows(IllegalStateException.class, + () -> restTemplate.getForObject("http://service-b/greeting", String.class)); + } + + private void createTestData(String name, String namespace) { + client.services().inNamespace(namespace).createNew().withNewMetadata().withName(name).endMetadata() + .withSpec(new ServiceSpecBuilder() + .withPorts(new ServicePortBuilder().withProtocol("TCP").withPort(randomServerPort).build()) + .build()) + .done(); } }