/**\r
- * Copyright 2017 ZTE Corporation.\r
+ * Copyright 2017-2021 ZTE Corporation.\r
* <p>\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
package org.onap.holmes.engine.manager;\r
\r
-import org.junit.Before;\r
import org.junit.Rule;\r
import org.junit.Test;\r
import org.junit.rules.ExpectedException;\r
import org.onap.holmes.common.api.entity.AlarmInfo;\r
import org.onap.holmes.common.api.entity.CorrelationRule;\r
import org.onap.holmes.common.api.stat.VesAlarm;\r
+import org.onap.holmes.common.config.MicroServiceConfig;\r
import org.onap.holmes.common.dmaap.store.ClosedLoopControlNameCache;\r
import org.onap.holmes.common.exception.CorrelationException;\r
-import org.onap.holmes.common.utils.DbDaoUtil;\r
-import org.onap.holmes.engine.db.AlarmInfoDao;\r
+import org.onap.holmes.engine.db.AlarmInfoDaoService;\r
+import org.onap.holmes.engine.db.CorrelationRuleDaoService;\r
import org.onap.holmes.engine.request.DeployRuleRequest;\r
import org.onap.holmes.engine.wrapper.RuleMgtWrapper;\r
-import org.powermock.api.easymock.PowerMock;\r
import org.powermock.reflect.Whitebox;\r
\r
import java.util.ArrayList;\r
@Rule\r
public ExpectedException thrown = ExpectedException.none();\r
\r
- private RuleMgtWrapper ruleMgtWrapper;\r
+ private RuleMgtWrapper ruleMgtWrapperMock;\r
\r
private DroolsEngine droolsEngine;\r
\r
- private DbDaoUtil dbDaoUtilStub;\r
+ private AlarmInfoDaoService alarmInfoDaoServiceStub;\r
+\r
+ private CorrelationRuleDaoService correlationRuleDaoServiceStub;\r
\r
private ClosedLoopControlNameCache closedLoopControlNameCache;\r
\r
public DroolsEngineTest() throws Exception {\r
+ System.setProperty(MicroServiceConfig.HOSTNAME, "127.0.0.1:80");\r
droolsEngine = new DroolsEngine();\r
- ruleMgtWrapper = new RuleMgtWrapperStub();\r
- dbDaoUtilStub = new DbDaoUtilStub();\r
+ alarmInfoDaoServiceStub = new AlarmInfoDaoServiceStub();\r
+ droolsEngine.setAlarmInfoDaoService(alarmInfoDaoServiceStub);\r
+ correlationRuleDaoServiceStub = new CorrelationRuleDaoServiceStub();\r
+ ruleMgtWrapperMock = new RuleMgtWrapperStub(correlationRuleDaoServiceStub);\r
closedLoopControlNameCache = new ClosedLoopControlNameCache();\r
droolsEngine.setClosedLoopControlNameCache(closedLoopControlNameCache);\r
- droolsEngine.setDaoUtil(dbDaoUtilStub);\r
- droolsEngine.setRuleMgtWrapper(ruleMgtWrapper);\r
-\r
- Whitebox.invokeMethod(droolsEngine, "init");\r
- }\r
+ droolsEngine.setRuleMgtWrapper(ruleMgtWrapperMock);\r
\r
- @Before\r
- public void setUp() throws Exception {\r
- PowerMock.resetAll();\r
+ Whitebox.invokeMethod(droolsEngine, "run", null);\r
+ System.clearProperty(MicroServiceConfig.HOSTNAME);\r
}\r
\r
@Test\r
\r
assertThat(packages.contains("packageCheck"), is(true));\r
}\r
-}\r
-\r
-class RuleMgtWrapperStub extends RuleMgtWrapper {\r
- private List<CorrelationRule> rules;\r
-\r
- public RuleMgtWrapperStub() {\r
- rules = new ArrayList<>();\r
- CorrelationRule rule = new CorrelationRule();\r
- rule.setEnabled(1);\r
- rule.setContent("package org.onap.holmes;");\r
- rule.setPackageName("UT");\r
- rule.setClosedControlLoopName(UUID.randomUUID().toString());\r
- rules.add(rule);\r
- }\r
-\r
- public List<CorrelationRule> getRules() {\r
- return rules;\r
- }\r
-\r
- public void setRules(List<CorrelationRule> rules) {\r
- this.rules = rules;\r
- }\r
\r
- @Override\r
- public List<CorrelationRule> queryRuleByEnable(int enabled) throws CorrelationException {\r
- return rules.stream().filter(rule -> rule.getEnabled() == enabled).collect(Collectors.toList());\r
+ class RuleMgtWrapperStub extends RuleMgtWrapper {\r
+ private List<CorrelationRule> rules;\r
+\r
+ public RuleMgtWrapperStub(CorrelationRuleDaoService correlationRuleDaoService) {\r
+ super(correlationRuleDaoService);\r
+ rules = new ArrayList<>();\r
+ CorrelationRule rule = new CorrelationRule();\r
+ rule.setEnabled(1);\r
+ rule.setContent("package org.onap.holmes;");\r
+ rule.setPackageName("UT");\r
+ rule.setClosedControlLoopName(UUID.randomUUID().toString());\r
+ rule.setEngineInstance("127.0.0.1");\r
+ rules.add(rule);\r
+ }\r
+\r
+ public List<CorrelationRule> getRules() {\r
+ return rules;\r
+ }\r
+\r
+ public void setRules(List<CorrelationRule> rules) {\r
+ this.rules = rules;\r
+ }\r
+\r
+ @Override\r
+ public List<CorrelationRule> queryRuleByEnable(int enabled) throws CorrelationException {\r
+ return rules.stream().filter(rule -> rule.getEnabled() == enabled).collect(Collectors.toList());\r
+ }\r
}\r
-}\r
\r
-class AlarmInfoDaoStub extends AlarmInfoDao {\r
-\r
- private List<AlarmInfo> alarms;\r
-\r
- public AlarmInfoDaoStub() {\r
- alarms = new ArrayList<>();\r
- AlarmInfo info = new AlarmInfo();\r
- info.setEventId("eventId");\r
- info.setEventName("eventName");\r
- info.setStartEpochMicroSec(1L);\r
- info.setLastEpochMicroSec(1L);\r
- info.setSourceId("sourceId");\r
- info.setSourceName("sourceName");\r
- info.setRootFlag(0);\r
- info.setAlarmIsCleared(1);\r
- alarms.add(info);\r
+ class AlarmInfoDaoServiceStub extends AlarmInfoDaoService {\r
+\r
+ private List<AlarmInfo> alarms;\r
+\r
+ public AlarmInfoDaoServiceStub() {\r
+ alarms = new ArrayList<>();\r
+ AlarmInfo info = new AlarmInfo();\r
+ info.setEventId("eventId");\r
+ info.setEventName("eventName");\r
+ info.setStartEpochMicroSec(1L);\r
+ info.setLastEpochMicroSec(1L);\r
+ info.setSourceId("sourceId");\r
+ info.setSourceName("sourceName");\r
+ info.setRootFlag(0);\r
+ info.setAlarmIsCleared(1);\r
+ alarms.add(info);\r
+ }\r
+\r
+ @Override\r
+ public AlarmInfo saveAlarm(AlarmInfo alarmInfo) {\r
+ alarms.add(alarmInfo);\r
+ return alarmInfo;\r
+ }\r
+\r
+ @Override\r
+ public List<AlarmInfo> queryAllAlarm() {\r
+ return alarms;\r
+ }\r
+\r
+ @Override\r
+ public void deleteAlarm(AlarmInfo alarmInfo) {\r
+\r
+ }\r
}\r
\r
- @Override\r
- protected String addAlarm(AlarmInfo alarmInfo) {\r
- alarms.add(alarmInfo);\r
- return null;\r
- }\r
-\r
- @Override\r
- protected List<AlarmInfo> queryAlarm() {\r
- return alarms;\r
- }\r
+ class CorrelationRuleDaoServiceStub extends CorrelationRuleDaoService {\r
\r
- @Override\r
- protected int deleteAlarmByAlarmIsCleared(String alarmName, String sourceName, String sourceId) {\r
- return 1;\r
}\r
}\r
\r
-class DbDaoUtilStub extends DbDaoUtil {\r
- private AlarmInfoDao dao = new AlarmInfoDaoStub();\r
\r
- @Override\r
- public <T> T getJdbiDaoByOnDemand(Class<T> daoClazz) {\r
-\r
- return (T) dao;\r
-\r
- }\r
-}\r