import java.util.ArrayList;\r
import java.util.List;\r
import java.util.Locale;\r
-import org.drools.KnowledgeBase;\r
-import org.drools.KnowledgeBaseConfiguration;\r
-import org.drools.KnowledgeBaseFactory;\r
-import org.drools.conf.EventProcessingOption;\r
-import org.drools.runtime.StatefulKnowledgeSession;\r
import org.junit.Before;\r
import org.junit.Rule;\r
import org.junit.Test;\r
import org.junit.rules.ExpectedException;\r
+import org.kie.api.KieBase;\r
+import org.kie.api.KieServices;\r
+import org.kie.api.builder.KieBuilder;\r
+import org.kie.api.builder.KieFileSystem;\r
+import org.kie.api.builder.KieRepository;\r
+import org.kie.api.io.KieResources;\r
+import org.kie.api.runtime.KieContainer;\r
+import org.kie.api.runtime.KieSession;\r
import org.onap.holmes.common.api.stat.VesAlarm;\r
import org.onap.holmes.engine.request.DeployRuleRequest;\r
import org.onap.holmes.common.api.entity.CorrelationRule;\r
import org.onap.holmes.common.exception.CorrelationException;\r
import org.onap.holmes.engine.wrapper.RuleMgtWrapper;\r
import org.powermock.api.easymock.PowerMock;\r
-import org.powermock.modules.junit4.rule.PowerMockRule;\r
import org.powermock.reflect.Whitebox;\r
\r
public class DroolsEngineTest {\r
@Rule\r
public ExpectedException thrown = ExpectedException.none();\r
\r
- @Rule\r
- public PowerMockRule powerMockRule = new PowerMockRule();\r
-\r
private RuleMgtWrapper ruleMgtWrapper;\r
\r
- private KnowledgeBase kbase;\r
-\r
- private KnowledgeBaseConfiguration kconf;\r
-\r
- private StatefulKnowledgeSession ksession;\r
+ private KieBase kieBase;\r
+ private KieSession kieSession;\r
+ private KieContainer kieContainer;\r
+ private KieFileSystem kfs;\r
+ private KieServices ks;\r
+ private KieBuilder kieBuilder;\r
+ private KieResources resources;\r
+ private KieRepository kieRepository;\r
\r
\r
private DroolsEngine droolsEngine;\r
\r
@Before\r
- public void setUp() {\r
+ public void setUp() throws Exception {\r
droolsEngine = new DroolsEngine();\r
\r
- this.kconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();\r
- this.kconf.setOption(EventProcessingOption.STREAM);\r
- this.kconf.setProperty("drools.assertBehaviour", "equality");\r
- this.kbase = KnowledgeBaseFactory.newKnowledgeBase("D-ENGINE", this.kconf);\r
- this.ksession = kbase.newStatefulKnowledgeSession();\r
+ ks = KieServices.Factory.get();\r
+ resources = ks.getResources();\r
+ kieRepository = ks.getRepository();\r
+ kfs = Whitebox.invokeMethod(droolsEngine, "createKieFileSystemWithKProject", ks);\r
+ kieBuilder = ks.newKieBuilder(kfs).buildAll();\r
+ kieContainer = ks.newKieContainer(kieRepository.getDefaultReleaseId());\r
+ kieBase = kieContainer.getKieBase();\r
+ kieSession = kieContainer.newKieSession();\r
\r
ruleMgtWrapper = PowerMock.createMock(RuleMgtWrapper.class);\r
\r
Whitebox.setInternalState(droolsEngine, "ruleMgtWrapper", ruleMgtWrapper);\r
\r
- Whitebox.setInternalState(droolsEngine, "kconf", kconf);\r
- Whitebox.setInternalState(droolsEngine, "kbase", kbase);\r
- Whitebox.setInternalState(droolsEngine, "ksession", ksession);\r
+ Whitebox.setInternalState(droolsEngine, "kieBase", kieBase);\r
+ Whitebox.setInternalState(droolsEngine, "kieSession", kieSession);\r
+ Whitebox.setInternalState(droolsEngine, "kieContainer", kieContainer);\r
+ Whitebox.setInternalState(droolsEngine, "kfs", kfs);\r
+ Whitebox.setInternalState(droolsEngine, "ks", ks);\r
+ Whitebox.setInternalState(droolsEngine, "kieBuilder", kieBuilder);\r
+ Whitebox.setInternalState(droolsEngine, "resources", resources);\r
+ Whitebox.setInternalState(droolsEngine, "kieRepository", kieRepository);\r
\r
PowerMock.resetAll();\r
}\r
\r
List<CorrelationRule> rules = new ArrayList<CorrelationRule>();\r
CorrelationRule rule = new CorrelationRule();\r
- rule.setContent("content");\r
+ rule.setContent("package content");\r
rule.setClosedControlLoopName("test");\r
rule.setPackageName("org.onap.holmes");\r
rules.add(rule);\r