From: Guangrong Fu Date: Wed, 24 Jan 2018 02:40:37 +0000 (+0800) Subject: Add Unit Tests X-Git-Tag: 1.2.0~47 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=holmes%2Fcommon.git;a=commitdiff_plain;h=fca9385739569e4bcf27903ebde80e078b3530b9 Add Unit Tests Change-Id: I972623ad6ab9b7ab06f4996614a37a51b4cedde5 Issue-ID: HOLMES-97 Signed-off-by: Guangrong Fu --- diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/dmaap/Publisher.java b/holmes-actions/src/main/java/org/onap/holmes/common/dmaap/Publisher.java index 0f96181..91e9d42 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/dmaap/Publisher.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/dmaap/Publisher.java @@ -57,12 +57,12 @@ public class Publisher { response = webTarget.request(MediaType.APPLICATION_JSON) .post(Entity.entity(content, MediaType.APPLICATION_JSON)); } catch (Exception e) { - throw new CorrelationException("Failed to connect dcae.", e); + throw new CorrelationException("Failed to connect to DCAE.", e); } return checkStatus(response); } private boolean checkStatus(Response response) { - return (response.getStatus() == HttpStatus.SC_OK) ? true : false; + return response.getStatus() == HttpStatus.SC_OK; } } diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/api/stat/AlarmTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/api/stat/AlarmTest.java index b0e3690..92658d6 100644 --- a/holmes-actions/src/test/java/org/onap/holmes/common/api/stat/AlarmTest.java +++ b/holmes-actions/src/test/java/org/onap/holmes/common/api/stat/AlarmTest.java @@ -190,18 +190,4 @@ public class AlarmTest { alarm.setCenterType(centerType); assertThat(centerType, equalTo(alarm.getCenterType())); } - - @Test - public void valueOf_exception() { - thrown.expect(Exception.class); - String xmlString = ""; - Alarm.valueOf(xmlString); - } - - @Test - public void valueOf_normal() { - String xmlString = alarm.toString(); - Alarm alarmValue = Alarm.valueOf(xmlString); - assertThat(alarmValue, equalTo(alarm)); - } } diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/dcae/DcaeConfigurationsCacheTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/dcae/DcaeConfigurationsCacheTest.java index cb071d3..d1a3dcb 100644 --- a/holmes-actions/src/test/java/org/onap/holmes/common/dcae/DcaeConfigurationsCacheTest.java +++ b/holmes-actions/src/test/java/org/onap/holmes/common/dcae/DcaeConfigurationsCacheTest.java @@ -16,6 +16,7 @@ package org.onap.holmes.common.dcae; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.*; import org.junit.Test; @@ -39,4 +40,15 @@ public class DcaeConfigurationsCacheTest { assertThat(DcaeConfigurationsCache.getPubSecInfo("test").getAafUsername(), equalTo(securityInfo.getAafUsername())); } + + @Test + public void testDcaeConfigurationCacheNull() { + DcaeConfigurationsCache.setDcaeConfigurations(null); + assertThat(DcaeConfigurationsCache.getPubSecInfo("test"), nullValue()); + } + + @Test + public void testAddPubSecInfo() { + DcaeConfigurationsCache.addPubSecInfo("test", new SecurityInfo()); + } } \ No newline at end of file diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java new file mode 100644 index 0000000..991455d --- /dev/null +++ b/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java @@ -0,0 +1,88 @@ +/* + * 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.common.dmaap; + +import org.apache.http.HttpStatus; +import org.easymock.EasyMock; +import org.glassfish.jersey.client.ClientConfig; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.onap.holmes.common.dmaap.entity.PolicyMsg; +import org.onap.holmes.common.exception.CorrelationException; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Invocation.Builder; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.client.Entity; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +@PrepareForTest({Client.class, WebTarget.class, ClientBuilder.class, Response.class, Builder.class}) +@RunWith(PowerMockRunner.class) +public class PublisherTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private static final String URL = "http://localhost/dmaapTopic"; + + @Test + public void publish_exception() throws Exception { + + Publisher publisher = new Publisher(); + publisher.setUrl(URL); + + thrown.expect(CorrelationException.class); + thrown.expectMessage("Failed to connect to DCAE"); + + publisher.publish(new PolicyMsg()); + } + + @Test + public void publish_normal() throws Exception { + + Publisher publisher = new Publisher(); + publisher.setUrl(URL); + + WebTarget target = PowerMock.createMock(WebTarget.class); + Client client = PowerMock.createMock(Client.class); + Builder builder = PowerMock.createMock(Builder.class); + Response response = PowerMock.createMock(Response.class); + PowerMock.mockStatic(ClientBuilder.class); + + EasyMock.expect(ClientBuilder.newClient(EasyMock.anyObject(ClientConfig.class))).andReturn(client); + EasyMock.expect(client.target(publisher.getUrl())).andReturn(target); + EasyMock.expect(target.request(MediaType.APPLICATION_JSON)).andReturn(builder); + EasyMock.expect(builder.post(EasyMock.anyObject(Entity.class))).andReturn(response); + EasyMock.expect(response.getStatus()).andReturn(HttpStatus.SC_OK); + + PowerMock.replayAll(); + + assertThat(publisher.publish(new PolicyMsg()), is(true)); + + PowerMock.verifyAll(); + } + +} \ No newline at end of file