Add Unit Tests 09/28909/1
authorGuangrong Fu <fu.guangrong@zte.com.cn>
Tue, 23 Jan 2018 12:13:02 +0000 (20:13 +0800)
committerGuangrong Fu <fu.guangrong@zte.com.cn>
Tue, 23 Jan 2018 12:13:02 +0000 (20:13 +0800)
Change-Id: Ie87d097e421057249dd4cb0a4aaa82d70a0602fe
Issue-ID: HOLMES-97
Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
holmes-actions/src/test/java/org/onap/holmes/common/utils/MSBRegisterUtilTest.java

index e1b79bf..8eefd4e 100644 (file)
@@ -18,41 +18,55 @@ package org.onap.holmes.common.utils;
 \r
 import com.eclipsesource.jaxrs.consumer.ConsumerFactory;\r
 import javax.ws.rs.QueryParam;\r
+\r
+import org.easymock.EasyMock;\r
 import org.junit.Rule;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.onap.holmes.common.exception.CorrelationException;\r
 import org.onap.holmes.common.msb.MicroserviceBusRest;\r
 import org.onap.holmes.common.api.entity.ServiceRegisterEntity;\r
 import org.onap.holmes.common.config.MicroServiceConfig;\r
+import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;\r
+import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;\r
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;\r
+import org.powermock.api.easymock.PowerMock;\r
 import org.powermock.core.classloader.annotations.PowerMockIgnore;\r
 import org.powermock.core.classloader.annotations.PrepareForTest;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
 import org.powermock.modules.junit4.rule.PowerMockRule;\r
 \r
-@PrepareForTest({ConsumerFactory.class, MicroServiceConfig.class})\r
+@PrepareForTest({MicroServiceConfig.class, MSBServiceClient.class, MSBRegisterUtil.class})\r
 @PowerMockIgnore({"javax.ws.*"})\r
 public class MSBRegisterUtilTest {\r
 \r
     @Rule\r
     public PowerMockRule powerMockRule = new PowerMockRule();\r
     private MSBRegisterUtil msbRegisterUtil = new MSBRegisterUtil();\r
-    private MicroserviceBusRest microserviceBusRest = new MicroserviceBusRestProxy();\r
-\r
-    private ServiceRegisterEntity initServiceEntity() {\r
-        String[] serviceAddrInfo = MicroServiceConfig.getMicroServiceIpAndPort();\r
-        ServiceRegisterEntity serviceRegisterEntity = new ServiceRegisterEntity();\r
-        serviceRegisterEntity.setServiceName("holmes-rule-mgmt");\r
-        serviceRegisterEntity.setProtocol("REST");\r
-        serviceRegisterEntity.setVersion("v1");\r
-        serviceRegisterEntity.setUrl("/api/holmes-rule-mgmt/v1");\r
-        serviceRegisterEntity.setSingleNode(serviceAddrInfo[0], serviceAddrInfo[1], 0);\r
-        serviceRegisterEntity.setVisualRange("1|0");\r
-        return serviceRegisterEntity;\r
-    }\r
 \r
-    class MicroserviceBusRestProxy implements MicroserviceBusRest {\r
+    @Test\r
+    public void test_register2Msb_normal() throws Exception {\r
+        MicroServiceInfo msi = new MicroServiceInfo();\r
+        String[] msbAddrInfo = {"127.0.0.1", "80"};\r
+\r
+        PowerMock.mockStatic(MicroServiceConfig.class);\r
+        EasyMock.expect(MicroServiceConfig.getMsbIpAndPort()).andReturn(msbAddrInfo);\r
+\r
+        MSBServiceClient client = PowerMock.createMock(MSBServiceClient.class);\r
+        PowerMock.expectNew(MSBServiceClient.class, msbAddrInfo[0], Integer.parseInt(msbAddrInfo[1])).andReturn(client);\r
 \r
-        @Override\r
-        public ServiceRegisterEntity registerServce(@QueryParam("createOrUpdate") String createOrUpdate,\r
-                ServiceRegisterEntity entity) {\r
-            return null;\r
+        EasyMock.expect(client.registerMicroServiceInfo(msi, false)).andReturn(null);\r
+\r
+        EasyMock.expect(client.registerMicroServiceInfo(msi, false)).andReturn(new MicroServiceFullInfo());\r
+\r
+        PowerMock.replayAll();\r
+\r
+        try {\r
+            msbRegisterUtil.register2Msb(msi);\r
+        } catch (CorrelationException e) {\r
+            // Do nothing\r
         }\r
+\r
+        PowerMock.verifyAll();\r
     }\r
 }
\ No newline at end of file