Removed Dependency: httpclient
[holmes/rule-management.git] / rulemgt / src / test / java / org / onap / holmes / rulemgt / bolt / enginebolt / EngineWrapperTest.java
index 7296824..6bfb387 100644 (file)
@@ -1,12 +1,12 @@
 /**\r
- * Copyright 2017 ZTE Corporation.\r
- *\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
  * You may obtain a copy of the License at\r
- *\r
- *     http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
+ * <p>\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * <p>\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
 package org.onap.holmes.rulemgt.bolt.enginebolt;\r
 \r
 \r
-import org.apache.http.HttpResponse;\r
-import org.apache.http.StatusLine;\r
-import org.easymock.EasyMock;\r
+import org.junit.After;\r
 import org.junit.Before;\r
 import org.junit.Rule;\r
 import org.junit.Test;\r
 import org.junit.rules.ExpectedException;\r
 import org.junit.runner.RunWith;\r
 import org.onap.holmes.common.exception.CorrelationException;\r
-import org.onap.holmes.common.utils.HttpsUtils;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
-import org.powermock.api.easymock.PowerMock;\r
-import org.powermock.core.classloader.annotations.PrepareForTest;\r
 import org.powermock.modules.junit4.PowerMockRunner;\r
 import org.powermock.reflect.Whitebox;\r
 \r
+import static org.easymock.EasyMock.*;\r
 import static org.hamcrest.MatcherAssert.assertThat;\r
 import static org.hamcrest.Matchers.equalTo;\r
+import static org.hamcrest.Matchers.is;\r
+import static org.powermock.api.easymock.PowerMock.*;\r
 \r
-@PrepareForTest({EngineWrapper.class, EngineService.class, HttpsUtils.class, HttpResponse.class,\r
-        StatusLine.class})\r
 @RunWith(PowerMockRunner.class)\r
 public class EngineWrapperTest {\r
 \r
     @Rule\r
     public ExpectedException thrown = ExpectedException.none();\r
+\r
     private EngineWrapper engineWrapper = new EngineWrapper();\r
-    private EngineService engineServiceMock;\r
-    private HttpResponse httpResponse;\r
-    private StatusLine statusLineMock;\r
+\r
+    private EngineService mockedEngineService;\r
 \r
     @Before\r
-    public void setUp() throws Exception {\r
-        engineServiceMock = PowerMock.createMock(EngineService.class);\r
-        httpResponse = PowerMock.createMock(HttpResponse.class);\r
-        statusLineMock = PowerMock.createMock(StatusLine.class);\r
-        Whitebox.setInternalState(engineWrapper, "engineService", engineServiceMock);\r
+    public void before() {\r
+        mockedEngineService = createMock(EngineService.class);\r
+        Whitebox.setInternalState(engineWrapper, "engineService", mockedEngineService);\r
     }\r
 \r
-    @Test\r
-    public void deployEngine_invoke_rule_deploy_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule deployment RESTful API.");\r
-\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andThrow(\r
-                        new RuntimeException(""));\r
-        PowerMock.replayAll();\r
-\r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
-\r
-        PowerMock.verifyAll();\r
+    @After\r
+    public void after() {\r
+        resetAll();\r
     }\r
 \r
     @Test\r
-    public void deployEngine_http_status_not_ok() throws Exception {\r
+    public void deployEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage("Failed to deploy the rule!");\r
 \r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400);\r
-        PowerMock.replayAll();\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn(null);\r
+\r
+        replayAll();\r
 \r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
+        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void deployEngine_parse_content_exception() throws Exception {\r
-        PowerMock.resetAll();\r
-        String content = "";\r
-        PowerMock.mockStatic(HttpsUtils.class);\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage(\r
                 "Failed to parse the value returned by the engine management service.");\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
-        EasyMock.expect(HttpsUtils.extractResponseEntity(httpResponse)).andReturn(content);\r
-        PowerMock.replayAll();\r
-\r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn("");\r
 \r
-    @Test\r
-    public void deployEngine_success() throws Exception {\r
-        PowerMock.resetAll();\r
-        String content = "{\"packageName\":\"test\"}";\r
-        PowerMock.mockStatic(HttpsUtils.class);\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
-        EasyMock.expect(HttpsUtils.extractResponseEntity(httpResponse)).andReturn(content);\r
-        PowerMock.replayAll();\r
-\r
-        String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
+        replayAll();\r
 \r
-        assertThat(result, equalTo("test"));\r
+        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
+        verifyAll();\r
     }\r
 \r
     @Test\r
-    public void deleteRuleFromEngine_invoke_rule_delete_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule deleting RESTful API.");\r
+    public void deployEngine_success() throws Exception {\r
+        String content = "{\"packageName\":\"test\"}";\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn(content);\r
+\r
+        replayAll();\r
 \r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class))).andThrow(\r
-                new RuntimeException(""));\r
-        PowerMock.replayAll();\r
+        String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
-        engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        assertThat(result, equalTo("test"));\r
 \r
-        PowerMock.verifyAll();\r
     }\r
 \r
     @Test\r
-    public void deleteRuleFromEngine_http_status_not_ok() throws Exception {\r
+    public void deleteRuleFromEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage("Failed to delete the rule!");\r
 \r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400);\r
+        expect(mockedEngineService.delete(anyObject(String.class),\r
+                anyObject(String.class)))\r
+                .andReturn(false);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        engineWrapper.deleteRuleFromEngine("", "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void deleteRuleFromEngine_success() throws Exception {\r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
+        expect(mockedEngineService.delete(anyObject(String.class),\r
+                anyObject(String.class)))\r
+                .andReturn(true);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        boolean result = engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        boolean result = engineWrapper.deleteRuleFromEngine("", "127.0.0.1");\r
 \r
         assertThat(result, equalTo(true));\r
     }\r
 \r
     @Test\r
-    public void checkRuleFromEngine_rule_delete_exception() throws Exception {\r
+    public void checkRuleFromEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule verification RESTful API.");\r
+        thrown.expectMessage("Failed to verify the rule. The contents of the rule are invalid.");\r
 \r
-        EasyMock.expect(\r
-                engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andThrow(\r
-                        new RuntimeException(""));\r
-        PowerMock.replayAll();\r
+        expect(\r
+                mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class),\r
+                        anyObject(String.class))).andReturn(false);\r
+        replayAll();\r
 \r
-        engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"127.0.0.1");\r
+        engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void checkRuleFromEngine_success() throws Exception {\r
-        EasyMock.expect(\r
-                engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
+        expect(mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class),anyString())).andReturn(true);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"127.0.0.1");\r
+        boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1");\r
 \r
-        assertThat(result, equalTo(true));\r
+        assertThat(result, is(true));\r
     }\r
 }
\ No newline at end of file