summaryrefslogtreecommitdiffstats
path: root/rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java
diff options
context:
space:
mode:
authorGuangrong Fu <fu.guangrong@zte.com.cn>2017-08-07 12:30:35 +0800
committerGuangrong Fu <fu.guangrong@zte.com.cn>2017-08-07 12:41:11 +0800
commit20a1514bf93035472d4f940f00a357106d4bec1f (patch)
tree53c8e874f204f4b5ac7e64cbfdf783dbd2e9e019 /rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java
parent40f54b8acefce59ecbd9e9fde60e062373243982 (diff)
Change the groupid from openo to onap
Change the groupid and package paths to onap. Change-Id: I8432e9ac2c979bbc36e10e6a702c6f04fc41446a Issue-ID: HOLMES-7 Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
Diffstat (limited to 'rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java')
-rw-r--r--rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java183
1 files changed, 183 insertions, 0 deletions
diff --git a/rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java b/rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java
new file mode 100644
index 0000000..b63b106
--- /dev/null
+++ b/rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2017 ZTE Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.holmes.rulemgt.bolt.enginebolt;
+
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+
+import javax.ws.rs.core.Response;
+import org.apache.http.StatusLine;
+import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;
+import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;
+import org.onap.holmes.common.exception.CorrelationException;
+import org.powermock.api.easymock.PowerMock;
+import org.powermock.reflect.Whitebox;
+
+public class EngineWrapperTest {
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+ private EngineWrapper engineWrapper = new EngineWrapper();
+ private EngineService engineServiceMock;
+ private Response response;
+ private StatusLine statusLineMock;
+
+ @Before
+ public void setUp() throws Exception {
+ engineServiceMock = PowerMock.createMock(EngineService.class);
+ response = PowerMock.createMock(Response.class);
+ statusLineMock = PowerMock.createMock(StatusLine.class);
+ Whitebox.setInternalState(engineWrapper, "engineService", engineServiceMock);
+ }
+
+ @Test
+ public void deployEngine_invoke_rule_deploy_exception() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to call the rule deployment RESTful API.");
+
+ EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class))).andThrow(
+ new RuntimeException(""));
+ PowerMock.replayAll();
+
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine());
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void deployEngine_http_status_not_ok() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to deploy the rule!");
+
+ EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(400);
+ PowerMock.replayAll();
+
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine());
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void deployEngine_parse_content_exception() throws Exception {
+ String content = "";
+
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to parse the value returned by the engine management service.");
+ EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(200);
+ EasyMock.expect(response.readEntity(String.class)).andReturn(content);
+ PowerMock.replayAll();
+
+ engineWrapper.deployEngine(new CorrelationDeployRule4Engine());
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void deployEngine_success() throws Exception {
+ String content = "{\"package\":\"test\"}";
+ EasyMock.expect(engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(200);
+ EasyMock.expect(response.readEntity(String.class)).andReturn(content);
+ PowerMock.replayAll();
+
+ String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine());
+
+ assertThat(result, equalTo("test"));
+
+ }
+
+ @Test
+ public void deleteRuleFromEngine_invoke_rule_delete_exception() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to call the rule deleting RESTful API.");
+
+ EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class))).andThrow(
+ new RuntimeException(""));
+ PowerMock.replayAll();
+
+ engineWrapper.deleteRuleFromEngine("");
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void deleteRuleFromEngine_http_status_not_ok() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to delete the rule!");
+
+ EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(400);
+
+ PowerMock.replayAll();
+
+ engineWrapper.deleteRuleFromEngine("");
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void deleteRuleFromEngine_success() throws Exception {
+ EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(200);
+
+ PowerMock.replayAll();
+
+ boolean result = engineWrapper.deleteRuleFromEngine("");
+
+ assertThat(result, equalTo(true));
+ }
+
+ @Test
+ public void checkRuleFromEngine_rule_delete_exception() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to call the rule verification RESTful API.");
+
+ EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class))).andThrow(
+ new RuntimeException(""));
+ PowerMock.replayAll();
+
+ engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine());
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void checkRuleFromEngine_success() throws Exception {
+ EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))
+ .andReturn(response);
+ EasyMock.expect(response.getStatus()).andReturn(200);
+
+ PowerMock.replayAll();
+
+ boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine());
+
+ assertThat(result, equalTo(true));
+ }
+} \ No newline at end of file