/**\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