X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fholmes%2Frulemgt%2Fbolt%2Fenginebolt%2FEngineWrapperTest.java;h=6bfb3871a280a997d9e96ff3cb2618c071244595;hb=8182df37f0308ad04433a47570e7ca9612fcfd84;hp=b63b1067f53bde8e648ba814e120760935a67bec;hpb=20a1514bf93035472d4f940f00a357106d4bec1f;p=holmes%2Frule-management.git 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 index b63b106..6bfb387 100644 --- 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 @@ -1,12 +1,12 @@ /** - * Copyright 2017 ZTE Corporation. - * + * Copyright 2017 - 2021 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 - * + *

+ * 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. @@ -17,167 +17,141 @@ 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.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.onap.holmes.common.exception.CorrelationException; 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.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; +import static org.easymock.EasyMock.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.powermock.api.easymock.PowerMock.*; + +@RunWith(PowerMockRunner.class) public class EngineWrapperTest { @Rule public ExpectedException thrown = ExpectedException.none(); + private EngineWrapper engineWrapper = new EngineWrapper(); - private EngineService engineServiceMock; - private Response response; - private StatusLine statusLineMock; + + private EngineService mockedEngineService; @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); + public void before() { + mockedEngineService = createMock(EngineService.class); + Whitebox.setInternalState(engineWrapper, "engineService", mockedEngineService); } - @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(); + @After + public void after() { + resetAll(); } @Test - public void deployEngine_http_status_not_ok() throws Exception { + public void deployEngine_fail() 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(); + expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class), + anyObject(String.class))).andReturn(null); + + replayAll(); - engineWrapper.deployEngine(new CorrelationDeployRule4Engine()); + engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1"); - PowerMock.verifyAll(); + 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(); + thrown.expectMessage( + "Failed to parse the value returned by the engine management service."); + expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class), + anyObject(String.class))).andReturn(""); + + replayAll(); - engineWrapper.deployEngine(new CorrelationDeployRule4Engine()); + engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1"); - PowerMock.verifyAll(); + 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 content = "{\"packageName\":\"test\"}"; + expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class), + anyObject(String.class))).andReturn(content); - String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine()); + replayAll(); - assertThat(result, equalTo("test")); - - } + String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1"); - @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(""); + assertThat(result, equalTo("test")); - PowerMock.verifyAll(); } @Test - public void deleteRuleFromEngine_http_status_not_ok() throws Exception { + public void deleteRuleFromEngine_fail() 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); + expect(mockedEngineService.delete(anyObject(String.class), + anyObject(String.class))) + .andReturn(false); - PowerMock.replayAll(); + replayAll(); - engineWrapper.deleteRuleFromEngine(""); + engineWrapper.deleteRuleFromEngine("", "127.0.0.1"); - PowerMock.verifyAll(); + verifyAll(); } @Test public void deleteRuleFromEngine_success() throws Exception { - EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class))) - .andReturn(response); - EasyMock.expect(response.getStatus()).andReturn(200); + expect(mockedEngineService.delete(anyObject(String.class), + anyObject(String.class))) + .andReturn(true); - PowerMock.replayAll(); + replayAll(); - boolean result = engineWrapper.deleteRuleFromEngine(""); + boolean result = engineWrapper.deleteRuleFromEngine("", "127.0.0.1"); assertThat(result, equalTo(true)); } @Test - public void checkRuleFromEngine_rule_delete_exception() throws Exception { + public void checkRuleFromEngine_fail() throws Exception { thrown.expect(CorrelationException.class); - thrown.expectMessage("Failed to call the rule verification RESTful API."); + thrown.expectMessage("Failed to verify the rule. The contents of the rule are invalid."); - EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class))).andThrow( - new RuntimeException("")); - PowerMock.replayAll(); + expect( + mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class), + anyObject(String.class))).andReturn(false); + replayAll(); - engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine()); + engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1"); - PowerMock.verifyAll(); + verifyAll(); } @Test public void checkRuleFromEngine_success() throws Exception { - EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class))) - .andReturn(response); - EasyMock.expect(response.getStatus()).andReturn(200); + expect(mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class),anyString())).andReturn(true); - PowerMock.replayAll(); + replayAll(); - boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine()); + boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1"); - assertThat(result, equalTo(true)); + assertThat(result, is(true)); } } \ No newline at end of file