X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fholmes%2Frulemgt%2Fdcae%2FDcaeConfigurationPollingTest.java;h=b6e71495cbcc29334da8c60a74695831181283b4;hb=8182df37f0308ad04433a47570e7ca9612fcfd84;hp=8d1619823b2b21020ffe4a709fc4a4d11e12a6a8;hpb=d2e0902630ccf06bb466360e036212f5060b9055;p=holmes%2Frule-management.git diff --git a/rulemgt/src/test/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPollingTest.java b/rulemgt/src/test/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPollingTest.java index 8d16198..b6e7149 100644 --- a/rulemgt/src/test/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPollingTest.java +++ b/rulemgt/src/test/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPollingTest.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. @@ -15,109 +15,102 @@ */ package org.onap.holmes.rulemgt.dcae; -import static org.easymock.EasyMock.anyObject; -import static org.hamcrest.CoreMatchers.anyOf; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.assertThat; -import static org.powermock.api.mockito.PowerMockito.when; - -import com.alibaba.fastjson.JSONException; -import com.fasterxml.jackson.databind.ObjectMapper; -import javax.ws.rs.ProcessingException; -import org.junit.Before; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; -import org.onap.holmes.common.config.MicroServiceConfig; +import org.onap.holmes.common.dcae.DcaeConfigurationQuery; import org.onap.holmes.common.dcae.entity.DcaeConfigurations; import org.onap.holmes.common.dcae.entity.Rule; -import org.onap.holmes.common.dcae.utils.DcaeConfigurationParser; -import org.onap.holmes.common.exception.CorrelationException; -import org.onap.holmes.rulemgt.bean.request.RuleCreateRequest; +import org.onap.holmes.common.utils.JerseyClient; +import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse; +import org.onap.holmes.rulemgt.bean.response.RuleResult4API; import org.powermock.api.easymock.PowerMock; -import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; -@PrepareForTest({DcaeConfigurationPolling.class, MicroServiceConfig.class, ObjectMapper.class}) +import java.util.ArrayList; +import java.util.List; + +import static org.easymock.EasyMock.*; +import static org.powermock.api.easymock.PowerMock.*; + @RunWith(PowerMockRunner.class) +@SuppressStaticInitializationFor("org.onap.holmes.common.utils.JerseyClient") +@PrepareForTest({DcaeConfigurationPolling.class, DcaeConfigurationQuery.class}) public class DcaeConfigurationPollingTest { - @org.junit.Rule - public ExpectedException thrown = ExpectedException.none(); + @Test + public void run() throws Exception { + DcaeConfigurations dcaeConfigurations = new DcaeConfigurations(); + dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1)); + mockStatic(DcaeConfigurationQuery.class); + expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations); + DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost"); + + Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1"); - private DcaeConfigurationPolling daceConfigurationPolling; + RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse(); + List ruleResult4APIList = new ArrayList() { + { + add(new RuleResult4API()); + } + }; + ruleQueryListResponse.setCorrelationRules(ruleResult4APIList); + ruleQueryListResponse.setTotalCount(ruleResult4APIList.size()); - @Before - public void setUp() { - daceConfigurationPolling = new DcaeConfigurationPolling("holmes-rule-mgmt"); - } + JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class); + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse); - @Test - public void testDaceConfigurationPolling_getDcaeConfigurations_exception() throws Exception { - PowerMock.resetAll(); - thrown.expect(CorrelationException.class); - thrown.expectMessage("syntax error, pos 1"); - PowerMockito.mockStatic(MicroServiceConfig.class); - when(MicroServiceConfig.getServiceConfigInfoFromCBS("holmes-rule-mgmt")) - .thenReturn("host"); - PowerMock.createMock(DcaeConfigurationParser.class); - PowerMock.expectPrivate(DcaeConfigurationParser.class, "parse", "host") - .andThrow(new CorrelationException("")).anyTimes(); - - PowerMock.replayAll(); - Whitebox.invokeMethod(daceConfigurationPolling, "getDcaeConfigurations"); - PowerMock.verifyAll(); - } + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.delete(anyString())).andReturn("true"); - @Test - public void testDaceConfigurationPolling_getDcaeConfigurations_null() throws Exception { - PowerMock.resetAll(); - thrown.expect(CorrelationException.class); - PowerMockito.mockStatic(MicroServiceConfig.class); - when(MicroServiceConfig.getServiceConfigInfoFromCBS("holmes-rule-mgmt")) - .thenReturn("host"); - PowerMock.createMock(DcaeConfigurationParser.class); - PowerMock.expectPrivate(DcaeConfigurationParser.class, "parse", "host") - .andReturn(null).anyTimes(); - - PowerMock.replayAll(); - DcaeConfigurations dcaeConfigurations = Whitebox - .invokeMethod(daceConfigurationPolling, "getDcaeConfigurations"); - PowerMock.verifyAll(); - - assertThat(dcaeConfigurations == null, equalTo(true)); + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true"); + + replayAll(); + + dcaeConfigurationPolling.run(); + + verifyAll(); } @Test - public void testDaceConfigurationPolling_addAllCorrelationRules_connection_exception() - throws Exception { - PowerMock.resetAll(); - thrown.expect(ProcessingException.class); + public void run_identical_contents() throws Exception { DcaeConfigurations dcaeConfigurations = new DcaeConfigurations(); - Rule rule = new Rule("test", "test", "tset",1); - dcaeConfigurations.getDefaultRules().add(rule); + dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1)); + mockStatic(DcaeConfigurationQuery.class); + expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations).times(2); + DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost"); - PowerMock.replayAll(); - Whitebox.invokeMethod(daceConfigurationPolling, "addAllCorrelationRules", - dcaeConfigurations); - PowerMock.verifyAll(); - } + Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1"); - @Test - public void testDaceConfigurationPolling_getRuleCreateRequest() throws Exception { - PowerMock.resetAll(); - Rule rule = new Rule("test", "test1", "stest",1); - PowerMock.replayAll(); - RuleCreateRequest actual = Whitebox - .invokeMethod(daceConfigurationPolling, "getRuleCreateRequest", rule); - PowerMock.verifyAll(); - - assertThat(actual.getRuleName(), equalTo("test")); - assertThat(actual.getLoopControlName(), equalTo("test1")); - assertThat(actual.getContent(), equalTo("stest")); - assertThat(actual.getDescription(), equalTo("")); - assertThat(actual.getEnabled(), equalTo(1)); + RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse(); + List ruleResult4APIList = new ArrayList() { + { + add(new RuleResult4API()); + } + }; + ruleQueryListResponse.setCorrelationRules(ruleResult4APIList); + ruleQueryListResponse.setTotalCount(ruleResult4APIList.size()); + JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class); + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse); + + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.delete(anyString())).andReturn("true"); + + PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient); + expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true"); + + replayAll(); + + dcaeConfigurationPolling.run(); + dcaeConfigurationPolling.run(); + + verifyAll(); } } \ No newline at end of file