From c072812bd84b6d8674588c4928bfa433f53d8740 Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Thu, 23 Feb 2023 14:18:37 -0500 Subject: [PATCH] Revert "Removing tests for release" This reverts commit 8a6e73d41604c13ee5b359af44dd979c4027d31e. --- .../LoadBalancerAllNamespacesTests.java | 16 +++++++++++++ .../loadbalancer/LoadBalancerTests.java | 13 +++++++++++ .../LoadBalancerWithServiceTests.java | 23 +++++++++++++++++++ 3 files changed, 52 insertions(+) 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 980344c7..c913db1f 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 @@ -24,18 +24,32 @@ 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.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient; +import org.junit.Ignore; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.TestPropertySource; import org.springframework.web.client.RestTemplate; +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@TestPropertySource(properties = "spring.cloud.kubernetes.discovery.all-namespaces=true") +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerAllNamespacesTests { + @Autowired RestTemplate restTemplate; + @LocalServerPort int randomServerPort; 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"); @@ -45,6 +59,8 @@ class LoadBalancerAllNamespacesTests { System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "test"); } + @Test + @Ignore void testLoadBalancerDifferentNamespace() { createTestData(); String response = restTemplate.getForObject("http://service-b/greeting", String.class); 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 9b1c6d09..31d3f8d3 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 @@ -22,18 +22,29 @@ 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.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.web.server.LocalServerPort; import org.springframework.web.client.RestTemplate; +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerTests { + @Autowired RestTemplate restTemplate; + @LocalServerPort int randomServerPort; 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"); @@ -43,6 +54,7 @@ class LoadBalancerTests { System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "test"); } + @Test void testLoadBalancerSameNamespace() { createTestData("service-a", "test"); String response = restTemplate.getForObject("http://service-a/greeting", String.class); @@ -50,6 +62,7 @@ class LoadBalancerTests { Assertions.assertEquals("greeting", response); } + @Test void testLoadBalancerDifferentNamespace() { createTestData("service-b", "b"); Assertions.assertThrows(IllegalStateException.class, 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 8f202f3a..b4436d3f 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 @@ -23,28 +23,46 @@ 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.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient; +import org.junit.Ignore; 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.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 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" }) +@EnableKubernetesMockClient(crud = true, https = false) class LoadBalancerWithServiceTests { private static final Logger LOGGER = LoggerFactory.getLogger(LoadBalancerWithServiceTests.class); + @Autowired RestTemplate restTemplate; + @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"); @@ -55,12 +73,15 @@ class LoadBalancerWithServiceTests { } + @BeforeEach public void before() { KubernetesServiceInstance instance = new KubernetesServiceInstance("serviceinstance", "service", "localhost", randomServerPort, Collections.EMPTY_MAP, false); when(mapper.map(any())).thenReturn(instance); } + @Test + @Ignore void testLoadBalancerSameNamespace() { createTestData("service-a", "test"); String response = restTemplate.getForObject("http://service-a/greeting", String.class); @@ -68,6 +89,8 @@ class LoadBalancerWithServiceTests { Assertions.assertEquals("greeting", response); } + @Test + @Ignore void testLoadBalancerDifferentNamespace() { createTestData("service-b", "b"); Assertions.assertThrows(IllegalStateException.class,