Switched from Dropwizard to Springboot
[holmes/engine-management.git] / engine-d / src / test / java / org / onap / holmes / engine / resources / EngineResourcesTest.java
1 /**\r
2  * Copyright 2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.holmes.engine.resources;\r
18 \r
19 import org.junit.Before;\r
20 import org.junit.Rule;\r
21 import org.junit.Test;\r
22 import org.junit.rules.ExpectedException;\r
23 import org.onap.holmes.common.dmaap.store.ClosedLoopControlNameCache;\r
24 import org.onap.holmes.common.exception.CorrelationException;\r
25 import org.onap.holmes.engine.manager.DroolsEngine;\r
26 import org.onap.holmes.engine.request.CompileRuleRequest;\r
27 import org.onap.holmes.engine.request.DeployRuleRequest;\r
28 import org.powermock.api.easymock.PowerMock;\r
29 \r
30 import jakarta.ws.rs.WebApplicationException;\r
31 \r
32 import static org.easymock.EasyMock.*;\r
33 \r
34 public class EngineResourcesTest {\r
35     @Rule\r
36     public ExpectedException thrown = ExpectedException.none();\r
37     private DroolsEngine droolsEngine;\r
38     private EngineResources engineResources;\r
39     private ClosedLoopControlNameCache closedLoopControlNameCache;\r
40 \r
41     @Before\r
42     public void setUp() {\r
43         droolsEngine = PowerMock.createMock(DroolsEngine.class);\r
44         closedLoopControlNameCache = new ClosedLoopControlNameCache();\r
45         engineResources = new EngineResources();\r
46         engineResources.setClosedLoopControlNameCache(closedLoopControlNameCache);\r
47         engineResources.setDroolsEngine(droolsEngine);\r
48         PowerMock.resetAll();\r
49     }\r
50 \r
51     @Test\r
52     public void deployRule_exception() throws CorrelationException {\r
53         DeployRuleRequest deployRuleRequest = new DeployRuleRequest();\r
54 \r
55         thrown.expect(WebApplicationException.class);\r
56 \r
57         expect(droolsEngine.deployRule(anyObject(DeployRuleRequest.class))).\r
58                 andThrow(new CorrelationException(""));\r
59         PowerMock.replayAll();\r
60         engineResources.deployRule(deployRuleRequest);\r
61         PowerMock.verifyAll();\r
62     }\r
63 \r
64     @Test\r
65     public void deployRule_normal() throws CorrelationException {\r
66         DeployRuleRequest deployRuleRequest = new DeployRuleRequest();\r
67         deployRuleRequest.setContent("package packageName;\n\nimport xxx.xxx.xxx;");\r
68         deployRuleRequest.setLoopControlName("loopControlName");\r
69 \r
70         expect(droolsEngine.deployRule(anyObject(DeployRuleRequest.class))).andReturn("packageName");\r
71         PowerMock.replayAll();\r
72         engineResources.deployRule(deployRuleRequest);\r
73         PowerMock.verifyAll();\r
74     }\r
75 \r
76     @Test\r
77     public void undeployRule_exception() throws CorrelationException {\r
78         String packageName = "packageName";\r
79 \r
80         thrown.expect(WebApplicationException.class);\r
81 \r
82         droolsEngine.undeployRule(anyObject(String.class));\r
83         expectLastCall().andThrow(new CorrelationException(""));\r
84         PowerMock.replayAll();\r
85         engineResources.undeployRule(packageName);\r
86         PowerMock.verifyAll();\r
87     }\r
88 \r
89     @Test\r
90     public void undeployRule_normal() throws CorrelationException {\r
91         String packageName = "packageName";\r
92 \r
93         droolsEngine.undeployRule(anyObject(String.class));\r
94         PowerMock.replayAll();\r
95         engineResources.undeployRule(packageName);\r
96         PowerMock.verifyAll();\r
97     }\r
98 \r
99     @Test\r
100     public void compileRule_exception() throws CorrelationException {\r
101         CompileRuleRequest compileRuleRequest = new CompileRuleRequest();\r
102 \r
103         thrown.expect(WebApplicationException.class);\r
104 \r
105         droolsEngine.compileRule(anyObject(String.class));\r
106         expectLastCall().andThrow(new CorrelationException(""));\r
107         PowerMock.replayAll();\r
108         engineResources.compileRule(compileRuleRequest);\r
109         PowerMock.verifyAll();\r
110     }\r
111 \r
112     @Test\r
113     public void compileRule_normal() throws CorrelationException {\r
114         CompileRuleRequest compileRuleRequest = new CompileRuleRequest();\r
115         droolsEngine.compileRule(anyObject(String.class));\r
116         PowerMock.replayAll();\r
117         engineResources.compileRule(compileRuleRequest);\r
118         PowerMock.verifyAll();\r
119     }\r
120 }\r