Skip to content

Commit

Permalink
补充test
Browse files Browse the repository at this point in the history
Signed-off-by: xiaozhao <[email protected]>
  • Loading branch information
xiaozhao committed Nov 30, 2024
1 parent 6433cb0 commit 26f3c0f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import com.alibaba.nacos.api.naming.pojo.ListView;
import com.google.common.collect.Maps;
import io.sermant.core.plugin.config.PluginConfigManager;
import io.sermant.core.utils.ReflectUtils;
import io.sermant.discovery.config.NacosRegisterConfig;
import io.sermant.discovery.config.RegisterType;
import io.sermant.discovery.entity.DefaultServiceInstance;
import io.sermant.discovery.entity.RegisterContext;
import io.sermant.discovery.entity.ServiceInstance;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand All @@ -22,21 +25,14 @@
import org.mockito.junit.MockitoJUnitRunner;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.when;

@RunWith(MockitoJUnitRunner.class)
public class NacosDiscoveryClientTest {

@Mock
private NamingService namingService;

private NacosRegisterConfig registerConfig = new NacosRegisterConfig();

private NacosDiscoveryClient nacosDiscoveryClient;
Expand Down Expand Up @@ -74,9 +70,6 @@ public void testRegister() throws NacosException {
instance.setPort(8080);
instance.setServiceName("test");

when(namingService.selectInstances(anyString(), any(Boolean.class), any(Boolean.class)))
.thenReturn(Arrays.asList(instance));

Map<String, String> metadata = new HashMap<>();
metadata.put("version", "1.0.0");
metadata.put("environment", "dev");
Expand All @@ -96,21 +89,44 @@ public void testDeregister() throws NacosException {
Map<String, Instance> instanceMap = new HashMap<>();
instanceMap.put("1.1.1.1:8080", instance);

when(namingService.selectInstances(anyString(), any(Boolean.class), any(Boolean.class)))
.thenReturn(Arrays.asList(instance));

nacosDiscoveryClient.unRegistry();
}

@Test
public void testGetInstances() throws NacosException {
mockNamingService();
nacosDiscoveryClient.getInstances("test");
}

@Test
public void testRegisterType(){
Assert.assertEquals(nacosDiscoveryClient.registerType(), RegisterType.NACOS);
}

@Test
public void testConvertServiceInstanceList(){
Instance instance = new Instance();
instance.setInstanceId("1.1.1.1:8080");
instance.setWeight(1.0D);
instance.setHealthy(true);
instance.setClusterName("DEFAULT");
instance.setMetadata(Maps.newHashMap());
instance.setEnabled(true);
instance.setEphemeral(false);

instance.setIp("1.1.1.1");
instance.setPort(8080);
instance.setServiceName("test");
List<ServiceInstance> serviceInstances = nacosDiscoveryClient.convertServiceInstanceList(Collections.singletonList(instance), "test");
Assert.assertEquals(serviceInstances.size(), 1);
}

private void mockNamingService() throws NacosException {
final NamingService namingService = Mockito.mock(NamingService.class);
List<String> list = new ArrayList<>();
list.add("test");
ListView<String> services = new ListView<>();
services.setData(list);
Mockito.when(namingService.getServicesOfServer(1, Integer.MAX_VALUE, registerConfig.getGroup()))
.thenReturn(services);
final NamingMaintainService namingMaintainService = Mockito.mock(NamingMaintainService.class);
ReflectUtils.setFieldValue(nacosServiceManager, "namingService", namingService);
ReflectUtils.setFieldValue(nacosServiceManager, "namingMaintainService", namingMaintainService);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
package io.sermant.discovery.service.lb.discovery.nacos;

import java.util.*;
import java.math.*;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

Expand Down

0 comments on commit 26f3c0f

Please sign in to comment.