From c3fc604f9638de035a20fa5c31cb53e29ef23305 Mon Sep 17 00:00:00 2001 From: dyx1234 <2060307490@qq.com> Date: Mon, 21 Oct 2024 10:19:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Arename=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../K8sConfigMapConfigRepository.java | 16 ++++++- .../KubernetesManager.java | 2 +- .../K8sConfigMapConfigRepositoryTest.java | 47 ++++++++----------- .../KubernetesManagerTest.java | 2 +- 4 files changed, 36 insertions(+), 31 deletions(-) rename apollo-client/src/main/java/com/ctrip/framework/apollo/{Kubernetes => kubernetes}/KubernetesManager.java (99%) rename apollo-client/src/test/java/com/ctrip/framework/apollo/{Kubernetes => kubernetes}/KubernetesManagerTest.java (99%) diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepository.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepository.java index 278abaf5..340fd548 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepository.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepository.java @@ -16,7 +16,7 @@ */ package com.ctrip.framework.apollo.internals; -import com.ctrip.framework.apollo.Kubernetes.KubernetesManager; +import com.ctrip.framework.apollo.kubernetes.KubernetesManager; import com.ctrip.framework.apollo.build.ApolloInjector; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.utils.DeferredLoggerFactory; @@ -60,7 +60,19 @@ public class K8sConfigMapConfigRepository extends AbstractConfigRepository * @param namespace the namespace */ public K8sConfigMapConfigRepository(String namespace) { - this(namespace, null); + this(namespace, (ConfigRepository) null); + } + + public K8sConfigMapConfigRepository(String namespace, KubernetesManager kubernetesManager) { + this.namespace = namespace; + configUtil = ApolloInjector.getInstance(ConfigUtil.class); + kubernetesManager = ApolloInjector.getInstance(KubernetesManager.class); + configMapNamespace = configUtil.getConfigMapNamespace(); + this.kubernetesManager = kubernetesManager; + + this.setConfigMapKey(configUtil.getCluster(), namespace); + this.setConfigMapName(configUtil.getAppId(), false); + this.setUpstreamRepository(upstream); } public K8sConfigMapConfigRepository(String namespace, ConfigRepository upstream) { diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManager.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/kubernetes/KubernetesManager.java similarity index 99% rename from apollo-client/src/main/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManager.java rename to apollo-client/src/main/java/com/ctrip/framework/apollo/kubernetes/KubernetesManager.java index ed8d82ad..dacab57a 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManager.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/kubernetes/KubernetesManager.java @@ -14,7 +14,7 @@ * limitations under the License. * */ -package com.ctrip.framework.apollo.Kubernetes; +package com.ctrip.framework.apollo.kubernetes; import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.ApiException; diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepositoryTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepositoryTest.java index 0c8b3828..344d4c9f 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepositoryTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/K8sConfigMapConfigRepositoryTest.java @@ -16,7 +16,7 @@ */ package com.ctrip.framework.apollo.internals; -import com.ctrip.framework.apollo.Kubernetes.KubernetesManager; +import com.ctrip.framework.apollo.kubernetes.KubernetesManager; import com.ctrip.framework.apollo.build.MockInjector; import com.ctrip.framework.apollo.enums.ConfigSourceType; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; @@ -28,13 +28,12 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.mockito.ArgumentCaptor; +import org.junit.jupiter.api.BeforeEach; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import java.util.Base64; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -52,8 +51,6 @@ public class K8sConfigMapConfigRepositoryTest { private static final String defaultValue = "defaultValue"; private ConfigSourceType someSourceType; private V1ConfigMap configMap; - - @Mock private CoreV1Api coreV1Api; @InjectMocks @@ -88,22 +85,18 @@ public void setUp() { when(configUtil.getDefaultLocalCacheDir()).thenReturn("/cache"); when(configUtil.getMetaServerDomainName()).thenReturn("http://meta.server"); + coreV1Api = mock(CoreV1Api.class); MockInjector.setInstance(ConfigUtil.class, configUtil); MockInjector.setInstance(CoreV1Api.class, coreV1Api); kubernetesManager = new KubernetesManager(coreV1Api); MockInjector.setInstance(KubernetesManager.class, kubernetesManager); - configmapRepo = mock(K8sConfigMapConfigRepository.class); + configmapRepo = new K8sConfigMapConfigRepository(someNamespace, kubernetesManager); MockInjector.setInstance(K8sConfigMapConfigRepository.class, configmapRepo); PropertiesFactory propertiesFactory = mock(PropertiesFactory.class); - when(propertiesFactory.getPropertiesInstance()).thenAnswer(new Answer() { - @Override - public Properties answer(InvocationOnMock invocation) { - return new Properties(); - } - }); + when(propertiesFactory.getPropertiesInstance()).thenReturn(new Properties()); MockInjector.setInstance(PropertiesFactory.class, propertiesFactory); } @@ -125,14 +118,14 @@ public void tearDown() throws Exception { // repo.setConfigMapName(someAppId, false); // assertEquals(someAppId, repo.getConfigMapName()); // } -// - @Test(expected = ApolloConfigException.class) + + @Test(expected = IllegalArgumentException.class) public void testSetConfigMapNameWithNullAppId() { K8sConfigMapConfigRepository repo = new K8sConfigMapConfigRepository(someNamespace); repo.setConfigMapName(null, false); } -// + // @Test // public void testOnRepositoryChange() throws Exception { // RepositoryChangeListener someListener = mock(RepositoryChangeListener.class); @@ -171,18 +164,18 @@ public void testSetConfigMapNameWithNullAppId() { // // 断言 K8sConfigMapConfigRepository 的源类型更新为 anotherSourceType // assertEquals(anotherSourceType, k8sConfigMapConfigRepository.getSourceType()); // } -// -// /** -// * 测试persistConfigMap方法成功持久化配置信息 -// */ -// @Test -// public void testPersistConfigMap() { -// K8sConfigMapConfigRepository repo = new K8sConfigMapConfigRepository(someNamespace); -// doNothing().when(kubernetesManager).updateConfigMap(anyString(), anyString(), anyMap()); -// repo.persistConfigMap(someProperties); -// verify(kubernetesManager, times(1)).updateConfigMap(anyString(), anyString(), anyMap()); -// } -// + + /** + * 测试persistConfigMap方法成功持久化配置信息 + */ + @Test + public void testPersistConfigMap() { + K8sConfigMapConfigRepository repo = new K8sConfigMapConfigRepository(someNamespace); + doNothing().when(kubernetesManager).updateConfigMap(anyString(), anyString(), anyMap()); + repo.persistConfigMap(someProperties); + verify(kubernetesManager, times(1)).updateConfigMap(anyString(), anyString(), anyMap()); + } + // /** // * 测试sync方法成功从上游数据源同步 // */ diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManagerTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/kubernetes/KubernetesManagerTest.java similarity index 99% rename from apollo-client/src/test/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManagerTest.java rename to apollo-client/src/test/java/com/ctrip/framework/apollo/kubernetes/KubernetesManagerTest.java index f806349d..515f96d3 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/Kubernetes/KubernetesManagerTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/kubernetes/KubernetesManagerTest.java @@ -14,7 +14,7 @@ * limitations under the License. * */ -package com.ctrip.framework.apollo.Kubernetes; +package com.ctrip.framework.apollo.kubernetes; import com.ctrip.framework.apollo.build.MockInjector; import io.kubernetes.client.openapi.ApiException;