diff --git a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/example/App.java b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/example/App.java index b853b8df..fbcdb3f5 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/example/App.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/example/App.java @@ -16,7 +16,14 @@ package org.springframework.cloud.kubernetes.client.example; +import io.kubernetes.client.openapi.ApiClient; +import okhttp3.OkHttpClient; + import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; /** * @author wind57 @@ -24,4 +31,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { + @Bean + public ApiClient apiClient() { + ApiClient apiClient = mock(ApiClient.class); + when(apiClient.getHttpClient()).thenReturn(new OkHttpClient.Builder().build()); + return apiClient; + } + } diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySource.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySource.java index 8c0901ce..1020f717 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySource.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySource.java @@ -53,7 +53,7 @@ public class KubernetesClientConfigMapPropertySource extends ConfigMapPropertySo } } Map result = new LinkedHashMap<>(); - coreV1Api.listNamespacedConfigMap(namespace, null, null, null, null, null, null, null, null, null) + coreV1Api.listNamespacedConfigMap(namespace, null, null, null, null, null, null, null, null, null, null) .getItems().stream().filter(cm -> names.contains(cm.getMetadata().getName())) .forEach(map -> result.putAll(processAllEntries(map.getData(), environment))); diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySource.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySource.java index 64a88c3d..2f0b62af 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySource.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySource.java @@ -56,11 +56,12 @@ public class KubernetesClientSecretsPropertySource extends SecretsPropertySource if (!StringUtils.hasText(namespace)) { // There could technically be more than one, just return the first - secret = api.listSecretForAllNamespaces(null, null, null, null, null, null, null, null, null) + secret = api.listSecretForAllNamespaces(null, null, null, null, null, null, null, null, null, null) .getItems().stream().filter(s -> name.equals(s.getMetadata().getName())).findFirst(); } else { - secret = api.listNamespacedSecret(namespace, null, null, null, null, null, null, null, null, null) + secret = api + .listNamespacedSecret(namespace, null, null, null, null, null, null, null, null, null, null) .getItems().stream().filter(s -> name.equals(s.getMetadata().getName())).findFirst(); } @@ -71,11 +72,11 @@ public class KubernetesClientSecretsPropertySource extends SecretsPropertySource if (labels != null && !labels.isEmpty()) { if (!StringUtils.hasText(namespace)) { api.listSecretForAllNamespaces(null, null, null, createLabelsSelector(labels), null, null, null, - null, null).getItems().forEach(s -> putAll(s, result)); + null, null, null).getItems().forEach(s -> putAll(s, result)); } else { api.listNamespacedSecret(namespace, null, null, null, null, createLabelsSelector(labels), null, - null, null, null).getItems().forEach(s -> putAll(s, result)); + null, null, null, null).getItems().forEach(s -> putAll(s, result)); } } } diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedConfigMapChangeDetector.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedConfigMapChangeDetector.java index 75fbd6a3..30d1283d 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedConfigMapChangeDetector.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedConfigMapChangeDetector.java @@ -94,7 +94,7 @@ public class KubernetesClientEventBasedConfigMapChangeDetector extends Configura SharedIndexInformer configMapInformer = factory.sharedIndexInformerFor( (CallGeneratorParams params) -> coreV1Api.listNamespacedConfigMapCall( kubernetesClientProperties.getNamespace(), null, null, null, null, null, null, - params.resourceVersion, params.timeoutSeconds, params.watch, null), + params.resourceVersion, null, params.timeoutSeconds, params.watch, null), V1ConfigMap.class, V1ConfigMapList.class); configMapInformer.addEventHandler(new ResourceEventHandler() { @Override diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedSecretsChangeDetector.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedSecretsChangeDetector.java index 740fb961..7b7ed7fe 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedSecretsChangeDetector.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/reload/KubernetesClientEventBasedSecretsChangeDetector.java @@ -93,7 +93,7 @@ public class KubernetesClientEventBasedSecretsChangeDetector extends Configurati SharedIndexInformer configMapInformer = factory.sharedIndexInformerFor( (CallGeneratorParams params) -> coreV1Api.listNamespacedSecretCall( kubernetesClientProperties.getNamespace(), null, null, null, null, null, null, - params.resourceVersion, params.timeoutSeconds, params.watch, null), + params.resourceVersion, null, params.timeoutSeconds, params.watch, null), V1Secret.class, V1SecretList.class); configMapInformer.addEventHandler(new ResourceEventHandler() { @Override diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java index 82fda1b1..45464f34 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java @@ -24,10 +24,11 @@ import io.kubernetes.client.openapi.models.V1Endpoints; import io.kubernetes.client.openapi.models.V1EndpointsList; import io.kubernetes.client.openapi.models.V1Service; import io.kubernetes.client.openapi.models.V1ServiceList; -import io.kubernetes.client.spring.extended.controller.KubernetesInformerFactoryProcessor; +import io.kubernetes.client.spring.extended.controller.KubernetesInformerConfigurer; import io.kubernetes.client.spring.extended.controller.annotation.GroupVersionResource; import io.kubernetes.client.spring.extended.controller.annotation.KubernetesInformer; import io.kubernetes.client.spring.extended.controller.annotation.KubernetesInformers; +import io.kubernetes.client.spring.extended.controller.config.KubernetesInformerAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -44,7 +45,10 @@ import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @ConditionalOnKubernetesDiscoveryEnabled -@AutoConfigureBefore({ SimpleDiscoveryClientAutoConfiguration.class, CommonsClientAutoConfiguration.class }) +@AutoConfigureBefore({ SimpleDiscoveryClientAutoConfiguration.class, CommonsClientAutoConfiguration.class, + // So that CatalogSharedInformerFactory can be processed in prior to the default + // factory + KubernetesInformerAutoConfiguration.class }) @AutoConfigureAfter({ KubernetesClientAutoConfiguration.class }) @EnableConfigurationProperties(KubernetesDiscoveryProperties.class) public class KubernetesDiscoveryClientAutoConfiguration { @@ -55,8 +59,9 @@ public class KubernetesDiscoveryClientAutoConfiguration { @Bean @ConditionalOnMissingBean - public KubernetesInformerFactoryProcessor kubernetesInformerFactoryProcessor() { - return new KubernetesInformerFactoryProcessor(); + public KubernetesInformerConfigurer discoveryInformerConfigurer(ApiClient apiClient, + CatalogSharedInformerFactory sharedInformerFactory) { + return new KubernetesInformerConfigurer(apiClient, sharedInformerFactory); } @Bean diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfigurationTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfigurationTests.java index 37a5fe80..c654f61d 100644 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfigurationTests.java +++ b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfigurationTests.java @@ -16,13 +16,8 @@ package org.springframework.cloud.kubernetes.client.discovery; -import io.kubernetes.client.informer.SharedInformer; -import io.kubernetes.client.informer.SharedInformerFactory; -import io.kubernetes.client.informer.cache.Lister; import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.JSON; -import io.kubernetes.client.openapi.models.V1Endpoints; -import io.kubernetes.client.openapi.models.V1Service; import okhttp3.OkHttpClient; import org.junit.Test; import org.junit.runner.RunWith; @@ -68,31 +63,6 @@ public class KubernetesDiscoveryClientAutoConfigurationTests { return apiClient; } - @Bean - public Lister serviceLister() { - return mock(Lister.class); - } - - @Bean - public Lister endpointsLister() { - return mock(Lister.class); - } - - @Bean - public SharedInformerFactory sharedInformerFactory() { - return mock(SharedInformerFactory.class); - } - - @Bean - public SharedInformer sharedInformerEndpoints() { - return mock(SharedInformer.class); - } - - @Bean - public SharedInformer sharedInformerService() { - return mock(SharedInformer.class); - } - } } diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfigurationTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfigurationTests.java index 393a7500..2babf346 100644 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfigurationTests.java +++ b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfigurationTests.java @@ -16,13 +16,8 @@ package org.springframework.cloud.kubernetes.client.discovery.reactive; -import io.kubernetes.client.informer.SharedInformer; -import io.kubernetes.client.informer.SharedInformerFactory; -import io.kubernetes.client.informer.cache.Lister; import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.JSON; -import io.kubernetes.client.openapi.models.V1Endpoints; -import io.kubernetes.client.openapi.models.V1Service; import okhttp3.OkHttpClient; import org.junit.Test; import org.junit.runner.RunWith; @@ -71,31 +66,6 @@ public class KubernetesInformerReactiveDiscoveryClientAutoConfigurationTests { return apiClient; } - @Bean - public Lister serviceLister() { - return mock(Lister.class); - } - - @Bean - public Lister endpointsLister() { - return mock(Lister.class); - } - - @Bean - public SharedInformerFactory sharedInformerFactory() { - return mock(SharedInformerFactory.class); - } - - @Bean - public SharedInformer sharedInformerEndpoints() { - return mock(SharedInformer.class); - } - - @Bean - public SharedInformer sharedInformerService() { - return mock(SharedInformer.class); - } - } } diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplier.java b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplier.java index ec1b801f..4d05c517 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplier.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientServicesListSupplier.java @@ -60,11 +60,11 @@ public class KubernetesClientServicesListSupplier extends KubernetesServicesList try { if (discoveryProperties.isAllNamespaces()) { services = coreV1Api.listServiceForAllNamespaces(null, null, "metadata.name=" + this.getServiceId(), - null, null, null, null, null, null).getItems(); + null, null, null, null, null, null, null).getItems(); } else { services = coreV1Api.listNamespacedService(kubernetesClientProperties.getNamespace(), null, null, null, - "metadata.name=" + this.getServiceId(), null, null, null, null, null).getItems(); + "metadata.name=" + this.getServiceId(), null, null, null, null, null, null).getItems(); } services.forEach(service -> result.add(mapper.map(service))); } diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerPodModeTests.java b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerPodModeTests.java index f0a88d03..260002a5 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerPodModeTests.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerPodModeTests.java @@ -28,7 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; @@ -38,11 +37,9 @@ import org.springframework.cloud.kubernetes.client.discovery.KubernetesInformerD import org.springframework.cloud.loadbalancer.blocking.client.BlockingLoadBalancerClient; import org.springframework.context.annotation.Bean; import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.http.client.ClientHttpResponse; import org.springframework.mock.http.client.MockClientHttpResponse; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -63,12 +60,12 @@ import static org.mockito.Mockito.when; public class KubernetesClientLoadBalancerPodModeTests { @Autowired - private TestRestTemplate rest; + private RestTemplate restTemplate; @Test public void testLoadBalancer() { - ResponseEntity map = rest.getForEntity("/servicea", String.class); - assertThat(map.getStatusCode()).isEqualTo(HttpStatus.OK); + String resp = restTemplate.getForObject("http://servicea-wiremock", String.class); + assertThat(resp).isEqualTo("hello"); } @RestController @@ -114,11 +111,6 @@ public class KubernetesClientLoadBalancerPodModeTests { return new RestTemplateBuilder().build(); } - @GetMapping("/servicea") - public String greeting() { - return restTemplate().getForObject("http://servicea-wiremock", String.class); - } - } } diff --git a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerServiceModeTests.java b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerServiceModeTests.java index 11774bb3..01607454 100644 --- a/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerServiceModeTests.java +++ b/spring-cloud-kubernetes-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/KubernetesClientLoadBalancerServiceModeTests.java @@ -35,7 +35,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.loadbalancer.LoadBalanced; @@ -44,11 +43,9 @@ import org.springframework.cloud.kubernetes.client.discovery.KubernetesInformerD import org.springframework.cloud.loadbalancer.blocking.client.BlockingLoadBalancerClient; import org.springframework.context.annotation.Bean; import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.http.client.ClientHttpResponse; import org.springframework.mock.http.client.MockClientHttpResponse; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -83,12 +80,12 @@ public class KubernetesClientLoadBalancerServiceModeTests { .build(); @Autowired - private TestRestTemplate rest; + private RestTemplate restTemplate; @Test public void testLoadBalancer() { - ResponseEntity map = rest.getForEntity("/servicea", String.class); - assertThat(map.getStatusCode()).isEqualTo(HttpStatus.OK); + String resp = restTemplate.getForObject("http://servicea-wiremock", String.class); + assertThat(resp).isEqualTo("hello"); } @RestController @@ -109,8 +106,8 @@ public class KubernetesClientLoadBalancerServiceModeTests { CoreV1Api coreV1Api = mock(CoreV1Api.class); try { when(coreV1Api.listNamespacedService(eq("default"), eq(null), eq(null), eq(null), - eq("metadata.name=servicea-wiremock"), eq(null), eq(null), eq(null), eq(null), eq(null))) - .thenReturn(SERVICE_LIST); + eq("metadata.name=servicea-wiremock"), eq(null), eq(null), eq(null), eq(null), eq(null), + eq(null))).thenReturn(SERVICE_LIST); } catch (ApiException e) { e.printStackTrace(); @@ -147,11 +144,6 @@ public class KubernetesClientLoadBalancerServiceModeTests { return new RestTemplateBuilder().build(); } - @GetMapping("/servicea") - public String greeting() { - return restTemplate().getForObject("http://servicea-wiremock", String.class); - } - } } diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index c8722aa9..8869e7be 100644 --- a/spring-cloud-kubernetes-dependencies/pom.xml +++ b/spring-cloud-kubernetes-dependencies/pom.xml @@ -36,7 +36,7 @@ 1.15.2 0.13.0 4.13.2 - 10.0.0 + 11.0.0 1.5.5 0.1.2 3.14.4 diff --git a/spring-cloud-kubernetes-integration-tests/pom.xml b/spring-cloud-kubernetes-integration-tests/pom.xml index 860b3faf..ecb59736 100644 --- a/spring-cloud-kubernetes-integration-tests/pom.xml +++ b/spring-cloud-kubernetes-integration-tests/pom.xml @@ -160,6 +160,11 @@ discovery load-balancer - + + + + + + diff --git a/spring-cloud-kubernetes-integration-tests/run.sh b/spring-cloud-kubernetes-integration-tests/run.sh index 4a8feea0..317dca5f 100755 --- a/spring-cloud-kubernetes-integration-tests/run.sh +++ b/spring-cloud-kubernetes-integration-tests/run.sh @@ -14,7 +14,11 @@ KIND="${BIN_DIR}/kind" ISTIOCTL="${BIN_DIR}/istio-1.6.2/bin/istioctl" -MVN_VERSION=$(../mvnw -q \ +CURRENT_DIR="$(pwd)" + +MVN="${CURRENT_DIR}/../mvnw" + +MVN_VERSION=$($MVN -q \ -Dexec.executable=echo \ -Dexec.args='${project.version}' \ --non-recursive \ @@ -39,9 +43,6 @@ DEFAULT_PULLING_IMAGES=( PULLING_IMAGES=(${PULLING_IMAGES:-${DEFAULT_PULLING_IMAGES[@]}}) LOADING_IMAGES=(${LOADING_IMAGES:-${DEFAULT_PULLING_IMAGES[@]}} "docker.io/springcloud/spring-cloud-kubernetes-configuration-watcher:${MVN_VERSION}") - -CURRENT_DIR="$(pwd)" - # cleanup on exit (useful for running locally) cleanup() { "${KIND}" delete cluster || true @@ -115,17 +116,14 @@ main() { # curl -L https://istio.io/downloadIstio | sh - #"${ISTIOCTL}" install --set profile=demo - cd $CURRENT_DIR - - # running tests.. for p in "${INTEGRATION_PROJECTS[@]}"; do echo "Running test: $p" cd $p - ../../mvnw spring-boot:build-image \ + ${MVN} spring-boot:build-image \ -Dspring-boot.build-image.imageName=docker.io/springcloud/$p:${MVN_VERSION} "${KIND}" load docker-image docker.io/springcloud/$p:${MVN_VERSION} - ../../mvnw clean install -P it + ${MVN} clean install -P it cd .. done diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java index c29344ec..c78f4c4e 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-config-it/src/test/java/org/springframework/cloud/kubernetes/client/config/it/ConfigMapAndSecretIT.java @@ -88,7 +88,7 @@ public class ConfigMapAndSecretIT { @After public void after() throws Exception { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, - "metadata.name=" + K8S_CONFIG_CLIENT_IT_NAME, null, null, null, null, null, null, null, null); + "metadata.name=" + K8S_CONFIG_CLIENT_IT_NAME, null, null, null, null, null, null, null, null, null); api.deleteNamespacedService(K8S_CONFIG_CLIENT_IT_SERVICE_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("it-ingress", NAMESPACE, null, null, null, null, null, null); api.deleteNamespacedConfigMap(APP_NAME, NAMESPACE, null, null, null, null, null, null); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java index 48922dad..5261d042 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-loadbalancer-it/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/LoadBalancerIT.java @@ -120,7 +120,7 @@ public class LoadBalancerIT { private void cleanup() throws ApiException { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, "metadata.name=" + SPRING_CLOUD_K8S_LOADBALANCER_DEPLOYMENT_NAME, null, null, null, null, null, null, - null, null); + null, null, null); api.deleteNamespacedService(SPRING_CLOUD_K8S_LOADBALANCER_APP_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("it-ingress", NAMESPACE, null, null, null, null, null, null); @@ -159,7 +159,7 @@ public class LoadBalancerIT { @After public void after() throws Exception { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, - "metadata.name=" + WIREMOCK_DEPLOYMENT_NAME, null, null, null, null, null, null, null, null); + "metadata.name=" + WIREMOCK_DEPLOYMENT_NAME, null, null, null, null, null, null, null, null, null); api.deleteNamespacedService(WIREMOCK_APP_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("wiremock-ingress", NAMESPACE, null, null, null, null, null, null); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java index 53746bff..1443849c 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-client-reactive-discovery-client-it/src/test/java/org/springframework/cloud/kubernetes/client/reactive/discovery/it/ReactiveDiscoveryClientIT.java @@ -112,7 +112,7 @@ public class ReactiveDiscoveryClientIT { private void cleanup() throws ApiException { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, "metadata.name=" + SPRING_CLOUD_K8S_REACTIVE_DISCOVERY_DEPLOYMENT_NAME, null, null, null, null, null, - null, null, null); + null, null, null, null); api.deleteNamespacedService(SPRING_CLOUD_K8S_REACTIVE_DISCOVERY_APP_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("it-ingress", NAMESPACE, null, null, null, null, null, null); @@ -150,7 +150,7 @@ public class ReactiveDiscoveryClientIT { @After public void after() throws Exception { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, - "metadata.name=" + WIREMOCK_DEPLOYMENT_NAME, null, null, null, null, null, null, null, null); + "metadata.name=" + WIREMOCK_DEPLOYMENT_NAME, null, null, null, null, null, null, null, null, null); api.deleteNamespacedService(WIREMOCK_APP_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("wiremock-ingress", NAMESPACE, null, null, null, null, null, null); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java index 217dbb23..ac85981b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshIT.java @@ -59,7 +59,7 @@ public class ActuatorRefreshIT { private static final String IMAGE = "spring-cloud-kubernetes-configuration-watcher"; - private static final String IMAGE_TAG = "2.0.0-SNAPSHOT"; + private static final String IMAGE_TAG = "2.0.1-SNAPSHOT"; private static final String LOCAL_REPO = "docker.io/springcloud"; @@ -142,10 +142,10 @@ public class ActuatorRefreshIT { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, "metadata.name=" + SPRING_CLOUD_K8S_CONFIG_WATCHER_DEPLOYMENT_NAME, null, null, null, null, null, null, - null, null); + null, null, null); appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, "metadata.name=" + CONFIG_WATCHER_WIREMOCK_DEPLOYMENT_NAME, null, null, null, null, null, null, null, - null); + null, null); api.deleteNamespacedService(SPRING_CLOUD_K8S_CONFIG_WATCHER_APP_NAME, NAMESPACE, null, null, null, null, null, null); api.deleteNamespacedService(CONFIG_WATCHER_WIREMOCK_APP_NAME, NAMESPACE, null, null, null, null, null, null); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java index 7cd33162..b613f232 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshKafkaIT.java @@ -54,31 +54,8 @@ public class ActuatorRefreshKafkaIT { private Log log = LogFactory.getLog(getClass()); - private static final String KIND_REPO_HOST_PORT = "localhost:5000"; - - private static final String KIND_REPO_URL = "http://" + KIND_REPO_HOST_PORT; - - private static final String CONFIG_WATCHER_IMAGE = "spring-cloud-kubernetes-configuration-watcher"; - private static final String CONFIG_WATCHER_IT_IMAGE = "spring-cloud-kubernetes-configuration-watcher-it"; - private static final String IMAGE_TAG = "2.0.0-SNAPSHOT"; - - private static final String LOCAL_REPO = "docker.io/springcloud"; - - private static final String CONFIG_WATCHER_LOCAL_IMAGE = LOCAL_REPO + "/" + CONFIG_WATCHER_IMAGE + ":" + IMAGE_TAG; - - private static final String CONFIG_WATCHER_IT_LOCAL_IMAGE = LOCAL_REPO + "/" + CONFIG_WATCHER_IT_IMAGE + ":" - + IMAGE_TAG; - - private static final String CONFIG_WATCHER_KIND_IMAGE = KIND_REPO_HOST_PORT + "/" + CONFIG_WATCHER_IMAGE; - - private static final String CONFIG_WATCHER_IT_KIND_IMAGE = KIND_REPO_HOST_PORT + "/" + CONFIG_WATCHER_IT_IMAGE; - - private static final String CONFIG_WATCHER_KIND_IMAGE_WITH_TAG = CONFIG_WATCHER_KIND_IMAGE + ":" + IMAGE_TAG; - - private static final String CONFIG_WATCHER_IT_KIND_IMAGE_WITH_TAG = CONFIG_WATCHER_IT_KIND_IMAGE + ":" + IMAGE_TAG; - private static final String SPRING_CLOUD_K8S_CONFIG_WATCHER_DEPLOYMENT_NAME = "spring-cloud-kubernetes-configuration-watcher-deployment"; private static final String SPRING_CLOUD_K8S_CONFIG_WATCHER_IT_DEPLOYMENT_NAME = "spring-cloud-kubernetes-configuration-watcher-it-deployment"; @@ -151,8 +128,8 @@ public class ActuatorRefreshKafkaIT { // Sometimes the NGINX ingress takes a bit to catch up and realize the service is // available and we get a 503, we just need to wait a bit - await().timeout(Duration.ofSeconds(60)) - .until(() -> rest.getForEntity("http://localhost:80/it", String.class).getStatusCode().is2xxSuccessful()); + await().timeout(Duration.ofSeconds(60)).until( + () -> rest.getForEntity("http://localhost:80/it", String.class).getStatusCode().is2xxSuccessful()); // Wait a bit before we verify await().pollInterval(Duration.ofSeconds(1)).atMost(Duration.ofSeconds(90)).until(() -> { Boolean value = rest.getForObject("http://localhost:80/it", Boolean.class); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java index 44498029..35361420 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java @@ -52,6 +52,7 @@ import static org.springframework.cloud.kubernetes.integration.tests.commons.K8S */ @RunWith(MockitoJUnitRunner.class) public class ActuatorRefreshRabbitMQIT { + private static final Log LOG = LogFactory.getLog(ActuatorRefreshRabbitMQIT.class); private Log log = LogFactory.getLog(getClass()); @@ -122,8 +123,8 @@ public class ActuatorRefreshRabbitMQIT { // Sometimes the NGINX ingress takes a bit to catch up and realize the service is // available and we get a 503, we just need to wait a bit - await().timeout(Duration.ofSeconds(60)) - .until(() -> rest.getForEntity("http://localhost:80/it", String.class).getStatusCode().is2xxSuccessful()); + await().timeout(Duration.ofSeconds(60)).until( + () -> rest.getForEntity("http://localhost:80/it", String.class).getStatusCode().is2xxSuccessful()); // Wait a bit before we verify await().pollInterval(Duration.ofSeconds(1)).atMost(Duration.ofSeconds(90)).until(() -> { diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java index ccd4b9dc..a2ac4a40 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-core-k8s-client-it/src/test/java/org/springframework/cloud/kubernetes/core/k8s/it/ActuatorEndpointIT.java @@ -192,7 +192,7 @@ public class ActuatorEndpointIT { @AfterClass public static void after() throws Exception { appsApi.deleteCollectionNamespacedDeployment(NAMESPACE, null, null, null, - "metadata.name=" + K8S_CONFIG_CLIENT_IT_NAME, null, null, null, null, null, null, null, null); + "metadata.name=" + K8S_CONFIG_CLIENT_IT_NAME, null, null, null, null, null, null, null, null, null); api.deleteNamespacedService(K8S_CONFIG_CLIENT_IT_SERVICE_NAME, NAMESPACE, null, null, null, null, null, null); networkingApi.deleteNamespacedIngress("it-ingress", NAMESPACE, null, null, null, null, null, null); } diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java index 4e3f9263..d140dd5e 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java @@ -139,7 +139,7 @@ public class K8SUtils { public boolean isEndpointReady(String name, String namespace) throws ApiException { V1EndpointsList endpoints = api.listNamespacedEndpoints(namespace, null, null, null, "metadata.name=" + name, - null, null, null, null, null); + null, null, null, null, null, null); if (endpoints.getItems().isEmpty()) { fail("no endpoints for " + name); } @@ -154,7 +154,7 @@ public class K8SUtils { public boolean isReplicationControllerReady(String name, String namespace) throws ApiException { V1ReplicationControllerList controllerList = api.listNamespacedReplicationController(namespace, null, null, - null, "metadata.name=" + name, null, null, null, null, null); + null, "metadata.name=" + name, null, null, null, null, null, null); if (controllerList.getItems().size() < 1) { fail("Replication controller with name " + name + "could not be found"); } @@ -188,7 +188,7 @@ public class K8SUtils { public boolean isDeployentReady(String deploymentName, String namespace) throws ApiException { V1DeploymentList deployments = appsApi.listNamespacedDeployment(namespace, null, null, null, - "metadata.name=" + deploymentName, null, null, null, null, null); + "metadata.name=" + deploymentName, null, null, null, null, null, null); if (deployments.getItems().size() < 1) { fail("No deployments with the name " + deploymentName); }