Unit test for MSB JAVA SDK 43/17643/1
authorHuabingZhao <zhao.huabing@zte.com.cn>
Mon, 9 Oct 2017 11:20:42 +0000 (19:20 +0800)
committerHuabingZhao <zhao.huabing@zte.com.cn>
Mon, 9 Oct 2017 11:20:48 +0000 (19:20 +0800)
Issue-Id: MSB-86
Change-Id: I1a3458e5a75121ceb895c1aa832007609762dae5
Signed-off-by: HuabingZhao <zhao.huabing@zte.com.cn>
.checkstyle [deleted file]
.gitignore
pom.xml
src/main/java/org/onap/msb/sdk/discovery/util/JacksonJsonUtil.java
src/main/java/org/onap/msb/sdk/discovery/util/RegExpTestUtil.java
src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java [new file with mode: 0644]
src/test/java/org/onap/msb/sdk/discovery/util/HttpClientUtilTest.java [new file with mode: 0644]
src/test/java/org/onap/msb/sdk/discovery/util/JacksonJsonUtilTest.java [new file with mode: 0644]
src/test/java/org/onap/msb/sdk/discovery/util/RegExpTestUtilTest.java [new file with mode: 0644]

diff --git a/.checkstyle b/.checkstyle
deleted file mode 100644 (file)
index 2cd01ac..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
-  <local-check-config name="maven-checkstyle-plugin check-license" location="jar:file:/D:/mvnlocalrepo/org/onap/oparent/checkstyle/1.0.0-SNAPSHOT/checkstyle-1.0.0-SNAPSHOT.jar!/onap-checkstyle/check-license.xml" type="remote" description="maven-checkstyle-plugin configuration check-license">
-    <property name="checkstyle.cache.file" value="${project_loc}/target/checkstyle-cachefile"/>
-    <property name="checkstyle.header.file" value="D:\eclipse\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\msb-java-sdk\com.basistech.m2e.code.quality.checkstyleConfigurator\checkstyle-header-check-license.txt"/>
-  </local-check-config>
-  <local-check-config name="maven-checkstyle-plugin check-style" location="jar:file:/D:/mvnlocalrepo/org/onap/oparent/checkstyle/1.0.0-SNAPSHOT/checkstyle-1.0.0-SNAPSHOT.jar!/onap-checkstyle/onap-java-style.xml" type="remote" description="maven-checkstyle-plugin configuration check-style">
-    <property name="checkstyle.cache.file" value="${project_loc}/target/checkstyle-cachefile"/>
-    <property name="checkstyle.header.file" value="D:\eclipse\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\msb-java-sdk\com.basistech.m2e.code.quality.checkstyleConfigurator\checkstyle-header-check-style.txt"/>
-  </local-check-config>
-  <fileset name="java-sources-check-license" enabled="true" check-config-name="maven-checkstyle-plugin check-license" local="true">
-    <file-match-pattern match-pattern="^src/test/java.*\.java" include-pattern="true"/>
-    <file-match-pattern match-pattern="^src/main/java/.*\.java" include-pattern="true"/>
-  </fileset>
-  <fileset name="java-sources-check-style" enabled="true" check-config-name="maven-checkstyle-plugin check-style" local="true">
-    <file-match-pattern match-pattern="^src/main/java/src/main/java.*\.java" include-pattern="true"/>
-    <file-match-pattern match-pattern="^src/test/java.*\.java" include-pattern="true"/>
-    <file-match-pattern match-pattern="^src/main/java/.*\.java" include-pattern="true"/>
-    <file-match-pattern match-pattern="^src/main/resources.*\.properties" include-pattern="true"/>
-    <file-match-pattern match-pattern="^src/test/resources.*\.properties" include-pattern="true"/>
-  </fileset>
-</fileset-config>
index 45e67f4..090944d 100644 (file)
@@ -4,6 +4,7 @@
 .vscode/
 target/
 .vagrant
+.checkstyle
 /archives/
 *.jar
 *.zip
diff --git a/pom.xml b/pom.xml
index 1d0b2b6..cddc20f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                        <artifactId>slf4j-api</artifactId>
                        <version>1.7.12</version>
                </dependency>
+        
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+            <scope>test</scope>
+        </dependency>
+         <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
+      <version>1.6.6</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito</artifactId>
+      <version>1.6.6</version>
+      <scope>test</scope>
+    </dependency>
 
        </dependencies>
        <build>
