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 baeef1b5..506db53f 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 @@ -42,13 +42,6 @@ public class KubernetesClientConfigMapPropertySource extends ConfigMapPropertySo private static final Log LOG = LogFactory.getLog(KubernetesClientConfigMapPropertySource.class); - @Deprecated - public KubernetesClientConfigMapPropertySource(CoreV1Api coreV1Api, String name, String namespace, - Environment environment) { - super(getName(name, getApplicationNamespace(namespace, "Config Map", null)), getData(coreV1Api, name, - getApplicationNamespace(namespace, "Config Map", null), environment, "", true, false)); - } - public KubernetesClientConfigMapPropertySource(CoreV1Api coreV1Api, String name, String namespace, Environment environment, String prefix, boolean includeProfileSpecificSources, boolean failFast) { super(getName(name, getApplicationNamespace(namespace, "Config Map", null)), diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocator.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocator.java index a35d1677..68f36aca 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocator.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocator.java @@ -18,11 +18,9 @@ package org.springframework.cloud.kubernetes.client.config; import io.kubernetes.client.openapi.apis.CoreV1Api; -import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties; import org.springframework.cloud.kubernetes.commons.config.ConfigMapPropertySourceLocator; -import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.MapPropertySource; import org.springframework.util.StringUtils; @@ -35,32 +33,13 @@ public class KubernetesClientConfigMapPropertySourceLocator extends ConfigMapPro private final CoreV1Api coreV1Api; - private final KubernetesClientProperties kubernetesClientProperties; - private final KubernetesNamespaceProvider kubernetesNamespaceProvider; - /** - * This constructor is deprecated. Its usage might cause unexpected behavior when - * looking for different properties. For example, in general, if a namespace is not - * provided, we might look it up via other means: different documented environment - * variables or from a kubernetes client itself. Using this constructor might not - * reflect that. - */ - @Deprecated - public KubernetesClientConfigMapPropertySourceLocator(CoreV1Api coreV1Api, ConfigMapConfigProperties properties, - KubernetesClientProperties kubernetesClientProperties) { - super(properties); - this.coreV1Api = coreV1Api; - this.kubernetesClientProperties = kubernetesClientProperties; - this.kubernetesNamespaceProvider = null; - } - public KubernetesClientConfigMapPropertySourceLocator(CoreV1Api coreV1Api, ConfigMapConfigProperties properties, KubernetesNamespaceProvider kubernetesNamespaceProvider) { super(properties); this.coreV1Api = coreV1Api; this.kubernetesNamespaceProvider = kubernetesNamespaceProvider; - this.kubernetesClientProperties = null; } @Override @@ -74,15 +53,6 @@ public class KubernetesClientConfigMapPropertySourceLocator extends ConfigMapPro if (StringUtils.hasText(normalizedNamespace)) { namespace = normalizedNamespace; } - else if (kubernetesClientProperties != null) { - if (StringUtils.hasText(kubernetesClientProperties.getNamespace())) { - namespace = kubernetesClientProperties.getNamespace(); - } - else { - throw new NamespaceResolutionFailedException( - "could not resolve namespace in normalized source or KubernetesClientProperties"); - } - } else { namespace = KubernetesClientConfigUtils.getApplicationNamespace(normalizedNamespace, "Config Map", kubernetesNamespaceProvider); diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigUtils.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigUtils.java index 1b952aee..cc71b31a 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigUtils.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigUtils.java @@ -19,11 +19,8 @@ package org.springframework.cloud.kubernetes.client.config; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; -import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties; import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException; -import org.springframework.cloud.kubernetes.commons.config.SecretsConfigProperties; import org.springframework.util.StringUtils; /** @@ -36,42 +33,6 @@ public final class KubernetesClientConfigUtils { private KubernetesClientConfigUtils() { } - @Deprecated - public static String getNamespace(ConfigMapConfigProperties.NormalizedSource normalizedSource, - KubernetesClientProperties kubernetesClientProperties) { - if (!StringUtils.hasText(normalizedSource.getNamespace())) { - return kubernetesClientProperties.getNamespace(); - } - else { - return normalizedSource.getNamespace(); - } - } - - @Deprecated - public static String getNamespace(SecretsConfigProperties.NormalizedSource normalizedSource, - KubernetesClientProperties kubernetesClientProperties) { - if (!StringUtils.hasText(normalizedSource.getNamespace())) { - return kubernetesClientProperties.getNamespace(); - } - else { - return normalizedSource.getNamespace(); - } - } - - @Deprecated - public static String getNamespace(ConfigMapConfigProperties.NormalizedSource normalizedSource, - String fallbackNamespace) { - String normalizedNamespace = normalizedSource.getNamespace(); - return StringUtils.hasText(normalizedNamespace) ? normalizedNamespace : fallbackNamespace; - } - - @Deprecated - public static String getNamespace(SecretsConfigProperties.NormalizedSource normalizedSource, - String fallbackNamespace) { - String normalizedNamespace = normalizedSource.getNamespace(); - return StringUtils.hasText(normalizedNamespace) ? normalizedNamespace : fallbackNamespace; - } - /** * this method does the namespace resolution for both config map and secrets * implementations. It tries these places to find the namespace: diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocator.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocator.java index 5b3c17c8..d39d7659 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocator.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocator.java @@ -18,9 +18,7 @@ package org.springframework.cloud.kubernetes.client.config; import io.kubernetes.client.openapi.apis.CoreV1Api; -import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; -import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException; import org.springframework.cloud.kubernetes.commons.config.SecretsConfigProperties; import org.springframework.cloud.kubernetes.commons.config.SecretsPropertySourceLocator; import org.springframework.core.env.ConfigurableEnvironment; @@ -37,32 +35,13 @@ public class KubernetesClientSecretsPropertySourceLocator extends SecretsPropert private final CoreV1Api coreV1Api; - private final KubernetesClientProperties kubernetesClientProperties; - private final KubernetesNamespaceProvider kubernetesNamespaceProvider; - /** - * This constructor is deprecated. Its usage might cause unexpected behavior when - * looking for different properties. For example, in general, if a namespace is not - * provided, we might look it up via other means: different documented environment - * variables or from a kubernetes client itself. Using this constructor might not - * reflect that. - */ - @Deprecated - public KubernetesClientSecretsPropertySourceLocator(CoreV1Api coreV1Api, - KubernetesClientProperties kubernetesClientProperties, SecretsConfigProperties secretsConfigProperties) { - super(secretsConfigProperties); - this.coreV1Api = coreV1Api; - this.kubernetesClientProperties = kubernetesClientProperties; - this.kubernetesNamespaceProvider = null; - } - public KubernetesClientSecretsPropertySourceLocator(CoreV1Api coreV1Api, KubernetesNamespaceProvider kubernetesNamespaceProvider, SecretsConfigProperties secretsConfigProperties) { super(secretsConfigProperties); this.coreV1Api = coreV1Api; this.kubernetesNamespaceProvider = kubernetesNamespaceProvider; - this.kubernetesClientProperties = null; } @Override @@ -76,15 +55,6 @@ public class KubernetesClientSecretsPropertySourceLocator extends SecretsPropert if (StringUtils.hasText(normalizedNamespace)) { namespace = normalizedNamespace; } - else if (kubernetesClientProperties != null) { - if (StringUtils.hasText(kubernetesClientProperties.getNamespace())) { - namespace = kubernetesClientProperties.getNamespace(); - } - else { - throw new NamespaceResolutionFailedException( - "could not resolve namespace in normalized source or KubernetesClientProperties"); - } - } else { namespace = KubernetesClientConfigUtils.getApplicationNamespace(normalizedNamespace, "Secret", kubernetesNamespaceProvider); 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 0a59706a..e0da16ed 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 @@ -56,18 +56,6 @@ public class KubernetesClientEventBasedConfigMapChangeDetector extends Configura private KubernetesNamespaceProvider kubernetesNamespaceProvider; - @Deprecated - public KubernetesClientEventBasedConfigMapChangeDetector(CoreV1Api coreV1Api, ConfigurableEnvironment environment, - ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, - KubernetesClientConfigMapPropertySourceLocator propertySourceLocator, - KubernetesClientProperties kubernetesClientProperties) { - super(environment, properties, strategy); - this.propertySourceLocator = propertySourceLocator; - this.coreV1Api = coreV1Api; - this.factory = new SharedInformerFactory(createApiClientForInformerClient()); - this.kubernetesClientProperties = kubernetesClientProperties; - } - public KubernetesClientEventBasedConfigMapChangeDetector(CoreV1Api coreV1Api, ConfigurableEnvironment environment, ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, KubernetesClientConfigMapPropertySourceLocator propertySourceLocator, @@ -86,17 +74,6 @@ public class KubernetesClientEventBasedConfigMapChangeDetector extends Configura this.kubernetesNamespaceProvider = kubernetesNamespaceProvider; } - @Deprecated - public KubernetesClientEventBasedConfigMapChangeDetector(ConfigurableEnvironment environment, - ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, - KubernetesClientConfigMapPropertySourceLocator propertySourceLocator, - KubernetesClientProperties kubernetesClientProperties) { - super(environment, properties, strategy); - this.propertySourceLocator = propertySourceLocator; - this.kubernetesClientProperties = kubernetesClientProperties; - this.factory = new SharedInformerFactory(createApiClientForInformerClient()); - } - private String getNamespace() { return kubernetesNamespaceProvider != null ? kubernetesNamespaceProvider.getNamespace() : kubernetesClientProperties.getNamespace(); 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 a41c89a5..0a01bc62 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 @@ -55,18 +55,6 @@ public class KubernetesClientEventBasedSecretsChangeDetector extends Configurati private KubernetesNamespaceProvider kubernetesNamespaceProvider; - @Deprecated - public KubernetesClientEventBasedSecretsChangeDetector(CoreV1Api coreV1Api, ConfigurableEnvironment environment, - ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, - KubernetesClientSecretsPropertySourceLocator propertySourceLocator, - KubernetesClientProperties kubernetesClientProperties) { - super(environment, properties, strategy); - this.propertySourceLocator = propertySourceLocator; - this.factory = new SharedInformerFactory(createApiClientForInformerClient()); - this.coreV1Api = coreV1Api; - this.kubernetesClientProperties = kubernetesClientProperties; - } - public KubernetesClientEventBasedSecretsChangeDetector(CoreV1Api coreV1Api, ConfigurableEnvironment environment, ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, KubernetesClientSecretsPropertySourceLocator propertySourceLocator, @@ -74,10 +62,10 @@ public class KubernetesClientEventBasedSecretsChangeDetector extends Configurati super(environment, properties, strategy); this.propertySourceLocator = propertySourceLocator; // We need to pass an APIClient to the SharedInformerFactory because if we use the - // default - // constructor it will use the configured default APIClient but that may not - // contain - // an APIClient configured within the cluster and does not contain the necessary + // default constructor it will use the configured default APIClient but that may + // not + // contain an APIClient configured within the cluster and does not contain the + // necessary // certificate authorities for the cluster. This results in SSL errors. // See https://github.com/spring-cloud/spring-cloud-kubernetes/issues/885 this.factory = new SharedInformerFactory(createApiClientForInformerClient()); @@ -85,17 +73,6 @@ public class KubernetesClientEventBasedSecretsChangeDetector extends Configurati this.kubernetesNamespaceProvider = kubernetesNamespaceProvider; } - @Deprecated - public KubernetesClientEventBasedSecretsChangeDetector(ConfigurableEnvironment environment, - ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, - KubernetesClientSecretsPropertySourceLocator propertySourceLocator, - KubernetesClientProperties kubernetesClientProperties) { - super(environment, properties, strategy); - this.propertySourceLocator = propertySourceLocator; - this.factory = new SharedInformerFactory(createApiClientForInformerClient()); - this.kubernetesClientProperties = kubernetesClientProperties; - } - private String getNamespace() { return kubernetesNamespaceProvider != null ? kubernetesNamespaceProvider.getNamespace() : kubernetesClientProperties.getNamespace(); diff --git a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocatorTests.java b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocatorTests.java index e3c64293..b2305a91 100644 --- a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocatorTests.java +++ b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceLocatorTests.java @@ -98,10 +98,10 @@ class KubernetesClientConfigMapPropertySourceLocatorTests { .willReturn(aResponse().withStatus(200).withBody(new JSON().serialize(PROPERTIES_CONFIGMAP_LIST)))); ConfigMapConfigProperties configMapConfigProperties = new ConfigMapConfigProperties(); configMapConfigProperties.setName("bootstrap-640"); - KubernetesClientProperties kubernetesClientProperties = new KubernetesClientProperties(); - kubernetesClientProperties.setNamespace("default"); + MockEnvironment mockEnvironment = new MockEnvironment(); + mockEnvironment.setProperty("spring.cloud.kubernetes.client.namespace", "default"); PropertySource> propertySource = new KubernetesClientConfigMapPropertySourceLocator(api, - configMapConfigProperties, kubernetesClientProperties).locate(ENV); + configMapConfigProperties, new KubernetesNamespaceProvider(mockEnvironment)).locate(ENV); assertThat(propertySource.containsProperty("spring.cloud.kubernetes.configuration.watcher.refreshDelay")) .isTrue(); } @@ -121,21 +121,20 @@ class KubernetesClientConfigMapPropertySourceLocatorTests { KubernetesClientProperties kubernetesClientProperties = new KubernetesClientProperties(); kubernetesClientProperties.setNamespace("dev"); PropertySource> propertySource = new KubernetesClientConfigMapPropertySourceLocator(api, - configMapConfigProperties, kubernetesClientProperties).locate(ENV); + configMapConfigProperties, new KubernetesNamespaceProvider(new MockEnvironment())).locate(ENV); assertThat(propertySource.containsProperty("spring.cloud.kubernetes.configuration.watcher.refreshDelay")) .isTrue(); } /** *
- * 1. using the deprecated constructor, and - * 2. not providing the namespace + * 1. not providing the namespace ** * will result in an Exception */ @Test - void testLocateWithoutNamespaceDeprecatedConstructor() { + void testLocateWithoutNamespaceConstructor() { CoreV1Api api = new CoreV1Api(); stubFor(get("/api/v1/namespaces/default/configmaps") .willReturn(aResponse().withStatus(200).withBody(new JSON().serialize(PROPERTIES_CONFIGMAP_LIST)))); @@ -144,13 +143,13 @@ class KubernetesClientConfigMapPropertySourceLocatorTests { KubernetesClientProperties kubernetesClientProperties = new KubernetesClientProperties(); kubernetesClientProperties.setNamespace(""); // empty on purpose assertThatThrownBy(() -> new KubernetesClientConfigMapPropertySourceLocator(api, configMapConfigProperties, - kubernetesClientProperties).locate(ENV)).isInstanceOf(NamespaceResolutionFailedException.class); + new KubernetesNamespaceProvider(new MockEnvironment())).locate(ENV)) + .isInstanceOf(NamespaceResolutionFailedException.class); } /** *
- * 1. using the non-deprecated constructor, and - * 2. not providing the namespace + * 1. not providing the namespace ** * will result in an Exception diff --git a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceTests.java b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceTests.java index 404203a5..7bbccd71 100644 --- a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceTests.java +++ b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigMapPropertySourceTests.java @@ -145,24 +145,12 @@ class KubernetesClientConfigMapPropertySourceTests { .isEqualTo("TRACE"); } - @Test - void deprecatedConstructorWithoutNamespaceMustFail() { - assertThatThrownBy(() -> new KubernetesClientConfigMapPropertySource(new CoreV1Api(), "configmap", null, - new MockEnvironment())).isInstanceOf(NamespaceResolutionFailedException.class); - } - @Test void constructorWithoutNamespaceMustFail() { assertThatThrownBy(() -> new KubernetesClientConfigMapPropertySource(new CoreV1Api(), "configmap", null, new MockEnvironment(), "", false, false)).isInstanceOf(NamespaceResolutionFailedException.class); } - @Test - void deprecatedConstructorWithNamespaceMustNotFail() { - assertThat(new KubernetesClientConfigMapPropertySource(new CoreV1Api(), "configmap", "namespace", - new MockEnvironment())).isNotNull(); - } - @Test void constructorWithNamespaceMustNotFail() { assertThat(new KubernetesClientConfigMapPropertySource(new CoreV1Api(), "configmap", "namespace", diff --git a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocatorTests.java b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocatorTests.java index da5a8b43..28abe97c 100644 --- a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocatorTests.java +++ b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceLocatorTests.java @@ -30,7 +30,6 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException; import org.springframework.cloud.kubernetes.commons.config.SecretsConfigProperties; @@ -121,7 +120,7 @@ class KubernetesClientSecretsPropertySourceLocatorTests { secretsConfigProperties.setSources(sources); secretsConfigProperties.setEnableApi(true); PropertySource> propertySource = new KubernetesClientSecretsPropertySourceLocator(api, - new KubernetesClientProperties(), secretsConfigProperties).locate(ENV); + new KubernetesNamespaceProvider(new MockEnvironment()), secretsConfigProperties).locate(ENV); assertThat(propertySource.containsProperty("password")).isTrue(); assertThat(propertySource.getProperty("password")).isEqualTo("p455w0rd"); } @@ -135,29 +134,29 @@ class KubernetesClientSecretsPropertySourceLocatorTests { secretsConfigProperties.setNamespace("default"); secretsConfigProperties.setEnableApi(true); PropertySource> propertySource = new KubernetesClientSecretsPropertySourceLocator(api, - new KubernetesClientProperties(), secretsConfigProperties).locate(ENV); + new KubernetesNamespaceProvider(new MockEnvironment()), secretsConfigProperties).locate(ENV); assertThat(propertySource.containsProperty("password")).isTrue(); assertThat(propertySource.getProperty("password")).isEqualTo("p455w0rd"); } /** *
- * 1. using the deprecated constructor, and - * 2. not providing the namespace + * 1. not providing the namespace ** * will result in an Exception */ @Test - void testLocateWithoutNamespaceDeprecatedConstructor() { + void testLocateWithoutNamespaceConstructor() { CoreV1Api api = new CoreV1Api(); stubFor(get(LIST_API).willReturn(aResponse().withStatus(200).withBody(LIST_BODY))); SecretsConfigProperties secretsConfigProperties = new SecretsConfigProperties(); secretsConfigProperties.setName("db-secret"); secretsConfigProperties.setNamespace(""); // empty on purpose secretsConfigProperties.setEnableApi(true); - assertThatThrownBy(() -> new KubernetesClientSecretsPropertySourceLocator(api, new KubernetesClientProperties(), - secretsConfigProperties).locate(ENV)).isInstanceOf(NamespaceResolutionFailedException.class); + assertThatThrownBy(() -> new KubernetesClientSecretsPropertySourceLocator(api, + new KubernetesNamespaceProvider(new MockEnvironment()), secretsConfigProperties).locate(ENV)) + .isInstanceOf(NamespaceResolutionFailedException.class); } @Test diff --git a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceTests.java b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceTests.java index c426c4e0..0ad304ab 100644 --- a/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceTests.java +++ b/spring-cloud-kubernetes-client-config/src/test/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientSecretsPropertySourceTests.java @@ -61,8 +61,6 @@ class KubernetesClientSecretsPropertySourceTests { .withNamespace("default").build()) .addToData("password", "p455w0rd".getBytes()).addToData("username", "user".getBytes()).build()).build(); - private static final String LIST_API = "/api/v1/secrets"; - private static final String LIST_API_WITH_LABEL = "/api/v1/namespaces/default/secrets?labelSelector=spring.cloud.kubernetes.secret%3Dtrue"; private static final String LIST_BODY = "{\n" + "\t\"kind\": \"SecretList\",\n" + "\t\"apiVersion\": \"v1\",\n" @@ -104,6 +102,7 @@ class KubernetesClientSecretsPropertySourceTests { @AfterAll static void after() { + WireMock.shutdownServer(); wireMockServer.stop(); } diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/ConfigMapConfigProperties.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/ConfigMapConfigProperties.java index 1be1f2b9..01624f77 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/ConfigMapConfigProperties.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/ConfigMapConfigProperties.java @@ -185,14 +185,6 @@ public class ConfigMapConfigProperties extends AbstractConfigProperties { return !StringUtils.hasLength(this.name) && !StringUtils.hasLength(this.namespace); } - // not used, but not removed because of potential compatibility reasons - @Deprecated - public NormalizedSource normalize(String defaultName, String defaultNamespace) { - String normalizedName = StringUtils.hasLength(this.name) ? this.name : defaultName; - String normalizedNamespace = StringUtils.hasLength(this.namespace) ? this.namespace : defaultNamespace; - return new NormalizedSource(normalizedName, normalizedNamespace, "", true); - } - public NormalizedSource normalize(String defaultName, String defaultNamespace, boolean defaultUseNameAsPrefix, boolean defaultIncludeProfileSpecificSources) { String normalizedName = StringUtils.hasLength(this.name) ? this.name : defaultName; @@ -233,15 +225,6 @@ public class ConfigMapConfigProperties extends AbstractConfigProperties { private final boolean includeProfileSpecificSources; - // not used, but not removed because of potential compatibility reasons - @Deprecated - NormalizedSource(String name, String namespace) { - this.name = name; - this.namespace = namespace; - this.prefix = ""; - this.includeProfileSpecificSources = true; - } - NormalizedSource(String name, String namespace, String prefix, boolean includeProfileSpecificSources) { this.name = name; this.namespace = namespace; diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingConfigMapChangeDetector.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingConfigMapChangeDetector.java index e9a73785..be75cb39 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingConfigMapChangeDetector.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingConfigMapChangeDetector.java @@ -23,7 +23,6 @@ import jakarta.annotation.PostConstruct; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.boot.task.TaskSchedulerBuilder; import org.springframework.cloud.bootstrap.config.PropertySourceLocator; import org.springframework.core.env.AbstractEnvironment; import org.springframework.core.env.MapPropertySource; @@ -50,16 +49,6 @@ public class PollingConfigMapChangeDetector extends ConfigurationChangeDetector private Duration period = Duration.ofMillis(1500); - @Deprecated - public PollingConfigMapChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, - ConfigurationUpdateStrategy strategy, Class propertySourceClass, - PropertySourceLocator propertySourceLocator) { - super(environment, properties, strategy); - this.propertySourceLocator = propertySourceLocator; - this.propertySourceClass = propertySourceClass; - this.taskExecutor = new TaskSchedulerBuilder().build(); - } - public PollingConfigMapChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, Class propertySourceClass, PropertySourceLocator propertySourceLocator, TaskScheduler taskExecutor) { diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingSecretsChangeDetector.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingSecretsChangeDetector.java index e4091dfe..78ad722a 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingSecretsChangeDetector.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/PollingSecretsChangeDetector.java @@ -23,7 +23,6 @@ import jakarta.annotation.PostConstruct; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.boot.task.TaskSchedulerBuilder; import org.springframework.cloud.bootstrap.config.PropertySourceLocator; import org.springframework.core.env.AbstractEnvironment; import org.springframework.core.env.MapPropertySource; @@ -50,16 +49,6 @@ public class PollingSecretsChangeDetector extends ConfigurationChangeDetector { private Duration period = Duration.ofMillis(1500); - @Deprecated - public PollingSecretsChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, - ConfigurationUpdateStrategy strategy, Class propertySourceClass, - PropertySourceLocator propertySourceLocator) { - super(environment, properties, strategy); - this.propertySourceClass = propertySourceClass; - this.propertySourceLocator = propertySourceLocator; - this.taskExecutor = new TaskSchedulerBuilder().build(); - } - public PollingSecretsChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, ConfigurationUpdateStrategy strategy, Class propertySourceClass, PropertySourceLocator propertySourceLocator, TaskScheduler taskExecutor) { diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySource.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySource.java index 24136a6f..2ede1b5c 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySource.java +++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySource.java @@ -44,26 +44,6 @@ public class Fabric8ConfigMapPropertySource extends ConfigMapPropertySource { private static final Log LOG = LogFactory.getLog(Fabric8ConfigMapPropertySource.class); - /** - * this constructor is present only for compatibility reasons, its usage is - * discouraged. - */ - @Deprecated - public Fabric8ConfigMapPropertySource(KubernetesClient client, String name) { - this(client, name, null, null, "", true, false); - } - - /** - * this constructor is present only for compatibility reasons, its usage is - * discouraged. - */ - @Deprecated - public Fabric8ConfigMapPropertySource(KubernetesClient client, String name, String namespace, - Environment environment) { - super(getName(name, getApplicationNamespace(client, namespace, "Config Map", null)), getData(client, name, - getApplicationNamespace(client, namespace, "Config Map", null), environment, "", true, false)); - } - public Fabric8ConfigMapPropertySource(KubernetesClient client, String name, String namespace, Environment environment, String prefix, boolean includeProfileSpecificSources, boolean failFast) { super(getName(name, getApplicationNamespace(client, namespace, "Config Map", null)), diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocator.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocator.java index 21c6b79a..25f58672 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocator.java +++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceLocator.java @@ -43,20 +43,6 @@ public class Fabric8ConfigMapPropertySourceLocator extends ConfigMapPropertySour private final KubernetesNamespaceProvider provider; - /** - * This constructor is deprecated. Its usage might cause unexpected behavior when - * looking for different properties. For example, in general, if a namespace is not - * provided, we might look it up via other means: different documented environment - * variables or from a kubernetes client itself. Using this constructor might not - * reflect that. - */ - @Deprecated - public Fabric8ConfigMapPropertySourceLocator(KubernetesClient client, ConfigMapConfigProperties properties) { - super(properties); - this.client = client; - this.provider = null; - } - public Fabric8ConfigMapPropertySourceLocator(KubernetesClient client, ConfigMapConfigProperties properties, KubernetesNamespaceProvider provider) { super(properties); diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtils.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtils.java index f021ed13..ca22e58f 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtils.java +++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigUtils.java @@ -40,29 +40,6 @@ public final class Fabric8ConfigUtils { private Fabric8ConfigUtils() { } - /* - * this is not used, it is here for compatibility reasons only. - */ - @Deprecated - public static String getApplicationNamespace(KubernetesClient client, String namespace, - String configurationTarget) { - if (!StringUtils.hasLength(namespace)) { - LOG.debug(configurationTarget + " namespace has not been set, taking it from client (ns=" - + client.getNamespace() + ")"); - namespace = client.getNamespace(); - } - - return namespace; - } - - /* - * this is not used, it is here for compatibility reasons only. - */ - @Deprecated - public static String getApplicationNamespace(KubernetesClient client, String namespace) { - return !StringUtils.hasLength(namespace) ? client.getNamespace() : namespace; - } - /** * this method does the namespace resolution for both config map and secrets * implementations. It tries these places to find the namespace: diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8SecretsPropertySourceLocator.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8SecretsPropertySourceLocator.java index 7f55e4e3..ca1addde 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8SecretsPropertySourceLocator.java +++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8SecretsPropertySourceLocator.java @@ -45,20 +45,6 @@ public class Fabric8SecretsPropertySourceLocator extends SecretsPropertySourceLo private final KubernetesNamespaceProvider provider; - /** - * This constructor is deprecated. Its usage might cause unexpected behavior when - * looking for different properties. For example, in general, if a namespace is not - * provided, we might look it up via other means: different documented environment - * variables or from a kubernetes client itself. Using this constructor might not - * reflect that. - */ - @Deprecated - public Fabric8SecretsPropertySourceLocator(KubernetesClient client, SecretsConfigProperties properties) { - super(properties); - this.client = client; - this.provider = null; - } - public Fabric8SecretsPropertySourceLocator(KubernetesClient client, SecretsConfigProperties properties, KubernetesNamespaceProvider provider) { super(properties); 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 0e1a859a..5da4407a 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 @@ -25,6 +25,8 @@ import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient; import org.junit.jupiter.api.Test; +import org.springframework.mock.env.MockEnvironment; + import static org.assertj.core.api.Assertions.assertThat; /** @@ -72,7 +74,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "test", + new MockEnvironment(), "", false, false); assertThat(cmps.getProperty("dummy.property.string1")).isEqualTo("a"); assertThat(cmps.getProperty("dummy.property.int1")).isEqualTo("1"); @@ -87,7 +90,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "test", + new MockEnvironment(), "", false, false); assertThat(cmps.getProperty("dummy.property.string2")).isEqualTo("a"); assertThat(cmps.getProperty("dummy.property.int2")).isEqualTo(1); @@ -102,7 +106,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "test", + new MockEnvironment(), "", false, false); assertThat(cmps.getProperty("dummy.property.string3")).isEqualTo("a"); assertThat(cmps.getProperty("dummy.property.int3")).isEqualTo(1); @@ -117,7 +122,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "namespace", + new MockEnvironment(), "", false, false); // no exception is thrown for unparseable content } @@ -130,7 +136,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "namespace", + new MockEnvironment(), "", false, false); // no exception is thrown for unparseable content } @@ -144,7 +151,8 @@ public class ConfigMapsTest { mockClient.configMaps().inNamespace("test").create(configMap); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName); + Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(mockClient, configMapName, "test", + new MockEnvironment(), "", true, false); // application.properties should be read correctly assertThat(cmps.getProperty("dummy.property.string1")).isEqualTo("a"); diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java index 62912972..2da67dae 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapPropertySourceTests.java @@ -65,65 +65,29 @@ class Fabric8ConfigMapPropertySourceTests { new MockEnvironment(), "", false, false)); } - @Test - void deprecatedConstructorWithoutClientNamespaceMustFail() { - - Mockito.when(client.getNamespace()).thenReturn(null); - assertThatThrownBy(() -> new Fabric8ConfigMapPropertySource(client, "configmap")) - .isInstanceOf(NamespaceResolutionFailedException.class); - } - - @Test - void deprecatedConstructorWithClientNamespaceMustNotFail() { - - Mockito.when(client.getNamespace()).thenReturn("some"); - assertThat(new Fabric8ConfigMapPropertySource(client, "configmap")).isNotNull(); - } - - @Test - void anotherDeprecatedConstructorWithoutClientNamespaceMustFail() { - - Mockito.when(client.getNamespace()).thenReturn(null); - assertThatThrownBy(() -> new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment())) - .isInstanceOf(NamespaceResolutionFailedException.class); - } - - @Test - void anotherDeprecatedConstructorWithClientNamespaceMustNotFail() { - - Mockito.when(client.getNamespace()).thenReturn("some-namespace"); - assertThat(new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment())).isNotNull(); - } - - @Test - void anotherDeprecatedConstructorWithNamespaceMustNotFail() { - - Mockito.when(client.getNamespace()).thenReturn(null); - assertThat(new Fabric8ConfigMapPropertySource(client, "configmap", "namespace", new MockEnvironment())) - .isNotNull(); - } - @Test void constructorWithoutClientNamespaceMustFail() { Mockito.when(client.getNamespace()).thenReturn(null); - assertThatThrownBy(() -> new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment())) - .isInstanceOf(NamespaceResolutionFailedException.class); + assertThatThrownBy(() -> new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment(), + "", false, false)).isInstanceOf(NamespaceResolutionFailedException.class); } @Test void constructorWithClientNamespaceMustNotFail() { Mockito.when(client.getNamespace()).thenReturn("namespace"); - assertThat(new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment())).isNotNull(); + assertThat( + new Fabric8ConfigMapPropertySource(client, "configmap", null, new MockEnvironment(), "", false, false)) + .isNotNull(); } @Test void constructorWithNamespaceMustNotFail() { Mockito.when(client.getNamespace()).thenReturn(null); - assertThat(new Fabric8ConfigMapPropertySource(client, "configmap", "namespace", new MockEnvironment())) - .isNotNull(); + assertThat(new Fabric8ConfigMapPropertySource(client, "configmap", "namespace", new MockEnvironment(), "", + false, false)).isNotNull(); } } 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 c1750ae3..bc8df7a2 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 @@ -42,13 +42,13 @@ public class Fabric8ConfigUtilsTests { @Test public void testGetApplicationNamespaceNotPresent() { - String result = Fabric8ConfigUtils.getApplicationNamespace(client, "", "target"); + String result = Fabric8ConfigUtils.getApplicationNamespace(client, "", "target", null); assertThat(result).isEqualTo("test"); } @Test public void testGetApplicationNamespacePresent() { - String result = Fabric8ConfigUtils.getApplicationNamespace(client, "namespace", "target"); + String result = Fabric8ConfigUtils.getApplicationNamespace(client, "namespace", "target", null); assertThat(result).isEqualTo("namespace"); } diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/EventBasedConfigurationChangeDetectorTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/EventBasedConfigurationChangeDetectorTests.java index 738627b4..3216ccb2 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/EventBasedConfigurationChangeDetectorTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/reload/EventBasedConfigurationChangeDetectorTests.java @@ -64,7 +64,7 @@ public class EventBasedConfigurationChangeDetectorTests { when(k8sClient.getNamespace()).thenReturn("default"); Fabric8ConfigMapPropertySource fabric8ConfigMapPropertySource = new Fabric8ConfigMapPropertySource(k8sClient, - "myconfigmap"); + "myconfigmap", "default", new MockEnvironment(), "", true, false); env.getPropertySources().addFirst(new BootstrapPropertySource<>(fabric8ConfigMapPropertySource)); ConfigurationUpdateStrategy configurationUpdateStrategy = mock(ConfigurationUpdateStrategy.class);