Change the groupid from openo to onap
[holmes/rule-management.git] / rulemgt / src / test / java / org / onap / holmes / rulemgt / resources / RuleMgtResourcesTest.java
diff --git a/rulemgt/src/test/java/org/onap/holmes/rulemgt/resources/RuleMgtResourcesTest.java b/rulemgt/src/test/java/org/onap/holmes/rulemgt/resources/RuleMgtResourcesTest.java
new file mode 100644 (file)
index 0000000..dd68ad8
--- /dev/null
@@ -0,0 +1,182 @@
+/**\r
+ * Copyright 2017 ZTE Corporation.\r
+ *\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
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package org.onap.holmes.rulemgt.resources;\r
+\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.ws.rs.WebApplicationException;\r
+import org.easymock.EasyMock;\r
+import org.eclipse.jetty.server.Request;\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.rulemgt.bean.request.RuleCreateRequest;\r
+import org.onap.holmes.rulemgt.bean.request.RuleDeleteRequest;\r
+import org.onap.holmes.rulemgt.wrapper.RuleMgtWrapper;\r
+import org.onap.holmes.common.exception.CorrelationException;\r
+import org.onap.holmes.rulemgt.bean.request.RuleQueryCondition;\r
+import org.onap.holmes.rulemgt.bean.request.RuleUpdateRequest;\r
+import org.onap.holmes.rulemgt.bean.response.RuleAddAndUpdateResponse;\r
+import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse;\r
+import org.powermock.api.easymock.PowerMock;\r
+import org.powermock.reflect.Whitebox;\r
+\r
+public class RuleMgtResourcesTest {\r
+\r
+    @Rule\r
+    public ExpectedException thrown = ExpectedException.none();\r
+\r
+    private HttpServletRequest request = PowerMock.createMock(HttpServletRequest.class);\r
+\r
+    private RuleMgtWrapper ruleMgtWrapper = PowerMock.createMock(RuleMgtWrapper.class);\r
+\r
+    private RuleMgtResources ruleMgtResources = new RuleMgtResources();\r
+\r
+    private Request requestMock = PowerMock.createMock(Request.class);\r
+\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        Whitebox.setInternalState(ruleMgtResources, "ruleMgtWrapper", ruleMgtWrapper);\r
+        PowerMock.resetAll();\r
+    }\r
+\r
+    @Test\r
+    public void addCorrelationRule_correlation_exception() throws Exception {\r
+        thrown.expect(WebApplicationException.class);\r
+\r
+        final RuleCreateRequest ruleCreateRequest = new RuleCreateRequest();\r
+        EasyMock.expect(ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest))\r
+                .andThrow(new CorrelationException(EasyMock.anyObject(String.class)));\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        EasyMock.expect(request.getHeader("username")).andReturn("admin");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.addCorrelationRule(request, ruleCreateRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void addCorrelationRule_normal() throws Exception {\r
+        StringBuilder stringBuilder = new StringBuilder("http://localhost");\r
+        final RuleCreateRequest ruleCreateRequest = new RuleCreateRequest();\r
+        EasyMock.expect(ruleMgtWrapper.addCorrelationRule("admin",\r
+                ruleCreateRequest)).andReturn(new RuleAddAndUpdateResponse());\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        EasyMock.expect(request.getHeader("username")).andReturn("admin");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.addCorrelationRule(request, ruleCreateRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void updateCorrelationRule_correlation_exception() throws Exception {\r
+        thrown.expect(WebApplicationException.class);\r
+\r
+        final RuleUpdateRequest ruleUpdateRequest = new RuleUpdateRequest();\r
+        EasyMock.expect(ruleMgtWrapper.updateCorrelationRule("admin", ruleUpdateRequest))\r
+                .andThrow(new CorrelationException(EasyMock.anyObject(String.class)));\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        EasyMock.expect(request.getHeader("username")).andReturn("admin");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.updateCorrelationRule(request, ruleUpdateRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void updateCorrelationRule_normal() throws Exception {\r
+        final RuleUpdateRequest ruleUpdateRequest = new RuleUpdateRequest();\r
+        EasyMock.expect(ruleMgtWrapper.updateCorrelationRule("admin",\r
+                ruleUpdateRequest)).andReturn(new RuleAddAndUpdateResponse());\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        EasyMock.expect(request.getHeader("username")).andReturn("admin");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.updateCorrelationRule(request, ruleUpdateRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void deleteCorrelationRule_correlation_exception() throws Exception {\r
+        thrown.expect(WebApplicationException.class);\r
+\r
+        final RuleDeleteRequest ruleDeleteRequest = new RuleDeleteRequest();\r
+        ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
+        EasyMock.expectLastCall().andThrow(new CorrelationException(EasyMock.anyObject(String.class)));\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.deleteCorrelationRule(request, ruleDeleteRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void deleteCorrelationRule_normal() throws Exception {\r
+        final RuleDeleteRequest ruleDeleteRequest = new RuleDeleteRequest();\r
+        ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
+        EasyMock.expectLastCall();\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US");\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.deleteCorrelationRule(request, ruleDeleteRequest);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void getCorrelationRules_data_format_exception() throws Exception {\r
+        thrown.expect(WebApplicationException.class);\r
+\r
+        final String requestStr = "{\"ruleid\":\"rule_001\",\"rulename\":\"Rule-001\","\r
+                + "\"enabled\":0,\"creator\":\"admin\"}";\r
+        EasyMock.expect(ruleMgtWrapper.getCorrelationRuleByCondition(EasyMock.anyObject(RuleQueryCondition.class)))\r
+                .andThrow(new CorrelationException(EasyMock.anyObject(String.class)));\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US").times(2);\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.getCorrelationRules(request, requestStr);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void getCorrelationRules_param_translate_exception() {\r
+        thrown.expect(WebApplicationException.class);\r
+\r
+        String queryRequest = "this is error param";\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US").times(2);\r
+\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.getCorrelationRules(request, queryRequest);\r
+        PowerMock.verifyAll();\r
+\r
+    }\r
+\r
+    @Test\r
+    public void getCorrelationRules_normal_request_string_null() throws Exception {\r
+        EasyMock.expect(ruleMgtWrapper.getCorrelationRuleByCondition(EasyMock.anyObject(RuleQueryCondition.class)))\r
+                .andReturn(new RuleQueryListResponse());\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US").times(2);\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.getCorrelationRules(request, null);\r
+        PowerMock.verifyAll();\r
+    }\r
+\r
+    @Test\r
+    public void getCorrelationRules_normal_request_string_enabled_missing() throws Exception {\r
+        final String requestStr = "{\"ruleid\":\"rule_001\",\"rulename\":\"Rule-001\","\r
+                + "\"creator\":\"admin\"}";\r
+        EasyMock.expect(ruleMgtWrapper.getCorrelationRuleByCondition(EasyMock.anyObject(RuleQueryCondition.class)))\r
+                .andReturn(new RuleQueryListResponse());\r
+        EasyMock.expect(request.getHeader("language-option")).andReturn("en_US").times(2);\r
+        PowerMock.replayAll();\r
+        ruleMgtResources.getCorrelationRules(request, requestStr);\r
+        PowerMock.verifyAll();\r
+    }\r
+}
\ No newline at end of file