Fixed the Start-up Logic
[holmes/rule-management.git] / rulemgt / src / test / java / org / onap / holmes / rulemgt / send / RuleAllocationTest.java
index 24c5f3a..696e32a 100644 (file)
 package org.onap.holmes.rulemgt.send;
 
 
+import org.easymock.EasyMock;
+import org.glassfish.hk2.api.ServiceLocator;
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;
+import org.onap.holmes.common.utils.DbDaoUtil;
+import org.onap.holmes.rulemgt.bolt.enginebolt.EngineWrapper;
+import org.onap.holmes.rulemgt.db.CorrelationRuleDao;
+import org.onap.holmes.rulemgt.msb.EngineIpList;
+import org.onap.holmes.rulemgt.wrapper.RuleMgtWrapper;
+import org.onap.holmes.rulemgt.wrapper.RuleQueryWrapper;
 import org.powermock.api.easymock.PowerMock;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.reflect.Whitebox;
 
 import java.util.ArrayList;
@@ -27,11 +41,50 @@ import java.util.List;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.assertThat;
 
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ServiceLocator.class, RuleMgtWrapper.class, RuleQueryWrapper.class, EngineWrapper.class,
+        EngineIpList.class, DbDaoUtil.class, RuleAllocation.class, ServiceLocatorHolder.class})
 public class RuleAllocationTest {
 
-    private RuleAllocation ruleAllocation = new RuleAllocation();
+    @Before
+    public void prepare() {
+
+        ServiceLocator locator = PowerMock.createMock(ServiceLocator.class);
+        RuleMgtWrapper ruleMgtWrapper = PowerMock.createMock(RuleMgtWrapper.class);
+        RuleQueryWrapper ruleQueryWrapper = PowerMock.createMock(RuleQueryWrapper.class);
+        EngineWrapper engineWrapper = PowerMock.createMock(EngineWrapper.class);
+        EngineIpList engineIpList = PowerMock.createMock(EngineIpList.class);
+        CorrelationRuleDao correlationRuleDao = PowerMock.createMock(CorrelationRuleDao.class);
+        DbDaoUtil daoUtil = PowerMock.createMock(DbDaoUtil.class);
+        PowerMock.mockStatic(ServiceLocatorHolder.class);
+
+        EasyMock.expect(ServiceLocatorHolder.getLocator()).andReturn(locator);
+        EasyMock.expect(locator.getService(RuleMgtWrapper.class)).andReturn(ruleMgtWrapper);
+        EasyMock.expect(locator.getService(RuleQueryWrapper.class)).andReturn(ruleQueryWrapper);
+        EasyMock.expect(locator.getService(EngineWrapper.class)).andReturn(engineWrapper);
+        EasyMock.expect(locator.getService(EngineIpList.class)).andReturn(engineIpList);
+        EasyMock.expect(locator.getService(DbDaoUtil.class)).andReturn(daoUtil);
+        EasyMock.expect(daoUtil.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(correlationRuleDao);
+        try {
+            EasyMock.expect(engineIpList.getServiceCount()).andReturn(new ArrayList());
+        } catch (Exception e) {
+            // Do nothing
+        }
+
+
+        PowerMock.replayAll();
+
+    }
+
+    @After
+    public void destroy() {
+        PowerMock.resetAll();
+    }
+
     @Test
     public void extendCompareIpTest() throws Exception{
+        RuleAllocation ruleAllocation = new RuleAllocation();
+
         List<String> newList = new ArrayList<>();
         newList.add("10.96.33.34");
         newList.add("10.74.65.24");
@@ -47,6 +100,8 @@ public class RuleAllocationTest {
 
     @Test
     public void destroyCompareIpTest() throws Exception{
+        RuleAllocation ruleAllocation = new RuleAllocation();
+
         List<String> newList = new ArrayList<>();
         newList.add("10.96.33.34");