Changed the version of the docker to 1.2.8
[holmes/engine-management.git] / engine-d / src / test / java / org / onap / holmes / engine / EngineDActiveAppTest.java
index b96dc74..7c9b652 100644 (file)
  */\r
 package org.onap.holmes.engine;\r
 \r
+import org.easymock.EasyMock;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.onap.holmes.common.config.MicroServiceConfig;\r
+import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;\r
+import org.onap.msb.sdk.discovery.entity.Node;\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.reflect.Whitebox;\r
+\r
+import static org.easymock.EasyMock.anyObject;\r
+import static org.hamcrest.CoreMatchers.equalTo;\r
+import static org.hamcrest.CoreMatchers.is;\r
+import static org.junit.Assert.assertThat;\r
+\r
+@PrepareForTest(MicroServiceConfig.class)\r
+@RunWith(PowerMockRunner.class)\r
+@PowerMockIgnore("javax.net.ssl.*")\r
 public class EngineDActiveAppTest {\r
+\r
     public static void main(String[] args) throws Exception {\r
-        String test = "package org.onap.holmes.droolsRule;\n"\r
-                + "\n"\r
-                + "import org.onap.holmes.common.dmaap.DmaapService;\n"\r
-                + "import org.onap.holmes.common.api.stat.VesAlarm;\n"\r
-                + "import org.onap.holmes.common.aai.CorrelationUtil;\n"\r
-                + "import org.onap.holmes.common.dmaap.entity.PolicyMsg;\n"\r
-                + "import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\n"\r
-                + "import org.onap.holmes.common.utils.DroolsLog;\n"\r
-                + " \n"\r
-                + "\n"\r
-                + "rule \"Relation_analysis_Rule\"\n"\r
-                + "salience 200\n"\r
-                + "no-loop true\n"\r
-                + "    when\n"\r
-                + "        $root : VesAlarm(alarmIsCleared == 0,\n"\r
-                + "            $sourceId: sourceId, sourceId != null && !sourceId.equals(\"\"),\n"\r
-                + "\t\t\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\"\"),\n"\r
-                + "\t\t\t$startEpochMicrosec: startEpochMicrosec,\n"\r
-                + "            specificProblem in (\"Fault_MultiCloud_VMFailure\"),\n"\r
-                + "            $eventId: eventId)\n"\r
-                + "        $child : VesAlarm( eventId != $eventId, parentId == null,\n"\r
-                + "            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\n"\r
-                + "            specificProblem in (\"Slave MPU is offline\"),\n"\r
-                + "            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\n"\r
-                + "    then\n"\r
-                + "\t\tDroolsLog.printInfo(\"===========================================================\");\n"\r
-                + "\t\tDroolsLog.printInfo(\"Relation_analysis_Rule: rootId=\" + $root.getEventId() + \", childId=\" + $child.getEventId());\n"\r
-                + "\t\t$child.setParentId($root.getEventId());\n"\r
-                + "\t\tupdate($child);\n"\r
-                + "\t\t\n"\r
-                + "end\n"\r
-                + "\n"\r
-                + "rule \"root_has_child_handle_Rule\"\n"\r
-                + "salience 150\n"\r
-                + "no-loop true\n"\r
-                + "\twhen\n"\r
-                + "\t\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\n"\r
-                + "\t\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\n"\r
-                + "\tthen\n"\r
-                + "\t\tDroolsLog.printInfo(\"===========================================================\");\n"\r
-                + "\t\tDroolsLog.printInfo(\"root_has_child_handle_Rule: rootId=\" + $root.getEventId() + \", childId=\" + $child.getEventId());\n"\r
-                + "\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n"\r
-                + "\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \"org.onap.holmes.droolsRule\");\n"\r
-                + "        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n"\r
-                + "\t\t$root.setRootFlag(1);\n"\r
-                + "\t\tupdate($root);\n"\r
-                + "end\n"\r
-                + "\n"\r
-                + "rule \"root_no_child_handle_Rule\"\n"\r
-                + "salience 100\n"\r
-                + "no-loop true\n"\r
-                + "    when\n"\r
-                + "        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\n"\r
-                + "            sourceId != null && !sourceId.equals(\"\"),\n"\r
-                + "\t\t\tsourceName != null && !sourceName.equals(\"\"),\n"\r
-                + "            specificProblem in (\"Fault_MultiCloud_VMFailure\"))\n"\r
-                + "    then\n"\r
-                + "\t\tDroolsLog.printInfo(\"===========================================================\");\n"\r
-                + "\t\tDroolsLog.printInfo(\"root_no_child_handle_Rule: rootId=\" + $root.getEventId());\n"\r
-                + "\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n"\r
-                + "\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \"org.onap.holmes.droolsRule\");\n"\r
-                + "        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n"\r
-                + "\t\t$root.setRootFlag(1);\n"\r
-                + "\t\tupdate($root);\n"\r
-                + "end\n"\r
-                + "\n"\r
-                + "rule \"root_cleared_handle_Rule\"\n"\r
-                + "salience 100\n"\r
-                + "no-loop true\n"\r
-                + "    when\n"\r
-                + "        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\n"\r
-                + "    then\n"\r
-                + "\t\tDroolsLog.printInfo(\"===========================================================\");\n"\r
-                + "\t\tDroolsLog.printInfo(\"root_cleared_handle_Rule: rootId=\" + $root.getEventId());\n"\r
-                + "\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n"\r
-                + "\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \"org.onap.holmes.droolsRule\");\n"\r
-                + "        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n"\r
-                + "\t\tretract($root);\n"\r
-                + "end\n"\r
-                + "\n"\r
-                + "rule \"child_handle_Rule\"\n"\r
-                + "salience 100\n"\r
-                + "no-loop true\n"\r
-                + "    when\n"\r
-                + "        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\n"\r
-                + "    then\n"\r
-                + "\t\tDroolsLog.printInfo(\"===========================================================\");\n"\r
-                + "\t\tDroolsLog.printInfo(\"child_handle_Rule: childId=\" + $child.getEventId());\n"\r
-                + "\t\tretract($child);\n"\r
-                + "end";\r
-        String filePath = "E:\\项目代码\\ONAP\\holmes\\engine-management\\engine-d-standalone\\src\\main\\assembly\\conf\\engine-d.yml";\r
+        String filePath = "C:\\engine-d.yml";\r
         new EngineDActiveApp().run(new String[]{"server", filePath});\r
     }\r
+\r
+    @Test\r
+    public void testCreateMicroServiceInfo() throws Exception {\r
+        EngineDActiveApp engineDActiveApp = new EngineDActiveApp();\r
+        PowerMock.mockStatic(MicroServiceConfig.class);\r
+        String[] serviceAddrInfo = new String[2];\r
+        serviceAddrInfo[0] = "10.74.216.82";\r
+        serviceAddrInfo[1] = "80";\r
+        EasyMock.expect(MicroServiceConfig.getMicroServiceIpAndPort()).andReturn(serviceAddrInfo);\r
+        EasyMock.expectLastCall();\r
+        EasyMock.expect(MicroServiceConfig.getEnv(anyObject(String.class))).andReturn("true").times(2);\r
+        PowerMock.replayAll();\r
+\r
+        MicroServiceInfo msinfo = Whitebox.invokeMethod(engineDActiveApp,"createMicroServiceInfo");\r
+\r
+        PowerMock.verifyAll();\r
+\r
+        assertThat(msinfo.getServiceName(), equalTo("holmes-engine-mgmt"));\r
+        assertThat(msinfo.getVersion(), equalTo("v1"));\r
+        assertThat(msinfo.getUrl(), equalTo("/api/holmes-engine-mgmt/v1"));\r
+        assertThat(msinfo.getProtocol(), equalTo("REST"));\r
+        assertThat(msinfo.getVisualRange(), equalTo("0|1"));\r
+        assertThat(msinfo.isEnable_ssl(), is(true));\r
+        assertThat(msinfo.getNodes().toArray(new Node[0])[0].getIp(), equalTo(serviceAddrInfo[0]));\r
+        assertThat(msinfo.getNodes().toArray(new Node[0])[0].getPort(), equalTo("9102"));\r
+    }\r
 }\r