From 9bf9bff9083fed4f6c996f9deb8dcfd0143bd67d Mon Sep 17 00:00:00 2001 From: bobbymander Date: Fri, 23 Mar 2018 14:31:13 -0400 Subject: [PATCH] JUnit additions for PAP-REST,REST Issue-ID: POLICY-603 Change-Id: Id7d2c1a835d028e88337db67d55f139aa1764826 Signed-off-by: bobbymander --- .../xacml/rest/handler/DictionaryHandlerTest.java | 44 +++++++++++++++++++ .../policy/pap/xacml/rest/util/JPAUtilsTest.java | 33 +++++++------- .../policy/rest/adapter/AddressGroupJsonTest.java | 50 +++++++++++++++++++++ .../policy/rest/adapter/ServiceGroupJsonTest.java | 51 ++++++++++++++++++++++ .../rest/util/PolicyItemSetChangeNotifierTest.java | 50 +++++++++++++++++++++ .../org/onap/policy/conf/HibernateSessionTest.java | 9 +++- 6 files changed, 220 insertions(+), 17 deletions(-) create mode 100644 ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DictionaryHandlerTest.java create mode 100644 ONAP-REST/src/test/java/org/onap/policy/rest/adapter/AddressGroupJsonTest.java create mode 100644 ONAP-REST/src/test/java/org/onap/policy/rest/adapter/ServiceGroupJsonTest.java create mode 100644 ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DictionaryHandlerTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DictionaryHandlerTest.java new file mode 100644 index 000000000..6b58184fe --- /dev/null +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/handler/DictionaryHandlerTest.java @@ -0,0 +1,44 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-PAP-REST + * ================================================================================ + * Copyright (C) 2018 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========================================================= + */ + +package org.onap.policy.pap.xacml.rest.handler; + +import static org.junit.Assert.assertNull; +import org.junit.Test; + +public class DictionaryHandlerTest { + @Test + public void negTestHandler() { + // Set the system property temporarily + String systemKey = "dictionary.impl.className"; + String oldProperty = System.getProperty(systemKey); + System.setProperty(systemKey, "foobar"); + + // Run negative test on instance + assertNull(DictionaryHandler.getInstance()); + + // Restore the original system property + if (oldProperty != null) { + System.setProperty(systemKey, oldProperty); + } else { + System.clearProperty(systemKey); + } + } +} diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/util/JPAUtilsTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/util/JPAUtilsTest.java index 2c852fd5c..9b45c3b53 100644 --- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/util/JPAUtilsTest.java +++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/util/JPAUtilsTest.java @@ -21,24 +21,27 @@ package org.onap.policy.pap.xacml.rest.util; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; +import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; -import org.junit.Rule; +import javax.persistence.Query; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.mockito.Mockito; public class JPAUtilsTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void testJPAUtils() throws IllegalAccessException { - EntityManagerFactory emf = Mockito.mock(EntityManagerFactory.class); - JPAUtils utils = JPAUtils.getJPAUtilsInstance(emf); - - assertEquals(utils.dbLockdownIgnoreErrors(), false); - - thrown.expect(NullPointerException.class); - utils.dbLockdown(); - } + @Test(expected = IllegalAccessException.class) + public void testJPAUtils() throws IllegalAccessException { + // Setup test data + EntityManagerFactory emf = Mockito.mock(EntityManagerFactory.class); + EntityManager em = Mockito.mock(EntityManager.class); + Query query = Mockito.mock(Query.class); + Mockito.when(emf.createEntityManager()).thenReturn(em); + Mockito.when(em.createNamedQuery(Mockito.any())).thenReturn(query); + + // Test lockdown + JPAUtils utils = JPAUtils.getJPAUtilsInstance(emf); + assertEquals(utils.dbLockdownIgnoreErrors(), false); + utils.dbLockdown(); + fail("Expecting an exception"); + } } diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/AddressGroupJsonTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/AddressGroupJsonTest.java new file mode 100644 index 000000000..c0aa7925e --- /dev/null +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/AddressGroupJsonTest.java @@ -0,0 +1,50 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP Policy Engine + * ================================================================================ + * Copyright (C) 2018 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========================================================= + */ + +package org.onap.policy.rest.adapter; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; + +public class AddressGroupJsonTest { + @Test + public void testJson() { + // Setup test data + String value = "testVal"; + String value2 = "testVal2"; + + // Test constructors + AddressGroupJson json = new AddressGroupJson(); + json.setName(value); + AddressGroupJson json2 = new AddressGroupJson(); + json2.setName(value); + AddressGroupJson json3 = new AddressGroupJson(); + json3.setName(value2); + + // Test equals and hash functions + assertTrue(json.equals(json2)); + assertFalse(json.equals(json3)); + assertFalse(json.equals(null)); + assertFalse(json.equals(value)); + assertEquals(217, json.hashCode()); + } +} diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/ServiceGroupJsonTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/ServiceGroupJsonTest.java new file mode 100644 index 000000000..899a9b2b8 --- /dev/null +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/adapter/ServiceGroupJsonTest.java @@ -0,0 +1,51 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP Policy Engine + * ================================================================================ + * Copyright (C) 2018 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========================================================= + */ + +package org.onap.policy.rest.adapter; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; + +public class ServiceGroupJsonTest { + @Test + public void testJson() { + // Setup test data + String value = "testVal"; + String value2 = "testVal2"; + + // Test constructors + ServiceGroupJson json = new ServiceGroupJson(); + json.setName(value); + ServiceGroupJson json2 = new ServiceGroupJson(); + json2.setName(value); + ServiceGroupJson json3 = new ServiceGroupJson(); + json3.setName(value2); + + // Test equals and hash functions + assertTrue(json.equals(json2)); + assertFalse(json.equals(json3)); + assertFalse(json.equals(null)); + assertFalse(json.equals(value)); + assertEquals(217, json.hashCode()); + assertEquals(0, json.getMembers().size()); + } +} diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java new file mode 100644 index 000000000..9e5ff5d9f --- /dev/null +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyItemSetChangeNotifierTest.java @@ -0,0 +1,50 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP Policy Engine + * ================================================================================ + * Copyright (C) 2017-2018 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========================================================= + */ + +package org.onap.policy.rest.util; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; +import org.junit.Test; +import org.mockito.Mockito; +import org.onap.policy.rest.util.PolicyContainer.ItemSetChangeEvent; +import org.onap.policy.rest.util.PolicyContainer.ItemSetChangeListener; + +public class PolicyItemSetChangeNotifierTest { + @Test + public void testNotifier() { + // Setup test data + ItemSetChangeListener listener = Mockito.mock(ItemSetChangeListener.class); + ItemSetChangeEvent event = Mockito.mock(ItemSetChangeEvent.class); + + // Test constructor + PolicyItemSetChangeNotifier notifier = new PolicyItemSetChangeNotifier(); + assertNotNull(notifier); + + // Test listener methods + try { + notifier.addItemSetChangeListener(listener); + notifier.fireItemSetChange(event); + notifier.removeItemSetChangeListener(listener); + } catch (Exception ex) { + fail("Not expecting any exceptions: " + ex); + } + } +} diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/conf/HibernateSessionTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/conf/HibernateSessionTest.java index e590fb3e9..f211c6df0 100644 --- a/POLICY-SDK-APP/src/test/java/org/onap/policy/conf/HibernateSessionTest.java +++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/conf/HibernateSessionTest.java @@ -22,18 +22,23 @@ package org.onap.policy.conf; import static org.junit.Assert.assertNull; import org.hibernate.SessionFactory; +import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.onap.policy.controller.PolicyController; public class HibernateSessionTest { - @Test - public void testSession() { + @Before + public void setup() { PolicyController.setLogdbUrl("testURL"); PolicyController.setLogdbUserName("testUser"); PolicyController.setLogdbPassword("testPass"); PolicyController.setLogdbDialect("testDialect"); PolicyController.setLogdbDriver("testDriver"); + } + + @Test + public void testSession() { SessionFactory factory = Mockito.mock(SessionFactory.class); HibernateSession.setSession(factory); assertNull(HibernateSession.getSession()); -- 2.16.6