use of com.alibaba.nacos.client.naming.core.ServerListManager in project nacos by alibaba.
the class NamingHttpClientProxyTest method testUpdateBeatInfo.
@Test
public void testUpdateBeatInfo() throws Exception {
// given
BeatReactor mockBeatReactor = mock(BeatReactor.class);
Field dom2Beat = BeatReactor.class.getDeclaredField("dom2Beat");
ConcurrentHashMap<String, BeatInfo> beatMap = new ConcurrentHashMap<>();
String beatServiceName = "service1#127.0.0.1#10000";
beatMap.put(beatServiceName, new BeatInfo());
dom2Beat.setAccessible(true);
dom2Beat.set(mockBeatReactor, beatMap);
SecurityProxy proxy = mock(SecurityProxy.class);
ServerListManager mgr = mock(ServerListManager.class);
when(mgr.getServerList()).thenReturn(Arrays.asList("localhost"));
Properties props = new Properties();
ServiceInfoHolder holder = mock(ServiceInfoHolder.class);
NamingHttpClientProxy clientProxy = new NamingHttpClientProxy("namespaceId", proxy, mgr, props, holder);
final Field mockBeatReactorField = NamingHttpClientProxy.class.getDeclaredField("beatReactor");
mockBeatReactorField.setAccessible(true);
mockBeatReactorField.set(clientProxy, mockBeatReactor);
Instance instance = new Instance();
instance.setInstanceId("id1");
instance.setIp("127.0.0.1");
instance.setPort(10000);
instance.setServiceName("service1");
instance.setClusterName("cluster1");
Set<Instance> beats = new HashSet<>();
beats.add(instance);
when(mockBeatReactor.buildKey("service1", "127.0.0.1", 10000)).thenReturn(beatServiceName);
// when
clientProxy.updateBeatInfo(beats);
// then
verify(mockBeatReactor, times(1)).addBeatInfo(eq("service1"), any());
}
use of com.alibaba.nacos.client.naming.core.ServerListManager in project nacos by alibaba.
the class NamingHttpClientProxyTest method testSubscribe.
@Test
public void testSubscribe() throws Exception {
// given
NacosRestTemplate nacosRestTemplate = mock(NacosRestTemplate.class);
HttpRestResult<Object> a = new HttpRestResult<Object>();
a.setData("");
a.setCode(200);
when(nacosRestTemplate.exchangeForm(any(), any(), any(), any(), any(), any())).thenReturn(a);
SecurityProxy proxy = mock(SecurityProxy.class);
ServerListManager mgr = mock(ServerListManager.class);
when(mgr.getServerList()).thenReturn(Arrays.asList("localhost"));
Properties props = new Properties();
ServiceInfoHolder holder = mock(ServiceInfoHolder.class);
NamingHttpClientProxy clientProxy = new NamingHttpClientProxy("namespaceId", proxy, mgr, props, holder);
final Field nacosRestTemplateField = NamingHttpClientProxy.class.getDeclaredField("nacosRestTemplate");
nacosRestTemplateField.setAccessible(true);
nacosRestTemplateField.set(clientProxy, nacosRestTemplate);
String groupName = "group1";
String serviceName = "serviceName";
String clusters = "clusters";
// when
ServiceInfo serviceInfo = clientProxy.subscribe(serviceName, groupName, clusters);
// then
verify(nacosRestTemplate, times(1)).exchangeForm(endsWith("/instance/list"), any(), any(), any(), eq(HttpMethod.GET), any());
Assert.assertEquals(groupName + "@@" + serviceName, serviceInfo.getName());
Assert.assertEquals(clusters, serviceInfo.getClusters());
}
use of com.alibaba.nacos.client.naming.core.ServerListManager in project nacos by alibaba.
the class NamingHttpClientProxyTest method testCreateService.
@Test
public void testCreateService() throws Exception {
// given
NacosRestTemplate nacosRestTemplate = mock(NacosRestTemplate.class);
HttpRestResult<Object> a = new HttpRestResult<Object>();
a.setData("");
a.setCode(200);
when(nacosRestTemplate.exchangeForm(any(), any(), any(), any(), any(), any())).thenReturn(a);
SecurityProxy proxy = mock(SecurityProxy.class);
ServerListManager mgr = mock(ServerListManager.class);
when(mgr.getServerList()).thenReturn(Arrays.asList("localhost"));
Properties props = new Properties();
ServiceInfoHolder holder = mock(ServiceInfoHolder.class);
NamingHttpClientProxy clientProxy = new NamingHttpClientProxy("namespaceId", proxy, mgr, props, holder);
final Field nacosRestTemplateField = NamingHttpClientProxy.class.getDeclaredField("nacosRestTemplate");
nacosRestTemplateField.setAccessible(true);
nacosRestTemplateField.set(clientProxy, nacosRestTemplate);
// when
clientProxy.createService(new Service(), new NoneSelector());
// then
verify(nacosRestTemplate, times(1)).exchangeForm(endsWith(UtilAndComs.nacosUrlService), any(), any(), any(), eq(HttpMethod.POST), any());
}
use of com.alibaba.nacos.client.naming.core.ServerListManager in project nacos by alibaba.
the class NamingHttpClientProxyTest method testUnsubscribe.
@Test
public void testUnsubscribe() throws Exception {
// TODO thrown.expect(UnsupportedOperationException.class);
// given
NacosRestTemplate nacosRestTemplate = mock(NacosRestTemplate.class);
HttpRestResult<Object> a = new HttpRestResult<Object>();
a.setData("");
a.setCode(200);
when(nacosRestTemplate.exchangeForm(any(), any(), any(), any(), any(), any())).thenReturn(a);
SecurityProxy proxy = mock(SecurityProxy.class);
ServerListManager mgr = mock(ServerListManager.class);
when(mgr.getServerList()).thenReturn(Arrays.asList("localhost"));
Properties props = new Properties();
ServiceInfoHolder holder = mock(ServiceInfoHolder.class);
NamingHttpClientProxy clientProxy = new NamingHttpClientProxy("namespaceId", proxy, mgr, props, holder);
final Field nacosRestTemplateField = NamingHttpClientProxy.class.getDeclaredField("nacosRestTemplate");
nacosRestTemplateField.setAccessible(true);
nacosRestTemplateField.set(clientProxy, nacosRestTemplate);
String groupName = "group1";
String serviceName = "serviceName";
String clusters = "clusters";
// when
clientProxy.unsubscribe(serviceName, groupName, clusters);
}
use of com.alibaba.nacos.client.naming.core.ServerListManager in project nacos by alibaba.
the class NacosNamingMaintainService method init.
private void init(Properties properties) throws NacosException {
ValidatorUtils.checkInitParam(properties);
namespace = InitUtils.initNamespaceForNaming(properties);
InitUtils.initSerialization();
InitUtils.initWebRootContext(properties);
serverListManager = new ServerListManager(properties, namespace);
securityProxy = new SecurityProxy(serverListManager.getServerList(), NamingHttpClientManager.getInstance().getNacosRestTemplate());
initSecurityProxy(properties);
serverProxy = new NamingHttpClientProxy(namespace, securityProxy, serverListManager, properties, null);
}
Aggregations