use of com.alibaba.nacos.common.http.HttpRestResult in project nacos by alibaba.
the class NamingHttpClientProxyTest method testGetServiceList.
@Test
public void testGetServiceList() throws Exception {
// given
NacosRestTemplate nacosRestTemplate = mock(NacosRestTemplate.class);
HttpRestResult<Object> a = new HttpRestResult<Object>();
a.setData("{\"count\":2,\"doms\":[\"aaa\",\"bbb\"]}");
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";
// when
ListView<String> serviceList = clientProxy.getServiceList(1, 10, groupName, new NoneSelector());
// then
verify(nacosRestTemplate, times(1)).exchangeForm(endsWith("/service/list"), any(), any(), any(), eq(HttpMethod.GET), any());
Assert.assertEquals(2, serviceList.getCount());
Assert.assertEquals("aaa", serviceList.getData().get(0));
Assert.assertEquals("bbb", serviceList.getData().get(1));
}
use of com.alibaba.nacos.common.http.HttpRestResult in project nacos by alibaba.
the class NamingHttpClientProxyTest method testReqApi2.
@Test
public void testReqApi2() throws Exception {
// given
NacosRestTemplate nacosRestTemplate = mock(NacosRestTemplate.class);
when(nacosRestTemplate.exchangeForm(any(), any(), any(), any(), any(), any())).thenAnswer(invocationOnMock -> {
// return url
HttpRestResult<Object> res = new HttpRestResult<Object>();
res.setData(invocationOnMock.getArgument(0));
res.setCode(200);
return res;
});
SecurityProxy proxy = mock(SecurityProxy.class);
ServerListManager mgr = mock(ServerListManager.class);
when(mgr.getServerList()).thenReturn(Arrays.asList("localhost"));
ServiceInfoHolder holder = mock(ServiceInfoHolder.class);
NamingHttpClientProxy clientProxy = new NamingHttpClientProxy("namespaceId", proxy, mgr, new Properties(), holder);
final Field nacosRestTemplateField = NamingHttpClientProxy.class.getDeclaredField("nacosRestTemplate");
nacosRestTemplateField.setAccessible(true);
nacosRestTemplateField.set(clientProxy, nacosRestTemplate);
String api = "/api";
Map<String, String> params = new HashMap<>();
Map<String, String> body = new HashMap<>();
String method = HttpMethod.GET;
// when
String res = clientProxy.reqApi(api, params, body, method);
// then
Assert.assertEquals("http://localhost:8848/api", res);
}
use of com.alibaba.nacos.common.http.HttpRestResult in project nacos by alibaba.
the class AbstractResponseHandler method handleError.
private HttpRestResult<T> handleError(HttpClientResponse response) throws Exception {
Header headers = response.getHeaders();
String message = IoUtils.toString(response.getBody(), headers.getCharset());
return new HttpRestResult<T>(headers, response.getStatusCode(), null, message);
}
use of com.alibaba.nacos.common.http.HttpRestResult in project nacos by alibaba.
the class BeanResponseHandler method convertResult.
@Override
public HttpRestResult<T> convertResult(HttpClientResponse response, Type responseType) throws Exception {
final Header headers = response.getHeaders();
InputStream body = response.getBody();
T extractBody = JacksonUtils.toObj(body, responseType);
return new HttpRestResult<T>(headers, response.getStatusCode(), extractBody, null);
}
use of com.alibaba.nacos.common.http.HttpRestResult in project nacos by alibaba.
the class StringResponseHandler method convertResult.
@Override
public HttpRestResult<String> convertResult(HttpClientResponse response, Type responseType) throws Exception {
final Header headers = response.getHeaders();
String extractBody = IoUtils.toString(response.getBody(), headers.getCharset());
return new HttpRestResult<String>(headers, response.getStatusCode(), extractBody, null);
}
Aggregations