X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodel%2FPDPGroupContainerTest.java;h=5204fc41409bae89379a8f0e63a91e8072653763;hp=5117a05daec4bd0f2d21d720a4ec3a6d3930a043;hb=583245286bf67cd11cc5b16c90bbf9a06c6b2609;hpb=c88d4cc4e21e5659f0ab57a38f3ba29ab4b3c044 diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/model/PDPGroupContainerTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/model/PDPGroupContainerTest.java index 5117a05da..5204fc414 100644 --- a/POLICY-SDK-APP/src/test/java/org/onap/policy/model/PDPGroupContainerTest.java +++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/model/PDPGroupContainerTest.java @@ -2,10 +2,8 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Modifications Copyright (C) 2019 Samsung - * ================================================================================ + * Copyright (C) 2019 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 @@ -23,16 +21,27 @@ package org.onap.policy.model; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.when; + +import com.att.research.xacml.api.pap.PAPException; +import java.awt.Checkbox; +import java.util.Set; import org.junit.Test; import org.mockito.Mockito; import org.onap.policy.rest.util.PolicyContainer.ItemSetChangeListener; import org.onap.policy.xacml.api.pap.OnapPDP; import org.onap.policy.xacml.api.pap.OnapPDPGroup; import org.onap.policy.xacml.api.pap.PAPPolicyEngine; -import com.att.research.xacml.api.pap.PAPException; public class PDPGroupContainerTest { + private OnapPDPGroup group = Mockito.mock(OnapPDPGroup.class); + private OnapPDPGroup newGroup = Mockito.mock(OnapPDPGroup.class); + private OnapPDP pdp = Mockito.mock(OnapPDP.class); private PAPPolicyEngine engine = Mockito.mock(PAPPolicyEngine.class); private PDPGroupContainer container = new PDPGroupContainer(engine); @@ -44,13 +53,11 @@ public class PDPGroupContainerTest { container.refreshGroups(); assertEquals(container.getGroups().size(), 0); - OnapPDPGroup group = Mockito.mock(OnapPDPGroup.class); container.makeDefault(group); - OnapPDPGroup newGroup = Mockito.mock(OnapPDPGroup.class); container.removeGroup(group, newGroup); - OnapPDP pdp = Mockito.mock(OnapPDP.class); container.updatePDP(pdp); container.updateGroup(group); + container.updateGroup(group, "testUserName"); assertNull(container.getContainerPropertyIds()); assertEquals(container.getItemIds().size(), 0); assertEquals(container.getType(itemId), null); @@ -103,7 +110,7 @@ public class PDPGroupContainerTest { } @Test(expected = IndexOutOfBoundsException.class) - public void testGetIdByIndex() { + public void testGetIdByIndexException() { container.getIdByIndex(0); } @@ -113,7 +120,145 @@ public class PDPGroupContainerTest { } @Test(expected = IllegalArgumentException.class) - public void testGetItemIds() { + public void testGetItemIdsException() { container.getItemIds(0, 1); } + + @Test + public void testGetType() { + assertEquals(Boolean.class, container.getType("Default")); + assertEquals(Checkbox.class, container.getType("Selected")); + assertEquals(Set.class, container.getType("PDPs")); + assertEquals(Set.class, container.getType("Policies")); + assertEquals(Set.class, container.getType("PIP Configurations")); + assertEquals(String.class, container.getType("Id")); + assertEquals(String.class, container.getType("Name")); + assertEquals(String.class, container.getType("Description")); + assertEquals(String.class, container.getType("Status")); + } + + @Test + public void testContainerPAPExceptions() throws PAPException { + doThrow(PAPException.class).when(engine).getOnapPDPGroups(); + container.refreshGroups(); + + doThrow(PAPException.class).when(engine).setDefaultGroup(group); + container.makeDefault(group); + + doThrow(PAPException.class).when(engine).updatePDP(pdp); + container.updatePDP(pdp); + + doThrow(PAPException.class).when(engine).updateGroup(group); + container.updateGroup(group); + + doThrow(PAPException.class).when(engine).updateGroup(group, "testUserName"); + container.updateGroup(group, "testUserName"); + + doThrow(PAPException.class).when(engine).movePDP(pdp, group); + container.movePDP(pdp, group); + } + + @Test(expected = PAPException.class) + public void testContainerRemoveGroup() throws PAPException { + doThrow(PAPException.class).when(engine).removeGroup(group, newGroup); + container.removeGroup(group, newGroup); + } + + @Test(expected = PAPException.class) + public void testContainerRemovePDP() throws PAPException { + doThrow(PAPException.class).when(engine).removePDP(pdp); + container.removePDP(pdp, group); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRemoveDefaultGroup() throws PAPException { + when(group.isDefaultGroup()).thenReturn(true); + container.removeGroup(group, newGroup); + } + + @Test + public void testGetItemIds() { + assertNotNull(container.getItemIds(0, 0)); + } + + @Test + public void testContainsId() { + assertFalse(container.containsId(group)); + } + + @Test + public void testGroupMethods() { + container.groups.add(group); + + Object retObj = container.getIdByIndex(0); + assertTrue(retObj instanceof OnapPDPGroup); + assertNotNull(retObj); + + Object retFirstItemId = container.firstItemId(); + assertTrue(retFirstItemId instanceof OnapPDPGroup); + assertNotNull(retFirstItemId); + + Object retLastItemId = container.lastItemId(); + assertTrue(retLastItemId instanceof OnapPDPGroup); + assertNotNull(retLastItemId); + + assertTrue(container.isFirstId(group)); + + assertTrue(container.isLastId(group)); + } + + @Test + public void testNextItemId() { + OnapPDPGroup groupNotInList = Mockito.mock(OnapPDPGroup.class); + Object retObj = null; + + container.groups.add(group); + container.groups.add(newGroup); + + assertNull(container.nextItemId(groupNotInList)); + assertNull(container.nextItemId(newGroup)); + + retObj = container.nextItemId(group); + assertNotNull(retObj); + assertTrue(retObj instanceof OnapPDPGroup); + } + + @Test + public void testPrevItemId() { + OnapPDPGroup groupNotInList = Mockito.mock(OnapPDPGroup.class); + Object retObj = null; + + container.groups.add(group); + container.groups.add(newGroup); + + assertNull(container.prevItemId(groupNotInList)); + assertNull(container.prevItemId(group)); + + retObj = container.prevItemId(newGroup); + assertNotNull(retObj); + assertTrue(retObj instanceof OnapPDPGroup); + } + + @Test + public void testRemoveNullItem() { + OnapPDPGroup nullGroup = null; + assertFalse(container.removeItem(nullGroup)); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRemoveDefaultItem() { + when(group.getId()).thenReturn("Default"); + container.removeItem(group); + } + + @SuppressWarnings("unchecked") + @Test + public void testRemoveItem() throws PAPException { + assertTrue(container.removeItem(group)); + + PAPPolicyEngine mockPAPPolicyEngine = Mockito.mock(PAPPolicyEngine.class); + PDPGroupContainer groupContainer = new PDPGroupContainer(mockPAPPolicyEngine); + when(mockPAPPolicyEngine.getDefaultGroup()).thenThrow(PAPException.class); + assertFalse(groupContainer.removeItem(group)); + } }