From 6a1bac871d09c431f35c5840dda92c4454cfdd24 Mon Sep 17 00:00:00 2001 From: econwar Date: Wed, 29 Aug 2018 09:37:24 +0000 Subject: [PATCH] Add IngressRoute Unit Tests Change-Id: I3e4a363c20bc3e2bbe0f5ee1ffa80c883aba2f39 Signed-off-by: Conor Ward Issue-ID: DMAAP-101 --- .../provisioning/beans/IngressRouteTest.java | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/IngressRouteTest.java diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/IngressRouteTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/IngressRouteTest.java new file mode 100644 index 00000000..ad259a59 --- /dev/null +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/IngressRouteTest.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * ============LICENSE_START================================================== + * * org.onap.dmaap + * * =========================================================================== + * * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * * =========================================================================== + * * 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. + * * ============LICENSE_END==================================================== + * * + * * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * * + ******************************************************************************/ +package org.onap.dmaap.datarouter.provisioning.beans; + +import org.apache.commons.lang3.reflect.FieldUtils; +import org.json.JSONArray; +import org.json.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; +import org.powermock.modules.junit4.PowerMockRunner; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.mockito.Mockito.mock; + +@RunWith(PowerMockRunner.class) +@SuppressStaticInitializationFor("org.onap.dmaap.datarouter.provisioning.beans.Feed") +public class IngressRouteTest { + + private IngressRoute ingressRoute; + + @Before + public void setUp() throws IllegalAccessException{ + PowerMockito.mockStatic(Feed.class); + Feed feed = mock(Feed.class); + PowerMockito.when(Feed.getFeedById(1)).thenReturn(feed); + Map map = new HashMap<>(); + FieldUtils.writeDeclaredStaticField(NodeClass.class, "map", map, true); + } + + @Test + public void Validate_IngressRoute_Constructors_Create_Same_Object() { + List nodes = new ArrayList<>(); + nodes.add("node.datarouternew.com"); + ingressRoute = new IngressRoute(1, 1, "user1", "172.100.0.0/25", nodes); + JSONObject ingressRouteJson = createIngressRouteJson(); + Assert.assertEquals(ingressRoute, new IngressRoute(ingressRouteJson)); + } + + @Test + public void Validate_AsJsonObject_Returns_Same_Values() { + List nodes = new ArrayList<>(); + nodes.add("node.datarouternew.com"); + ingressRoute = new IngressRoute(1, 1, "user1", "172.100.0.0/25", nodes); + JSONObject ingressRouteJson = createIngressRouteJson(); + Assert.assertEquals(ingressRoute.asJSONObject().toString(), ingressRouteJson.toString()); + } + + private JSONObject createIngressRouteJson() { + JSONObject ingressRouteJson = new JSONObject(); + ingressRouteJson.put("seq", 1); + ingressRouteJson.put("feedid", 1); + ingressRouteJson.put("user", "user1"); + ingressRouteJson.put("subnet", "172.100.0.0/25"); + JSONArray nodes = new JSONArray(); + nodes.put("node.datarouternew.com"); + ingressRouteJson.put("node", nodes); + return ingressRouteJson; + } + +} -- 2.16.6