diff --git a/.gitignore b/.gitignore index fcc5300c..0924a1bc 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ hs_err_pid* # IntelliJ /out/ +.DS_Store # mpeltonen/sbt-idea plugin .idea_modules/ diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java index 4a57af23..d4ab4bc1 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/PodUtils.java @@ -26,8 +26,8 @@ import java.util.function.Supplier; public interface PodUtils { /** - * @return A supplier of the currentPod Pod. The supplier will hold the currentPod pod - * if inside Kubernetes or false, otherwise. + * @return A supplier of the currentPod {@link Pod}. The supplier will hold the + * currentPod {@link Pod} if inside Kubernetes or false, otherwise. */ Supplier currentPod(); diff --git a/spring-cloud-kubernetes-dependencies/pom.xml b/spring-cloud-kubernetes-dependencies/pom.xml index 921580c4..c8722aa9 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.10.3 + 4.13.2 10.0.0 1.5.5 0.1.2 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 3383ac39..f37b6d00 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 @@ -1,5 +1,5 @@ /* - * Copyright 2013-2019 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.kubernetes.fabric8.config; +package org.springframework.cloud.kubernetes.config; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; @@ -25,8 +25,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; -import org.springframework.cloud.bootstrap.BootstrapConfiguration; -import org.springframework.cloud.kubernetes.fabric8.config.reload.ConfigReloadAutoConfiguration; +import org.springframework.cloud.kubernetes.config.reload.ConfigReloadAutoConfiguration; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -49,7 +48,8 @@ public class KubernetesConfigTestBase { context = new SpringApplicationBuilder(PropertyPlaceholderAutoConfiguration.class, KubernetesClientTestConfiguration.class, BootstrapConfiguration.class, ConfigReloadAutoConfiguration.class, RefreshAutoConfiguration.class) - .web(org.springframework.boot.WebApplicationType.NONE).properties(env).run(); + .web(org.springframework.boot.WebApplicationType.NONE) + .properties(env).run(); } @After diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/ConfigReloadAutoConfigurationTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/ConfigReloadAutoConfigurationTest.java index 043df5f9..53d26bd6 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/ConfigReloadAutoConfigurationTest.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/ConfigReloadAutoConfigurationTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.kubernetes.fabric8.config.reload; +package org.springframework.cloud.kubernetes.config.reload; import java.util.HashMap; @@ -24,7 +24,7 @@ import io.fabric8.kubernetes.client.KubernetesClient; import org.junit.BeforeClass; import org.junit.Test; -import org.springframework.cloud.kubernetes.fabric8.config.KubernetesConfigTestBase; +import org.springframework.cloud.kubernetes.config.KubernetesConfigTestBase; import static org.assertj.core.api.Assertions.assertThat; @@ -46,72 +46,91 @@ public class ConfigReloadAutoConfigurationTest extends KubernetesConfigTestBase KubernetesClient mockClient = getContext().getBean(KubernetesClient.class); // Configure the kubernetes master url to point to the mock server - System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, mockClient.getConfiguration().getMasterUrl()); + System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, + mockClient.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_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, + "false"); System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "test"); System.setProperty(Config.KUBERNETES_HTTP2_DISABLE, "true"); HashMap data = new HashMap<>(); data.put("bean.greeting", "Hello ConfigMap, %s!"); server.expect().withPath("/api/v1/namespaces/test/configmaps/" + APPLICATION_NAME) - .andReturn(200, new ConfigMapBuilder().withNewMetadata().withName(APPLICATION_NAME).endMetadata() - .addToData(data).build()) + .andReturn(200, new ConfigMapBuilder().withNewMetadata() + .withName(APPLICATION_NAME).endMetadata().addToData(data).build()) .always(); - server.expect().withPath("/api/v1/namespaces/spring/configmaps/" + APPLICATION_NAME) - .andReturn(200, new ConfigMapBuilder().withNewMetadata().withName(APPLICATION_NAME).endMetadata() - .addToData(data).build()) + server.expect() + .withPath("/api/v1/namespaces/spring/configmaps/" + APPLICATION_NAME) + .andReturn(200, new ConfigMapBuilder().withNewMetadata() + .withName(APPLICATION_NAME).endMetadata().addToData(data).build()) .always(); } @Test public void kubernetesConfigReloadDisabled() throws Exception { setup("spring.cloud.kubernetes.reload.enabled=false"); - assertThat(this.getContext().containsBean("configurationChangeDetector")).isFalse(); - assertThat(this.getContext().containsBean("configurationUpdateStrategy")).isFalse(); + assertThat(this.getContext().containsBean("configurationChangeDetector")) + .isFalse(); + assertThat(this.getContext().containsBean("configurationUpdateStrategy")) + .isFalse(); } @Test public void kubernetesConfigReloadWhenKubernetesConfigDisabled() throws Exception { setup("spring.cloud.kubernetes.config.enabled=false"); - assertThat(this.getContext().containsBean("configurationChangeDetector")).isFalse(); - assertThat(this.getContext().containsBean("configurationUpdateStrategy")).isFalse(); + assertThat(this.getContext().containsBean("configurationChangeDetector")) + .isFalse(); + assertThat(this.getContext().containsBean("configurationUpdateStrategy")) + .isFalse(); } @Test public void kubernetesConfigReloadWhenKubernetesDisabled() throws Exception { setup("spring.cloud.kubernetes.enabled=false"); - assertThat(this.getContext().containsBean("configurationChangeDetector")).isFalse(); - assertThat(this.getContext().containsBean("configurationUpdateStrategy")).isFalse(); + assertThat(this.getContext().containsBean("configurationChangeDetector")) + .isFalse(); + assertThat(this.getContext().containsBean("configurationUpdateStrategy")) + .isFalse(); } @Test public void kubernetesReloadEnabled() throws Exception { - setup("spring.cloud.kubernetes.enabled=true", "spring.cloud.kubernetes.config.enabled=true", - "spring.cloud.kubernetes.secrets.enabled=true", "spring.cloud.kubernetes.reload.enabled=true", - "spring.cloud.kubernetes.reload.mode=polling"); - assertThat(this.getContext().containsBean("configMapPropertySourceLocator")).isTrue(); - assertThat(this.getContext().containsBean("secretsPropertySourceLocator")).isTrue(); - assertThat(this.getContext().containsBean("configMapPropertyChangePollingWatcher")).isTrue(); + setup("spring.cloud.kubernetes.enabled=true", + "spring.cloud.kubernetes.config.enabled=true", + "spring.cloud.kubernetes.secrets.enabled=true", + "spring.cloud.kubernetes.reload.enabled=true"); + assertThat(this.getContext().containsBean("configMapPropertySourceLocator")) + .isTrue(); + assertThat(this.getContext().containsBean("secretsPropertySourceLocator")) + .isTrue(); + assertThat(this.getContext().containsBean("propertyChangeWatcher")).isTrue(); } @Test public void kubernetesReloadEnabledButSecretDisabled() throws Exception { - setup("spring.cloud.kubernetes.enabled=true", "spring.cloud.kubernetes.config.enabled=true", - "spring.cloud.kubernetes.secrets.enabled=false", "spring.cloud.kubernetes.reload.enabled=true", - "spring.cloud.kubernetes.reload.mode=polling"); - assertThat(this.getContext().containsBean("configMapPropertySourceLocator")).isTrue(); - assertThat(this.getContext().containsBean("secretsPropertySourceLocator")).isFalse(); - assertThat(this.getContext().containsBean("configMapPropertyChangePollingWatcher")).isTrue(); + setup("spring.cloud.kubernetes.enabled=true", + "spring.cloud.kubernetes.config.enabled=true", + "spring.cloud.kubernetes.secrets.enabled=false", + "spring.cloud.kubernetes.reload.enabled=true"); + assertThat(this.getContext().containsBean("configMapPropertySourceLocator")) + .isTrue(); + assertThat(this.getContext().containsBean("secretsPropertySourceLocator")) + .isFalse(); + assertThat(this.getContext().containsBean("propertyChangeWatcher")).isTrue(); } @Test public void kubernetesReloadEnabledButSecretAndConfigDisabled() throws Exception { - setup("spring.cloud.kubernetes.enabled=true", "spring.cloud.kubernetes.config.enabled=false", - "spring.cloud.kubernetes.secrets.enabled=false", "spring.cloud.kubernetes.reload.enabled=true"); - assertThat(this.getContext().containsBean("configMapPropertySourceLocator")).isFalse(); - assertThat(this.getContext().containsBean("secretsPropertySourceLocator")).isFalse(); + setup("spring.cloud.kubernetes.enabled=true", + "spring.cloud.kubernetes.config.enabled=false", + "spring.cloud.kubernetes.secrets.enabled=false", + "spring.cloud.kubernetes.reload.enabled=true"); + assertThat(this.getContext().containsBean("configMapPropertySourceLocator")) + .isFalse(); + assertThat(this.getContext().containsBean("secretsPropertySourceLocator")) + .isFalse(); assertThat(this.getContext().containsBean("propertyChangeWatcher")).isFalse(); } diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java index 891d1c92..4d5ca6bc 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesClientServicesFunction.java @@ -22,7 +22,6 @@ import io.fabric8.kubernetes.api.model.Service; import io.fabric8.kubernetes.api.model.ServiceList; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable; /** @@ -44,6 +43,6 @@ import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable; * @author Georgios Andrianakis */ public interface KubernetesClientServicesFunction extends - Function>> { + Function> { } diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java index 442ca459..21119204 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientFilterMetadataTest.java @@ -36,7 +36,6 @@ import io.fabric8.kubernetes.api.model.ServicePort; import io.fabric8.kubernetes.api.model.ServicePortBuilder; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable; import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.Resource; @@ -87,7 +86,7 @@ public class KubernetesDiscoveryClientFilterMetadataTest { private Resource endpointsResource; @Mock - FilterWatchListDeletable> filter; + FilterWatchListDeletable filter; @InjectMocks private KubernetesDiscoveryClient underTest; diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java index ba8a6a5a..a71b0ba7 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/KubernetesServiceListSupplierTests.java @@ -24,7 +24,6 @@ import io.fabric8.kubernetes.api.model.ServiceBuilder; import io.fabric8.kubernetes.api.model.ServiceList; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.Watch; -import io.fabric8.kubernetes.client.Watcher; import io.fabric8.kubernetes.client.dsl.FilterWatchListMultiDeletable; import io.fabric8.kubernetes.client.dsl.MixedOperation; import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation; @@ -66,7 +65,7 @@ class KubernetesServiceListSupplierTests { ServiceResource serviceResource; @Mock - FilterWatchListMultiDeletable> multiDeletable; + FilterWatchListMultiDeletable multiDeletable; @Test void testPositiveMatch() {