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=5e7eb195a2bdbc6153d14336af56d95b88662707;hb=a796bda2f8e2db093ce9f528f6e5960e4aa1b22c;hp=cc8c0470d54b9e8403cb256c6a72009519753cfd;hpb=3a2c70f1ee024dbad4dc091d3105064641908e1d;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 cc8c047..5e7eb19 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,193 +17,142 @@ package org.onap.holmes.rulemgt.bolt.enginebolt; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.apache.http.HttpResponse; -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.utils.HttpsUtils; +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.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; -@PrepareForTest({EngineWrapper.class, EngineService.class, HttpsUtils.class, HttpResponse.class, - StatusLine.class}) +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.createMock; +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 HttpResponse httpResponse; - private StatusLine statusLineMock; + + private EngineService mockedEngineService; @Before - public void setUp() throws Exception { - engineServiceMock = PowerMock.createMock(EngineService.class); - httpResponse = PowerMock.createMock(HttpResponse.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(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400); - PowerMock.replayAll(); + expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class), + anyObject(String.class))).andReturn(null); - engineWrapper.deployEngine(new CorrelationDeployRule4Engine()); + replayAll(); - PowerMock.verifyAll(); + engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1"); + + verifyAll(); } @Test public void deployEngine_parse_content_exception() throws Exception { - PowerMock.resetAll(); - String content = ""; - PowerMockito.mockStatic(HttpsUtils.class); 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(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200); - PowerMockito.when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn(content); - PowerMock.replayAll(); + 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 { - PowerMock.resetAll(); String content = "{\"packageName\":\"test\"}"; - PowerMockito.mockStatic(HttpsUtils.class); - EasyMock.expect( - engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class))) - .andReturn(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200); - PowerMockito.when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn(content); - PowerMock.replayAll(); + 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(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).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(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).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(httpResponse); - EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock); - EasyMock.expect(statusLineMock.getStatusCode()).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