import static org.hamcrest.MatcherAssert.assertThat;\r
import static org.hamcrest.Matchers.equalTo;\r
\r
-import javax.ws.rs.core.Response;\r
+import org.apache.http.HttpResponse;\r
import org.apache.http.StatusLine;\r
import org.easymock.EasyMock;\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.utils.HttpsUtils;\r
import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
import org.onap.holmes.common.exception.CorrelationException;\r
import org.powermock.api.easymock.PowerMock;\r
+import org.powermock.api.mockito.PowerMockito;\r
+import org.powermock.core.classloader.annotations.PrepareForTest;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
import org.powermock.reflect.Whitebox;\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
private EngineWrapper engineWrapper = new EngineWrapper();\r
private EngineService engineServiceMock;\r
- private Response response;\r
+ private HttpResponse httpResponse;\r
private StatusLine statusLineMock;\r
\r
@Before\r
public void setUp() throws Exception {\r
engineServiceMock = PowerMock.createMock(EngineService.class);\r
- response = PowerMock.createMock(Response.class);\r
+ httpResponse = PowerMock.createMock(HttpResponse.class);\r
statusLineMock = PowerMock.createMock(StatusLine.class);\r
Whitebox.setInternalState(engineWrapper, "engineService", engineServiceMock);\r
}\r
thrown.expect(CorrelationException.class);\r
thrown.expectMessage("Failed to call the rule deployment RESTful API.");\r
\r
- EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class))).andThrow(\r
- new RuntimeException(""));\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());\r
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
thrown.expect(CorrelationException.class);\r
thrown.expectMessage("Failed to deploy the rule!");\r
\r
- EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(400);\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
\r
- engineWrapper.deployEngine(new CorrelationDeployRule4Engine());\r
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
\r
@Test\r
public void deployEngine_parse_content_exception() throws Exception {\r
+ PowerMock.resetAll();\r
String content = "";\r
-\r
+ PowerMockito.mockStatic(HttpsUtils.class);\r
thrown.expect(CorrelationException.class);\r
- thrown.expectMessage("Failed to parse the value returned by the engine management service.");\r
- EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(200);\r
- EasyMock.expect(response.readEntity(String.class)).andReturn(content);\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
+ PowerMockito.when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn(content);\r
PowerMock.replayAll();\r
\r
- engineWrapper.deployEngine(new CorrelationDeployRule4Engine());\r
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
\r
@Test\r
public void deployEngine_success() throws Exception {\r
- String content = "{\"package\":\"test\"}";\r
- EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(200);\r
- EasyMock.expect(response.readEntity(String.class)).andReturn(content);\r
+ PowerMock.resetAll();\r
+ String content = "{\"packageName\":\"test\"}";\r
+ PowerMockito.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
+ PowerMockito.when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn(content);\r
PowerMock.replayAll();\r
\r
- String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine());\r
+ String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"10.96.33.34");\r
\r
assertThat(result, equalTo("test"));\r
\r
thrown.expect(CorrelationException.class);\r
thrown.expectMessage("Failed to call the rule deleting RESTful API.");\r
\r
- EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class))).andThrow(\r
+ EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
+ EasyMock.anyObject(String.class))).andThrow(\r
new RuntimeException(""));\r
PowerMock.replayAll();\r
\r
- engineWrapper.deleteRuleFromEngine("");\r
+ engineWrapper.deleteRuleFromEngine("","10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
thrown.expect(CorrelationException.class);\r
thrown.expectMessage("Failed to delete the rule!");\r
\r
- EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(400);\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
\r
PowerMock.replayAll();\r
\r
- engineWrapper.deleteRuleFromEngine("");\r
+ engineWrapper.deleteRuleFromEngine("","10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
\r
@Test\r
public void deleteRuleFromEngine_success() throws Exception {\r
- EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(200);\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
\r
PowerMock.replayAll();\r
\r
- boolean result = engineWrapper.deleteRuleFromEngine("");\r
+ boolean result = engineWrapper.deleteRuleFromEngine("","10.96.33.34");\r
\r
assertThat(result, equalTo(true));\r
}\r
thrown.expect(CorrelationException.class);\r
thrown.expectMessage("Failed to call the rule verification RESTful API.");\r
\r
- EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class))).andThrow(\r
- new RuntimeException(""));\r
+ EasyMock.expect(\r
+ engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class),\r
+ EasyMock.anyObject(String.class)))\r
+ .andThrow(\r
+ new RuntimeException(""));\r
PowerMock.replayAll();\r
\r
- engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine());\r
+ engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"10.96.33.34");\r
\r
PowerMock.verifyAll();\r
}\r
\r
@Test\r
public void checkRuleFromEngine_success() throws Exception {\r
- EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
- .andReturn(response);\r
- EasyMock.expect(response.getStatus()).andReturn(200);\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
\r
PowerMock.replayAll();\r
\r
- boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine());\r
+ boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"10.96.33.34");\r
\r
assertThat(result, equalTo(true));\r
}\r