diff options
author | Lathishbabu Ganesan <lathishbabu.ganesan@ericsson.com> | 2019-02-06 10:38:14 -0500 |
---|---|---|
committer | Takamune Cho <takamune.cho@att.com> | 2019-02-14 17:05:58 +0000 |
commit | 932c4a380114ef29e83c2b11fad92da12bff6390 (patch) | |
tree | 6f2a1bf74353cf590b110a47fc05154d2fd8b7f2 /appc-outbound/appc-network-inventory-client/provider/src/test/java | |
parent | 19bb17c4b16ee955cdec6db9ddc2af25845df062 (diff) |
Added test cases for DME2 Client
Increased the coverage from 0% to 90%
Issue-ID: APPC-1395
Change-Id: I9651ab4326e500559e5bd9b99abdff84d93cfa1d
Signed-off-by: Lathishbabu Ganesan <lathishbabu.ganesan@ericsson.com>
Diffstat (limited to 'appc-outbound/appc-network-inventory-client/provider/src/test/java')
-rw-r--r-- | appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java | 126 |
1 files changed, 116 insertions, 10 deletions
diff --git a/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java b/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java index 9a3e855ab..7e2a41820 100644 --- a/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java +++ b/appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java @@ -6,6 +6,8 @@ * ================================================================================ * Copyright (C) 2017 Amdocs * ============================================================================= + * Modifications Copyright (C) 2019 Ericsson + * ============================================================================= * 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 @@ -23,25 +25,129 @@ package org.onap.appc.instar.node; -import static org.junit.Assert.assertTrue; - +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.when; +import java.io.InputStream; +import java.net.URI; +import java.security.NoSuchAlgorithmException; import java.util.HashMap; +import java.util.Properties; +import javax.net.ssl.SSLContext; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mockito; import org.onap.appc.instar.dme2client.Dme2Client; +import org.onap.appc.instar.utils.InstarClientConstant; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; +import com.sun.jersey.api.client.Client; +import com.sun.jersey.api.client.ClientResponse; +import com.sun.jersey.api.client.WebResource; +import com.sun.jersey.api.client.WebResource.Builder; @RunWith(PowerMockRunner.class) +@PrepareForTest({InstarClientConstant.class, SSLContext.class, Client.class}) public class TestDme2Client { - @Test(expected=Exception.class) - public void testSendtoInstar() throws Exception { + private Dme2Client dme2; + private InputStream inputStream; + private SSLContext sslContext; + private Properties properties; + private Client client; + private WebResource webResource; + private Builder builder; + private ClientResponse clientResponse; + + @Before + public void setUp() throws Exception { + inputStream = Mockito.mock(InputStream.class); + sslContext = PowerMockito.mock(SSLContext.class); + client = Mockito.mock(Client.class); + builder = Mockito.mock(Builder.class); + clientResponse = Mockito.mock(ClientResponse.class); + webResource = Mockito.mock(WebResource.class); + HashMap<String, String> data = new HashMap<String, String>(); + data.put("subtext", "value"); + PowerMockito.mockStatic(InstarClientConstant.class); + PowerMockito.mockStatic(SSLContext.class); + PowerMockito.mockStatic(Client.class); + PowerMockito.when(InstarClientConstant.getEnvironmentVariable("SDNC_CONFIG_DIR")) + .thenReturn("test"); + PowerMockito.when(InstarClientConstant.getInputStream("test/outbound.properties")) + .thenReturn(inputStream); + PowerMockito.when(SSLContext.getInstance("SSL")).thenReturn(sslContext); + PowerMockito.when(Client.create(anyObject())).thenReturn(client); + PowerMockito.when(client.resource(new URI("nullnullnullvalue"))).thenReturn(webResource); + + PowerMockito.when(builder.get(ClientResponse.class)).thenReturn(clientResponse); + properties = Mockito.mock(Properties.class); + dme2 = new Dme2Client("opt", "subtext", data); + Whitebox.setInternalState(dme2, "properties", properties); + when(properties.getProperty("MechID")).thenReturn("123"); + when(properties.getProperty("MechPass")).thenReturn("password"); + } + + @Test + public void testSendtoInstarGet() throws Exception { + PowerMockito.when(webResource.accept("application/json")).thenReturn(builder); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Get Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("GET"); + assertEquals("Get Success", dme2.send()); + } + + @Test + public void testSendtoInstarPut() throws Exception { + PowerMockito.when(webResource.type("application/json")).thenReturn(builder); + PowerMockito.when(builder.put(ClientResponse.class, "")).thenReturn(clientResponse); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Put Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("PUT"); + assertEquals("Put Success", dme2.send()); + } + + @Test + public void testSendtoInstarPost() throws Exception { + PowerMockito.when(webResource.type("application/json")).thenReturn(builder); + PowerMockito.when(builder.post(ClientResponse.class, "")).thenReturn(clientResponse); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Post Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("POST"); + assertEquals("Post Success", dme2.send()); + } + + @Test + public void testSendtoInstarDelete() throws Exception { + PowerMockito.when(webResource.delete(ClientResponse.class)).thenReturn(clientResponse); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Delete Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("DELETE"); + assertEquals("Delete Success", dme2.send()); + } + + @Test + public void testSendtoInstarException() throws Exception { + PowerMockito.when(SSLContext.getInstance("SSL")).thenThrow(new NoSuchAlgorithmException()); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("DELETE"); + assertNull(dme2.send()); + } + + @Test + public void testSendtoInstarMaskNotNull() throws Exception { + Whitebox.setInternalState(dme2, "mask", "0.0.0.0/1"); + PowerMockito.when(webResource.accept("application/json")).thenReturn(builder); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Get Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("GET"); + assertNull(dme2.send()); + } - HashMap<String,String> data = new HashMap<String,String>(); - data.put("subtext","value"); - PowerMockito.mockStatic(System.class); - PowerMockito.when((System.getenv("test"))).thenReturn("test"); - Dme2Client dme2 = new Dme2Client("opt","subtext",data); - } + @Test + public void testSendtoInstarIpNotNull() throws Exception { + Whitebox.setInternalState(dme2, "ipAddress", "0.0.0.0"); + PowerMockito.when(webResource.accept("application/json")).thenReturn(builder); + PowerMockito.when(clientResponse.getEntity(String.class)).thenReturn("Get Success"); + when(properties.getProperty("getIpAddressByVnf_method")).thenReturn("GET"); + assertNull(dme2.send()); + } } |