import org.onap.msb.sdk.discovery.entity.RouteResult;
import org.onap.msb.sdk.discovery.util.HttpClientUtil;
import org.onap.msb.sdk.discovery.util.JacksonJsonUtil;
+import org.onap.msb.sdk.discovery.util.MsbUtil;
import org.onap.msb.sdk.discovery.util.RegExpTestUtil;
public MicroServiceFullInfo queryMicroServiceInfo(String msbAddress, String serviceName,
String version) throws RouteException {
- // 服务名空值检查
- if (StringUtils.isBlank(serviceName)) {
- throw new RouteException("ServiceName can't be empty", "DATA_FORMAT_ERROR");
- }
-
- // 版本号格式检查
- if (StringUtils.isNotBlank(version)) {
- if (!RegExpTestUtil.versionRegExpTest(version)) {
- throw new RouteException("version is not a valid format", "DATA_FORMAT_ERROR");
- }
- } else {
- version = "null";
- }
+ MsbUtil.checkServiceName(serviceName);
+ version=MsbUtil.checkVersion(version);
MicroServiceFullInfo microServiceInfo = null;
|| StringUtils.isBlank(microServiceInfo.getProtocol())
|| microServiceInfo.getNodes().size() == 0) {
- throw new RouteException(
- "register MicroServiceInfo FAIL: Some MicroServiceInfo's required fields are empty",
- "DATA_FORMAT_ERROR");
+ throw new RouteException("register MicroServiceInfo FAIL: Some MicroServiceInfo's required fields are empty","DATA_FORMAT_ERROR");
}
// 版本号格式检查
if (StringUtils.isNotBlank(microServiceInfo.getVersion())) {
if (!RegExpTestUtil.versionRegExpTest(microServiceInfo.getVersion())) {
- throw new RouteException("register MicroServiceInfo FAIL:version is not a valid format",
- "DATA_FORMAT_ERROR");
-
+ throw new RouteException("register MicroServiceInfo FAIL:version is not a valid format","DATA_FORMAT_ERROR");
}
}
// 服务协议取值范围检查
if (!RouteConst.checkExistProtocol(microServiceInfo.getProtocol().trim())) {
- throw new RouteException("register MicroServiceInfo FAIL:Protocol is wrong,value range:("
- + RouteConst.listProtocol() + ")", "DATA_FORMAT_ERROR");
+ throw new RouteException("register MicroServiceInfo FAIL:Protocol is wrong,value range:("+ RouteConst.listProtocol() + ")", "DATA_FORMAT_ERROR");
}
throws RouteException {
RouteResult result = new RouteResult();
- // 服务名空值检查
- if (StringUtils.isBlank(serviceName)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:ServiceName can't be empty",
- "DATA_FORMAT_ERROR");
-
- }
-
- // 版本号格式检查
- if (StringUtils.isNotBlank(version)) {
- if (!RegExpTestUtil.versionRegExpTest(version)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:version is not a valid format",
- "DATA_FORMAT_ERROR");
-
- }
- } else {
- version = "null";
- }
+ MsbUtil.checkServiceName(serviceName);
+ version=MsbUtil.checkVersion(version);
+
String url =
RouteResult result = new RouteResult();
- // 服务名空值检查
- if (StringUtils.isBlank(serviceName)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:ServiceName can't be empty",
- "DATA_FORMAT_ERROR");
-
- }
+ MsbUtil.checkServiceName(serviceName);
+ version=MsbUtil.checkVersion(version);
+
+ MsbUtil.checkHost(ip,port);
-
- // HOST空值和格式检查
- if (StringUtils.isBlank(ip)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:ip can't be empty",
- "DATA_FORMAT_ERROR");
- }
-
- if (StringUtils.isBlank(port)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:port can't be empty",
- "DATA_FORMAT_ERROR");
-
- }
-
- // 版本号格式检查
- if (StringUtils.isNotBlank(version)) {
- if (!RegExpTestUtil.versionRegExpTest(version)) {
- throw new RouteException("cancel MicroServiceInfo FAIL:version is not a valid format",
- "DATA_FORMAT_ERROR");
- }
- } else {
- version = "null";
- }
+
String url =
public NodeAddress healthCheckbyTTL(String msbAddress, String serviceName, String version,
String ip, String port) throws RouteException {
- // 服务名空值检查
- if (StringUtils.isBlank(serviceName)) {
- throw new RouteException("ServiceName can't be empty", "DATA_FORMAT_ERROR");
- }
-
- // 版本号格式检查
- if (StringUtils.isNotBlank(version)) {
- if (!RegExpTestUtil.versionRegExpTest(version)) {
- throw new RouteException("version is not a valid format", "DATA_FORMAT_ERROR");
- }
- } else {
- version = "null";
- }
-
-
- // HOST空值和格式检查
- if (StringUtils.isBlank(ip)) {
- throw new RouteException("healthCheck by TTL FAIL:ip can't be empty", "DATA_FORMAT_ERROR");
-
- }
-
- if (StringUtils.isBlank(port)) {
- throw new RouteException("healthCheck by TTL FAIL:port can't be empty", "DATA_FORMAT_ERROR");
-
- }
-
+ MsbUtil.checkServiceName(serviceName);
+ version=MsbUtil.checkVersion(version);
+ MsbUtil.checkHost(ip,port);
NodeAddress checkNode = new NodeAddress(ip, port);
}
res.close();
} catch (IOException e) {
- String errorMsg = url + ":httpPostWithJSON connect faild";
- throwsRouteException(errorMsg, e, "POST_CONNECT_FAILD");
+ throwsRouteException(url + ":httpPostWithJSON connect faild", e, "POST_CONNECT_FAILD");
} finally {
try {
httpClient.close();
} catch (IOException e) {
- String errorMsg = url + ":close httpClient faild";
- throwsRouteException(errorMsg, e, "CLOSE_CONNECT_FAILD");
+ throwsRouteException(url + ":close httpClient faild", e, "CLOSE_CONNECT_FAILD");
}
}
res.close();
} catch (IOException e) {
- String errorMsg = baseUrl + ":delete connect faild";
- throwsRouteException(errorMsg, e, "DELETE_CONNECT_FAILD");
+ throwsRouteException(baseUrl + ":delete connect faild", e, "DELETE_CONNECT_FAILD");
} finally {
try {
httpClient.close();
} catch (IOException e) {
- String errorMsg = baseUrl + ":close httpClient faild";
- throwsRouteException(errorMsg, e, "CLOSE_CONNECT_FAILD");
+ throwsRouteException(baseUrl + ":close httpClient faild", e, "CLOSE_CONNECT_FAILD");
}
}
}
res.close();
} catch (ClientProtocolException e) {
- String errorMsg = url + ":httpGetWithJSON connect faild";
- throwsRouteException(errorMsg, e, "GET_CONNECT_FAILD");
+ throwsRouteException(url + ":httpGetWithJSON connect faild", e, "GET_CONNECT_FAILD");
} catch (IOException e) {
- String errorMsg = url + ":httpGetWithJSON connect faild";
- throwsRouteException(errorMsg, e, "GET_CONNECT_FAILD");
+ throwsRouteException(url + ":httpGetWithJSON connect faild", e, "GET_CONNECT_FAILD");
} finally {
try {
httpClient.close();
} catch (IOException e) {
- String errorMsg = url + ":close httpClient faild";
- throwsRouteException(errorMsg, e, "CLOSE_CONNECT_FAILD");
+ throwsRouteException(url + ":close httpClient faild", e, "CLOSE_CONNECT_FAILD");
}
}
ObjectMapper objectMapper = getMapperInstance();
json = objectMapper.writeValueAsString(obj);
} catch (Exception e) {
- String errorMsg = "Class beanToJson faild";
- throwsRouteException(errorMsg, e, "BEAN_TO_JSON_FAILD");
+ throwsRouteException("Class beanToJson faild", e, "BEAN_TO_JSON_FAILD");
}
return json;
}
vo = objectMapper.readValue(json, cls);
} catch (Exception e) {
- String errorMsg = cls + " JsonTobean faild:" + e.getMessage();
- throwsRouteException(errorMsg, e, "JSON_TO_BEAN_FAILD");
+ throwsRouteException(cls + " JsonTobean faild:" + e.getMessage(), e, "JSON_TO_BEAN_FAILD");
}
return vo;
}
import java.util.Set;
import org.apache.commons.lang3.StringUtils;
+import org.onap.msb.sdk.discovery.common.RouteException;
import org.onap.msb.sdk.discovery.entity.Node;
import org.onap.msb.sdk.discovery.entity.NodeInfo;
return nodes;
}
+
+ public static void checkServiceName(String serviceName) throws RouteException{
+
+ if (StringUtils.isBlank(serviceName)) {
+ throw new RouteException("ServiceName can't be empty", "DATA_FORMAT_ERROR");
+ }
+ }
+
+ public static String checkVersion(String version) throws RouteException{
+ // 版本号格式检查
+ if (StringUtils.isNotBlank(version)) {
+ if (!RegExpTestUtil.versionRegExpTest(version)) {
+ throw new RouteException("version is not a valid format", "DATA_FORMAT_ERROR");
+ }
+ } else {
+ version = "null";
+ }
+
+ return version;
+ }
+
+ public static void checkHost(String ip,String port) throws RouteException{
+ // HOST空值和格式检查
+ if (StringUtils.isBlank(ip)) {
+ throw new RouteException("ip can't be empty", "DATA_FORMAT_ERROR");
+
+ }
+
+ if (StringUtils.isBlank(port)) {
+ throw new RouteException("port can't be empty", "DATA_FORMAT_ERROR");
+
+ }
+ }
}
- public static void main(String[] args) {
- System.out.println(urlRegExpTest("/"));
- }
}
*/
package org.onap.msb.sdk.discovery;
+import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.onap.msb.sdk.discovery.common.RouteConst;
import org.onap.msb.sdk.discovery.common.RouteException;
import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;
-import org.onap.msb.sdk.discovery.entity.Node;
+import org.onap.msb.sdk.discovery.entity.NodeInfo;
import org.onap.msb.sdk.discovery.util.HttpClientUtil;
import org.onap.msb.sdk.discovery.util.JacksonJsonUtil;
import org.powermock.api.mockito.PowerMockito;
"http://127.0.0.1:10081/api/microservices/v1/services/aai/version/v8";
private static final String MOCK_REG_SERVICE_JSON =
- "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"\"}],\"metadata\":null}";
+ "{\"serviceName\":\"aai\",\"version\":\"v8\",\"url\":\"/aai/v8\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"\",\"path\":\"/aai/v8\",\"nodes\":[{\"ip\":\"10.74.44.1\",\"port\":\"8443\",\"ttl\":\"20\"}],\"metadata\":[{\"key\":\"key1\",\"value\":\"value1\"}]}";
@Test
public void test_registration_update_true() throws RouteException {
MicroServiceInfo microServiceInfo =
(MicroServiceInfo) JacksonJsonUtil.jsonToBean(MOCK_REG_SERVICE_JSON, MicroServiceInfo.class);
MicroServiceFullInfo microServiceFullInfo = mockMicroServiceFullInfo(microServiceInfo);
+ System.out.println(microServiceFullInfo.toString());
+ System.out.println(microServiceInfo.toString());
mockHttpPost(MOCK_MSB_URL_REG_UPDATE_TRUE, JacksonJsonUtil.beanToJson(microServiceFullInfo));
MSBService msbService = new MSBService();
microServiceFullInfo = msbService.registerMicroServiceInfo(msbAddress, microServiceInfo);
MSBService msbService = new MSBService();
msbService.cancelMicroServiceInfo(msbAddress, "aai", "v8", "10.74.44.1", "8443");
}
+
+ @Test
+ public void test_healthCheckbyTTL(){
+ try{
+ PowerMockito.mockStatic(HttpClientUtil.class);
+ MSBService msbService = new MSBService();
+ msbService.healthCheckbyTTL("127.0.0.1:10081","aai", "v8", "10.74.44.1", "8443");
+ }
+ catch (Exception e) {
+ Assert.assertTrue(e instanceof RouteException);
+ }
+ }
private MicroServiceFullInfo mockMicroServiceFullInfo(MicroServiceInfo info) {
MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();
serviceInfo.setVisualRange(info.getVisualRange());
serviceInfo.setLb_policy(info.getLb_policy());
serviceInfo.setPath(info.getPath());
+
+ Set<NodeInfo> nodes=new HashSet<NodeInfo>();
+ NodeInfo node=new NodeInfo();
+ node.setCreated_at(new Date());
+ node.setExpiration(new Date());
+ node.setIp("10.74.44.1");
+ node.setNodeId("10.74.44.1_8443");
+ node.setPort("8443");
+ node.setStatus("1");
+ node.setTtl("20");
+ node.setUpdated_at(new Date());
+
+ nodes.add(node);
+ serviceInfo.setNodes(nodes);
return serviceInfo;
}
--- /dev/null
+/**
+ * Copyright 2017 ZTE Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.onap.msb.sdk.discovery.common;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class RouteConstTest {
+
+ @Test
+ public void test_checkExistProtocol(){
+
+ Assert.assertTrue(RouteConst.checkExistProtocol("FTP"));
+ Assert.assertFalse(RouteConst.checkExistProtocol("FTTP"));
+ }
+
+ @Test
+ public void test_checkExist(){
+
+ Assert.assertTrue(RouteConst.checkExist("test,tt,ss","tt"));
+ Assert.assertFalse(RouteConst.checkExist("test,tt,ss","ee"));
+ }
+
+ @Test
+ public void test_listProtocol(){
+ String list="REST | HTTP | MQ | FTP | SNMP | TCP | UDP | UI | ";
+ Assert.assertEquals(list, RouteConst.listProtocol());
+ }
+}
import org.junit.Assert;
import org.junit.Test;
+import org.onap.msb.sdk.discovery.common.RouteException;
import org.onap.msb.sdk.discovery.entity.NodeAddress;
Assert.fail("Exception" + e.getMessage());
}
}
+
+ @Test
+ public void testJsonToBean_fail() {
+ try {
+ String json = "{\"ip\":\"127.0.0.1,\"port\":\"80\"}";
+ NodeAddress address = (NodeAddress) JacksonJsonUtil.jsonToBean(json, NodeAddress.class);
+ Assert.assertEquals("127.0.0.1", address.getIp());
+ } catch (Exception e) {
+ Assert.assertTrue(e instanceof RouteException);
+ }
+ }
}
--- /dev/null
+/**
+ * Copyright 2017 ZTE Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.onap.msb.sdk.discovery.util;
+
+import java.util.Set;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.msb.sdk.discovery.common.RouteException;
+import org.onap.msb.sdk.discovery.entity.Node;
+import org.onap.msb.sdk.discovery.entity.NodeInfo;
+
+public class MsbUtilTest {
+
+ @Test
+ public void test_getConsulServiceName(){
+ Assert.assertEquals("test", MsbUtil.getConsulServiceName("test",""));
+ Assert.assertEquals("test-ns", MsbUtil.getConsulServiceName("test","ns"));
+ }
+
+ @Test
+ public void test_getLbNodes(){
+
+ Node node=new Node();
+ node.setIp("127.0.0.1");
+ node.setPort("8089");
+
+ Set<NodeInfo> nodes=MsbUtil.getLbNodes(node);
+ Assert.assertEquals(1, nodes.size());
+ }
+
+ @Test
+ public void test_checkServiceName(){
+ try {
+ MsbUtil.checkServiceName("testName");
+ MsbUtil.checkServiceName("");
+
+ } catch (RouteException e) {
+ Assert.assertTrue(e instanceof RouteException);
+
+ }
+
+ }
+
+ @Test
+ public void test_checkVersion(){
+ try {
+ Assert.assertEquals("v1", MsbUtil.checkVersion("v1"));
+ Assert.assertEquals("null", MsbUtil.checkVersion(""));
+ MsbUtil.checkVersion("version");
+
+ } catch (RouteException e) {
+ Assert.assertTrue(e instanceof RouteException);
+
+ }
+
+ }
+
+ @Test
+ public void test_checkHost(){
+ try {
+ MsbUtil.checkHost("127.0.0.1","2565");
+ MsbUtil.checkHost("127.0.0.1","");
+ } catch (RouteException e) {
+ Assert.assertTrue(e instanceof RouteException);
+ Assert.assertEquals("DATA_FORMAT_ERROR",e.getErrorCode());
+ Assert.assertNotEquals("ERROR",e.getErrorMsg());
+
+ e.setErrorCode("DATA_FORMAT_ERROR_TEST");
+ e.setErrorMsg("ERROR");
+ Assert.assertNotEquals("DATA_FORMAT_ERROR",e.getErrorCode());
+ Assert.assertEquals("ERROR",e.getErrorMsg());
+
+ }
+ }
+
+ @Test
+ public void test_checkIp(){
+ try {
+ MsbUtil.checkHost("","2565");
+ } catch (RouteException e) {
+ Assert.assertTrue(e instanceof RouteException);
+
+
+ }
+ }
+}
*/
package org.onap.msb.sdk.httpclient;
+import java.util.HashSet;
+import java.util.Set;
+
import org.junit.Assert;
import org.junit.Test;
import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
cloneFullInfo.setServiceName("aai");
cloneFullInfo.setVersion("v8");
cloneFullInfo.setVisualRange("1");
+
+ Set<NodeInfo> nodes=new HashSet<NodeInfo>();
+ nodes.add(nodeInfo);
+ cloneFullInfo.setNodes(nodes);
ServiceHttpEndPointObject endPointOjb = new ServiceHttpEndPointObject("aai", "v8", nodeInfo, cloneFullInfo);
Assert.assertEquals(endPointOjb.getIp(), "127.0.0.1");
Assert.assertEquals(endPointOjb.getPort(), "80");
Assert.assertEquals(endPointOjb.getServiceName(), "aai");
Assert.assertEquals(endPointOjb.getServiceVersion(), "v8");
+
+ System.out.println(endPointOjb.hashCode());
+ ServiceHttpEndPointObject endPointOjb2 = new ServiceHttpEndPointObject("aai", "v8", nodeInfo, cloneFullInfo);
+ Assert.assertTrue(endPointOjb2.equals(endPointOjb));
+
+ endPointOjb.setProtocl("HTTP");
+ endPointOjb.setNameSpace("ns");
+ System.out.println(endPointOjb.toString());
+ Assert.assertEquals("HTTP", endPointOjb.getProtocl());
+ Assert.assertEquals("ns", endPointOjb.getNameSpace());
+
}
}