index 382dc64..7f9037c 100644 (file)
@@ -35,98 +35,71 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class JacksonJsonUtil {
 
-  private static final Logger logger = LoggerFactory.getLogger(JacksonJsonUtil.class);
-
-  private static ObjectMapper mapper;
-
-  /**
-   * 获取ObjectMapper实例
-   * 
-   * @param createNew 方式:true,新实例;false,存在的mapper实例
-   * @return
-   */
-  public static synchronized ObjectMapper getMapperInstance() {
-    if (mapper == null) {
-      mapper = new ObjectMapper();
+    private static final Logger logger = LoggerFactory.getLogger(JacksonJsonUtil.class);
+
+    private static ObjectMapper mapper;
+
+    /**
+     * 获取ObjectMapper实例
+     * 
+     * @param createNew 方式:true,新实例;false,存在的mapper实例
+     * @return
+     */
+    public static synchronized ObjectMapper getMapperInstance() {
+        if (mapper == null) {
+            mapper = new ObjectMapper();
+        }
+        return mapper;
     }
-    return mapper;
-  }
 
-  /**
-   * 将java对象转换成json字符串
-   * 
-   * @param obj 准备转换的对象
-   * @return json字符串
-   * @throws Exception
-   */
-  public static String beanToJson(Object obj) throws RouteException {
-    String json = null;
-    try {
-      ObjectMapper objectMapper = getMapperInstance();
-      json = objectMapper.writeValueAsString(obj);
-    } catch (Exception e) {
-      String errorMsg = "Class beanToJson faild";
-      throwsRouteException(errorMsg, e, "BEAN_TO_JSON_FAILD");
+    /**
+     * 将java对象转换成json字符串
+     * 
+     * @param obj 准备转换的对象
+     * @return json字符串
+     * @throws Exception
+     */
+    public static String beanToJson(Object obj) throws RouteException {
+        String json = null;
+        try {
+            ObjectMapper objectMapper = getMapperInstance();
+            json = objectMapper.writeValueAsString(obj);
+        } catch (Exception e) {
+            String errorMsg = "Class beanToJson faild";
+            throwsRouteException(errorMsg, e, "BEAN_TO_JSON_FAILD");
+        }
+        return json;
     }
-    return json;
-  }
 
 
 
-  /**
-   * 将json字符串转换成java对象
-   * 
-   * @param json 准备转换的json字符串
-   * @param cls 准备转换的类
-   * @return
-   * @throws Exception
-   */
-  public static Object jsonToBean(String json, Class<?> cls) throws RouteException {
-    Object vo = null;
-    try {
-      ObjectMapper objectMapper = getMapperInstance();
+    /**
+     * 将json字符串转换成java对象
+     
+     * @param json 准备转换的json字符串
+     * @param cls 准备转换的类
+     * @return
+     * @throws Exception
+     */
+    public static Object jsonToBean(String json, Class<?> cls) throws RouteException {
+        Object vo = null;
+        try {
+            ObjectMapper objectMapper = getMapperInstance();
 
 
-      vo = objectMapper.readValue(json, cls);
+            vo = objectMapper.readValue(json, cls);
 
-    } catch (Exception e) {
-      String errorMsg = cls + " JsonTobean faild:" + e.getMessage();
-      throwsRouteException(errorMsg, e, "JSON_TO_BEAN_FAILD");
+        } catch (Exception e) {
+            String errorMsg = cls + " JsonTobean faild:" + e.getMessage();
+            throwsRouteException(errorMsg, e, "JSON_TO_BEAN_FAILD");
+        }
+        return vo;
     }
-    return vo;
-  }
-
-
-  /**
-   * 将json字符串转换成java集合对象
-   * 
-   * @param json 准备转换的json字符串
-   * @param cls 准备转换的类
-   * @return
-   * @throws Exception
-   */
-
-  public static <T> T jsonToListBean(String json, TypeReference<T> valueTypeRef) {
-    try {
 
-      ObjectMapper objectMapper = getMapperInstance();
 
-
-      return objectMapper.readValue(json, valueTypeRef);
-
-    } catch (Exception e) {
-      String errorMsg = " JsonTobean faild:" + e.getMessage();
-      logger.error(errorMsg);
+    private static void throwsRouteException(String errorMsg, Exception e, String errorCode) throws RouteException {
+        String msg = errorMsg + ".errorMsg:" + e.getMessage();
+        logger.error(msg);
+        throw new RouteException(errorMsg, errorCode);
     }
-    return null;
-  }
-
-
-
-  private static void throwsRouteException(String errorMsg, Exception e, String errorCode)
-      throws RouteException {
-    String msg = errorMsg + ".errorMsg:" + e.getMessage();
-    logger.error(msg);
-    throw new RouteException(errorMsg, errorCode);
-  }
 }
index 9afeb7c..363c8c4 100644 (file)
@@ -17,59 +17,64 @@ import java.util.regex.Pattern;
 
 public class RegExpTestUtil {
 
-  public static boolean serviceNameRegExpTest(String serviceName) {
+    public static boolean serviceNameRegExpTest(String serviceName) {
 
-    String serviceNameReg = "^([0-9a-zA-Z]|-|_)*$";
-    return Pattern.matches(serviceNameReg, serviceName);
+        String serviceNameReg = "^([0-9a-zA-Z]|-|_)*$";
+        return Pattern.matches(serviceNameReg, serviceName);
 
-  }
+    }
 
 
-  public static boolean hostRegExpTest(String host) {
+    public static boolean hostRegExpTest(String host) {
 
-    String hostReg = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)" + ":(\\d{1,5})$";
-    return Pattern.matches(hostReg, host);
+        String hostReg = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)" + ":(\\d{1,5})$";
+        return Pattern.matches(hostReg, host);
 
-  }
+    }
 
-  public static boolean ipRegExpTest(String ip) {
+    public static boolean ipRegExpTest(String ip) {
 
-    String hostReg = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
-        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
-    return Pattern.matches(hostReg, ip);
+        String hostReg = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+                        + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
+        return Pattern.matches(hostReg, ip);
 
-  }
+    }
 
-  public static boolean portRegExpTest(String port) {
+    public static boolean portRegExpTest(String port) {
+        String hostReg = "^\\d{1,5}$";
+        if (Pattern.matches(hostReg, port)) {
+            int iport = Integer.parseInt(port);
+            if (iport >= 1 && iport <= 65535)
+                return true;
+        }
 
-    String hostReg = "^\\d{1,5}$";
-    return Pattern.matches(hostReg, port);
+        return false;
 
-  }
+    }
 
-  public static boolean versionRegExpTest(String version) {
+    public static boolean versionRegExpTest(String version) {
 
-    String versionReg = "^v\\d+(\\.\\d+)?$";
-    return Pattern.matches(versionReg, version);
+        String versionReg = "^v\\d+(\\.\\d+)?$";
+        return Pattern.matches(versionReg, version);
 
-  }
+    }
 
-  public static boolean urlRegExpTest(String url) {
-    if (url.equals("/"))
-      return true;
-    String urlReg = "^\\/.*((?!\\/).)$";
-    return Pattern.matches(urlReg, url);
+    public static boolean urlRegExpTest(String url) {
+        if (url.equals("/"))
+            return true;
+        String urlReg = "^\\/.*((?!\\/).)$";
+        return Pattern.matches(urlReg, url);
 
-  }
+    }
 
 
 
-  public static void main(String[] args) {
-    System.out.println(urlRegExpTest("/"));
-  }
+    public static void main(String[] args) {
+        System.out.println(urlRegExpTest("/"));
+    }
 }
diff --git a/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java b/src/test/java/org/onap/msb/sdk/discovery/MSBServiceTest.java
new file mode 100644 (file)
index 0000000..a09e64b
--- /dev/null
@@ -0,0 +1,95 @@
+/**
+ * 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;
+
+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.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.util.HttpClientUtil;
+import org.onap.msb.sdk.discovery.util.JacksonJsonUtil;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({HttpClientUtil.class})
+public class MSBServiceTest {
+    private static final String mockMSBUrl1 =
+                    "http://127.0.0.1:10081/api/microservices/v1/services?createOrUpdate=true";
+    private static final String mockMSBUrl2 =
+                    "http://127.0.0.1:10081/api/microservices/v1/services?createOrUpdate=false";
+    private static final String mockRegistrationJson =
+                    "{\"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}";
+
+    @Test
+    public void test_registration() throws RouteException {
+        String msbAddress = "127.0.0.1:10081";
+        MicroServiceInfo microServiceInfo =
+                        (MicroServiceInfo) JacksonJsonUtil.jsonToBean(mockRegistrationJson, MicroServiceInfo.class);
+        MicroServiceFullInfo microServiceFullInfo = mockMicroServiceFullInfo(microServiceInfo);
+        mockGetRest(mockMSBUrl1, JacksonJsonUtil.beanToJson(microServiceFullInfo));
+        MSBService msbService = new MSBService();
+        microServiceFullInfo = msbService.registerMicroServiceInfo(msbAddress, microServiceInfo);
+        Assert.assertTrue(microServiceFullInfo.getPath().equals("/aai/v8"));
+        Assert.assertTrue(microServiceFullInfo.getProtocol().equals("REST"));
+        Assert.assertTrue(microServiceFullInfo.getServiceName().equals("aai"));
+        Assert.assertTrue(microServiceFullInfo.getUrl().equals("/aai/v8"));
+        Assert.assertTrue(microServiceFullInfo.getVersion().equals("v8"));
+        Assert.assertTrue(microServiceFullInfo.getVisualRange().equals("1"));
+    }
+
+    @Test
+    public void test_registration_update_false() throws RouteException {
+        String msbAddress = "127.0.0.1:10081";
+        MicroServiceInfo microServiceInfo =
+                        (MicroServiceInfo) JacksonJsonUtil.jsonToBean(mockRegistrationJson, MicroServiceInfo.class);
+        MicroServiceFullInfo microServiceFullInfo = mockMicroServiceFullInfo(microServiceInfo);
+        mockGetRest(mockMSBUrl2, JacksonJsonUtil.beanToJson(microServiceFullInfo));
+        MSBService msbService = new MSBService();
+        microServiceFullInfo = msbService.registerMicroServiceInfo(msbAddress, microServiceInfo, false);
+        Assert.assertTrue(microServiceFullInfo.getPath().equals("/aai/v8"));
+        Assert.assertTrue(microServiceFullInfo.getProtocol().equals("REST"));
+        Assert.assertTrue(microServiceFullInfo.getServiceName().equals("aai"));
+        Assert.assertTrue(microServiceFullInfo.getUrl().equals("/aai/v8"));
+        Assert.assertTrue(microServiceFullInfo.getVersion().equals("v8"));
+        Assert.assertTrue(microServiceFullInfo.getVisualRange().equals("1"));
+    }
+
+
+    private MicroServiceFullInfo mockMicroServiceFullInfo(MicroServiceInfo info) {
+        MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();
+        serviceInfo.setServiceName(info.getServiceName());
+        serviceInfo.setVersion(info.getVersion());
+        serviceInfo.setUrl(info.getUrl());
+        serviceInfo.setProtocol(info.getProtocol());
+        serviceInfo.setVisualRange(info.getVisualRange());
+        serviceInfo.setLb_policy(info.getLb_policy());
+        serviceInfo.setPath(info.getPath());
+        return serviceInfo;
+    }
+
+
+    private void mockGetRest(String mockMSBUrl, String mockServiceInfoJson) throws RouteException {
+        PowerMockito.mockStatic(HttpClientUtil.class);
+        PowerMockito.when(HttpClientUtil.httpPostWithJSON(mockMSBUrl, mockRegistrationJson))
+                        .thenReturn(mockServiceInfoJson);
+    }
+}
diff --git a/src/test/java/org/onap/msb/sdk/discovery/util/HttpClientUtilTest.java b/src/test/java/org/onap/msb/sdk/discovery/util/HttpClientUtilTest.java
new file mode 100644 (file)
index 0000000..b06b50c
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * Copyright 2016-2017 ZTE, Inc. and others.
+ * 
+ * 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 org.junit.Assert;
+import org.junit.Test;
+import org.onap.msb.sdk.discovery.common.RouteException;
+
+
+
+public class HttpClientUtilTest {
+
+    private String testIp = "http://127.0.0.1:8500";
+    private String errorIp = "http://127.0.0.3:8500";
+
+    @Test
+    public void test_httpGet_fail() {
+        try {
+            Assert.assertNull(HttpClientUtil.httpGet(errorIp));
+        } catch (Exception e) {
+            Assert.assertTrue(e instanceof RouteException);
+        }
+    }
+
+    @Test
+    public void test_httpdelete() {
+        try {
+            HttpClientUtil.delete(testIp, "service");
+
+        } catch (Exception e) {
+            Assert.assertTrue(e instanceof RouteException);
+        }
+    }
+
+    @Test
+    public void test_httpPostWithJSON() {
+        String url = testIp + "/v1/catalog/service";
+        String json = "[{\"Node\":\"server\",\"Address\":\"127.0.0.1\",\"TaggedAddresses\":{\"lan\":\"127.0.0.1\",\"wan\":\"127.0.0.1\"},\"ServiceID\":\"_CJ-SNMP_10.74.216.65_12005\",\"ServiceName\":\"CJ-SNMP\",\"ServiceAddress\":\"10.74.216.65\",\"ServicePort\":12005,\"ServiceEnableTagOverride\":false,\"CreateIndex\":1813280,\"ModifyIndex\":1815062}]";
+
+        try {
+            HttpClientUtil.httpPostWithJSON(url, json);
+            Assert.assertEquals("Consul Agent", HttpClientUtil.httpGet(testIp));
+        } catch (Exception e) {
+            Assert.assertTrue(e instanceof RouteException);
+        }
+    }
+
+    @Test
+    public void test_httpPutWithJSON() {
+        String url = testIp + "/v1/catalog/service";
+        String json = "[{\"Node\":\"server\",\"Address\":\"127.0.0.1\",\"TaggedAddresses\":{\"lan\":\"127.0.0.1\",\"wan\":\"127.0.0.1\"},\"ServiceID\":\"_CJ-SNMP_10.74.216.65_12005\",\"ServiceName\":\"CJ-SNMP\",\"ServiceAddress\":\"10.74.216.65\",\"ServicePort\":12005,\"ServiceEnableTagOverride\":false,\"CreateIndex\":1813280,\"ModifyIndex\":1815062}]";
+
+        try {
+            HttpClientUtil.httpPutWithJSON(url, json);
+            Assert.assertEquals("Consul Agent", HttpClientUtil.httpGet(testIp));
+        } catch (Exception e) {
+            Assert.assertTrue(e instanceof RouteException);
+        }
+    }
+}
diff --git a/src/test/java/org/onap/msb/sdk/discovery/util/JacksonJsonUtilTest.java b/src/test/java/org/onap/msb/sdk/discovery/util/JacksonJsonUtilTest.java
new file mode 100644 (file)
index 0000000..90f2fd5
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * Copyright 2016-2017 ZTE, Inc. and others.
+ * 
+ * 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 com.fasterxml.jackson.core.type.TypeReference;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.msb.sdk.discovery.entity.NodeAddress;
+
+
+public class JacksonJsonUtilTest {
+    @Test
+    public void testBeanToJson() {
+        try {
+            NodeAddress address = new NodeAddress("127.0.0.1", "80");
+            String json = JacksonJsonUtil.beanToJson(address);
+            Assert.assertEquals("{\"ip\":\"127.0.0.1\",\"port\":\"80\"}", json);
+        } catch (Exception e) {
+            Assert.fail("Exception" + e.getMessage());
+        }
+    }
+
+    @Test
+    public void testJsonToBean() {
+        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());
+            Assert.assertEquals("80", address.getPort());
+        } catch (Exception e) {
+            Assert.fail("Exception" + e.getMessage());
+        }
+    }
+}
diff --git a/src/test/java/org/onap/msb/sdk/discovery/util/RegExpTestUtilTest.java b/src/test/java/org/onap/msb/sdk/discovery/util/RegExpTestUtilTest.java
new file mode 100644 (file)
index 0000000..1a6ff1f
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * Copyright 2016-2017 ZTE, Inc. and others.
+ * 
+ * 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 org.junit.Assert;
+import org.junit.Test;
+
+
+
+public class RegExpTestUtilTest {
+
+    @Test
+    public void testhostRegExpTest() {
+        Assert.assertTrue(RegExpTestUtil.hostRegExpTest("127.0.0.1:8080"));
+
+        Assert.assertFalse(RegExpTestUtil.hostRegExpTest("0.0.0.1:89"));
+    }
+
+    @Test
+    public void testipRegExpTest() {
+
+        Assert.assertTrue(RegExpTestUtil.ipRegExpTest("10.74.151.26"));
+
+        Assert.assertFalse(RegExpTestUtil.ipRegExpTest("0.74.0.26"));
+    }
+
+    @Test
+    public void testportRegExpTest() {
+        Assert.assertTrue(RegExpTestUtil.portRegExpTest("8989"));
+        Assert.assertFalse(RegExpTestUtil.portRegExpTest("99999"));
+    }
+
+    @Test
+    public void testversionRegExpTest() {
+
+        Assert.assertTrue(RegExpTestUtil.versionRegExpTest("v1"));
+
+        Assert.assertFalse(RegExpTestUtil.versionRegExpTest("vv2"));
+    }
+
+    @Test
+    public void testurlRegExpTest() {
+
+        Assert.assertTrue(RegExpTestUtil.urlRegExpTest("/test/v1"));
+
+        Assert.assertTrue(RegExpTestUtil.urlRegExpTest("/"));
+
+        Assert.assertFalse(RegExpTestUtil.urlRegExpTest("test/#?qwe"));
+    }
+
+    @Test
+    public void testserviceNameRegExpTest() {
+
+        Assert.assertTrue(RegExpTestUtil.serviceNameRegExpTest("servive_1"));
+
+
+        Assert.assertFalse(RegExpTestUtil.serviceNameRegExpTest("servive%_1"));
+    }
+}