Replace expectException with AssertJ 04/75504/1
authorJim Hahn <jrh3@att.com>
Tue, 8 Jan 2019 22:48:31 +0000 (17:48 -0500)
committerJim Hahn <jrh3@att.com>
Tue, 8 Jan 2019 22:48:31 +0000 (17:48 -0500)
Change-Id: I5c9c5e962a7e2a5617405d534c0719f4bdb6ff1c
Issue-ID: POLICY-1393
Signed-off-by: Jim Hahn <jrh3@att.com>
feature-pooling-dmaap/pom.xml
feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java
feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java
policy-core/pom.xml
policy-core/src/test/java/org/onap/policy/drools/core/lock/PolicyResourceLockManagerTest.java
policy-core/src/test/java/org/onap/policy/drools/core/lock/SimpleLockManagerTest.java
policy-core/src/test/java/org/onap/policy/drools/core/lock/TestingUtils.java [deleted file]

index 5309be4..af18478 100644 (file)
@@ -2,7 +2,7 @@
   ============LICENSE_START=======================================================
   ONAP Policy Engine - Drools PDP
   ================================================================================
-  Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2018-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.
             <version>2.13.0</version>
             <scope>test</scope>
         </dependency>
+        
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <version>3.11.1</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
 </project>
index a6404f4..69896d3 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
 
 package org.onap.policy.drools.pooling;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
@@ -299,7 +299,7 @@ public class DmaapManagerTest {
     @Test
     public void testPublish() throws PoolingFeatureException {
         // cannot publish before starting
-        expectException("publish,pre", () -> mgr.publish(MSG));
+        assertThatThrownBy(() -> mgr.publish(MSG)).as("publish,pre");
 
         mgr.startPublisher();
 
@@ -315,7 +315,7 @@ public class DmaapManagerTest {
 
         // stop and verify we can no longer publish
         mgr.stopPublisher(0);
-        expectException("publish,stopped", () -> mgr.publish(MSG));
+        assertThatThrownBy(() -> mgr.publish(MSG)).as("publish,stopped");
     }
 
     @Test(expected = PoolingFeatureException.class)
@@ -337,16 +337,6 @@ public class DmaapManagerTest {
 
         mgr.publish(MSG);
     }
-
-    private void expectException(String testnm, VFunction func) {
-        try {
-            func.apply();
-            fail(testnm + " missing exception");
-
-        } catch (PoolingFeatureException expected) {
-            // OK
-        }
-    }
     
     /**
      * Manager with overrides.
@@ -373,9 +363,4 @@ public class DmaapManagerTest {
             return Arrays.asList(mock(TopicSink.class), sink, mock(TopicSink.class));
         }
     }
-
-    @FunctionalInterface
-    public static interface VFunction {
-        public void apply() throws PoolingFeatureException;
-    }
 }
index 7fce99d..a711a7e 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
@@ -20,9 +20,9 @@
 
 package org.onap.policy.drools.pooling;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
@@ -183,26 +183,21 @@ public class PoolingManagerImplTest {
          */
         PolicyController ctlr = mock(PolicyController.class);
 
-        PoolingFeatureRtException ex = expectException(PoolingFeatureRtException.class,
-            () -> new PoolingManagerTest(MY_HOST, ctlr, poolProps, active));
-        assertNotNull(ex.getCause());
-        assertTrue(ex.getCause() instanceof ClassCastException);
+        assertThatThrownBy(() -> new PoolingManagerTest(MY_HOST, ctlr, poolProps, active))
+                        .isInstanceOf(PoolingFeatureRtException.class).hasCauseInstanceOf(ClassCastException.class);
     }
 
     @Test
     public void testPoolingManagerImpl_PoolEx() throws PoolingFeatureException {
         // throw an exception when we try to create the dmaap manager
         PoolingFeatureException ex = new PoolingFeatureException();
-        
-        PoolingFeatureRtException ex2 = expectException(PoolingFeatureRtException.class,
-            () -> new PoolingManagerTest(MY_HOST, controller, poolProps, active) {
-                @Override
-                protected DmaapManager makeDmaapManager(String topic) throws PoolingFeatureException {
-                    throw ex;
-                }
-            });
-        
-        assertEquals(ex, ex2.getCause());
+
+        assertThatThrownBy(() -> new PoolingManagerTest(MY_HOST, controller, poolProps, active) {
+            @Override
+            protected DmaapManager makeDmaapManager(String topic) throws PoolingFeatureException {
+                throw ex;
+            }
+        }).isInstanceOf(PoolingFeatureRtException.class).hasCause(ex);
     }
 
     @Test
@@ -1233,41 +1228,6 @@ public class PoolingManagerImplTest {
 
     }
 
-    /**
-     * Invokes a method that is expected to throw an exception.
-     * 
-     * @param exClass class of exception that is expected
-     * @param func function to invoke
-     * @return the exception that was thrown
-     * @throws AssertionError if no exception was thrown
-     */
-    private <T extends Exception> T expectException(Class<T> exClass, ExFunction<T> func) {
-        try {
-            func.apply();
-            throw new AssertionError("missing exception");
-
-        } catch (Exception e) {
-            return exClass.cast(e);
-        }
-    }
-
-    /**
-     * Function that is expected to throw an exception.
-     * 
-     * @param <T> type of exception the function is expected to throw
-     */
-    @FunctionalInterface
-    private static interface ExFunction<T extends Exception> {
-
-        /**
-         * Invokes the function.
-         * 
-         * @throws T if an error occurs
-         */
-        public void apply() throws T;
-
-    }
-
     /**
      * Manager with overrides.
      */
index fafbdde..4280748 100644 (file)
@@ -3,7 +3,7 @@
   ============LICENSE_START=======================================================
   ONAP Policy Engine - Drools PDP
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-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.
             <artifactId>powermock-api-mockito</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <version>3.11.1</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
             <artifactId>utils-test</artifactId>
index 81b52d1..f575ce4 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
@@ -20,6 +20,7 @@
 
 package org.onap.policy.drools.core.lock;
 
+import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -32,7 +33,6 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.onap.policy.drools.core.lock.TestingUtils.expectException;
 
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -120,12 +120,11 @@ public class PolicyResourceLockManagerTest {
 
     @Test
     public void testLock_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.lock(null, OWNER1, MAX_AGE_SEC));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.lock(null, OWNER1, MAX_AGE_SEC))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.lock(RESOURCE_A, null, MAX_AGE_SEC));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.lock(RESOURCE_A, null, MAX_AGE_SEC))
+                        .withMessage(NULL_OWNER);
 
         // this should not throw an exception
         mgr.lock(RESOURCE_A, OWNER1, MAX_AGE_SEC);
@@ -232,12 +231,11 @@ public class PolicyResourceLockManagerTest {
 
     @Test
     public void testRefresh_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.refresh(null, OWNER1, MAX_AGE_SEC));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.refresh(null, OWNER1, MAX_AGE_SEC))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.refresh(RESOURCE_A, null, MAX_AGE_SEC));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.refresh(RESOURCE_A, null, MAX_AGE_SEC))
+                        .withMessage(NULL_OWNER);
 
         // this should not throw an exception
         mgr.refresh(RESOURCE_A, OWNER1, MAX_AGE_SEC);
@@ -343,11 +341,9 @@ public class PolicyResourceLockManagerTest {
 
     @Test
     public void testUnlock_ArgEx() {
-        IllegalArgumentException ex = expectException(IllegalArgumentException.class, () -> mgr.unlock(null, OWNER1));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.unlock(null, OWNER1)).withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.unlock(RESOURCE_A, null));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.unlock(RESOURCE_A, null)).withMessage(NULL_OWNER);
     }
 
     @Test
@@ -458,8 +454,7 @@ public class PolicyResourceLockManagerTest {
 
     @Test
     public void testIsLocked_ArgEx() {
-        IllegalArgumentException ex = expectException(IllegalArgumentException.class, () -> mgr.isLocked(null));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLocked(null)).withMessage(NULL_RESOURCE_ID);
     }
 
     @Test
@@ -512,12 +507,10 @@ public class PolicyResourceLockManagerTest {
 
     @Test
     public void testIsLockedBy_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.isLockedBy(null, OWNER1));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLockedBy(null, OWNER1))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.isLockedBy(RESOURCE_A, null));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLockedBy(RESOURCE_A, null)).withMessage(NULL_OWNER);
     }
 
     @Test
index 6afe5a8..51cf68f 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
 
 package org.onap.policy.drools.core.lock;
 
+import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.onap.policy.drools.core.lock.TestingUtils.expectException;
 
 import java.util.LinkedList;
 import java.util.concurrent.CountDownLatch;
@@ -144,12 +144,11 @@ public class SimpleLockManagerTest {
 
     @Test
     public void testLock_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.lock(null, OWNER1, MAX_AGE_SEC));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.lock(null, OWNER1, MAX_AGE_SEC))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.lock(RESOURCE_A, null, MAX_AGE_SEC));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.lock(RESOURCE_A, null, MAX_AGE_SEC))
+                        .withMessage(NULL_OWNER);
 
         // this should not throw an exception
         mgr.lock(RESOURCE_A, OWNER1, MAX_AGE_SEC);
@@ -218,12 +217,11 @@ public class SimpleLockManagerTest {
 
     @Test
     public void testRefresh_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.refresh(null, OWNER1, MAX_AGE_SEC));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.refresh(null, OWNER1, MAX_AGE_SEC))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.refresh(RESOURCE_A, null, MAX_AGE_SEC));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.refresh(RESOURCE_A, null, MAX_AGE_SEC))
+                        .withMessage(NULL_OWNER);
 
         // this should not throw an exception
         mgr.refresh(RESOURCE_A, OWNER1, MAX_AGE_SEC);
@@ -239,11 +237,9 @@ public class SimpleLockManagerTest {
 
     @Test
     public void testUnlock_ArgEx() {
-        IllegalArgumentException ex = expectException(IllegalArgumentException.class, () -> mgr.unlock(null, OWNER1));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.unlock(null, OWNER1)).withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.unlock(RESOURCE_A, null));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.unlock(RESOURCE_A, null)).withMessage(NULL_OWNER);
     }
 
     @Test
@@ -283,8 +279,7 @@ public class SimpleLockManagerTest {
 
     @Test
     public void testIsLocked_ArgEx() {
-        IllegalArgumentException ex = expectException(IllegalArgumentException.class, () -> mgr.isLocked(null));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLocked(null)).withMessage(NULL_RESOURCE_ID);
     }
 
     @Test
@@ -307,12 +302,10 @@ public class SimpleLockManagerTest {
 
     @Test
     public void testIsLockedBy_ArgEx() {
-        IllegalArgumentException ex =
-                        expectException(IllegalArgumentException.class, () -> mgr.isLockedBy(null, OWNER1));
-        assertEquals(NULL_RESOURCE_ID, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLockedBy(null, OWNER1))
+                        .withMessage(NULL_RESOURCE_ID);
 
-        ex = expectException(IllegalArgumentException.class, () -> mgr.isLockedBy(RESOURCE_A, null));
-        assertEquals(NULL_OWNER, ex.getMessage());
+        assertThatIllegalArgumentException().isThrownBy(() -> mgr.isLockedBy(RESOURCE_A, null)).withMessage(NULL_OWNER);
     }
 
     @Test
diff --git a/policy-core/src/test/java/org/onap/policy/drools/core/lock/TestingUtils.java b/policy-core/src/test/java/org/onap/policy/drools/core/lock/TestingUtils.java
deleted file mode 100644 (file)
index 17a11a0..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP
- * ================================================================================
- * 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.drools.core.lock;
-
-public class TestingUtils {
-
-    /**
-     * Invokes a function that is expected to throw an exception.
-     * 
-     * @param clazz class of exception that is expected
-     * @param func function
-     * @return object
-     */
-    public static <T> T expectException(Class<T> clazz, VoidFunction func) {
-        try {
-            func.apply();
-            throw new AssertionError("missing exception");
-
-        } catch (Exception e) {
-            try {
-                return clazz.cast(e);
-
-            } catch (ClassCastException e2) {
-                throw new AssertionError("incorrect exception type", e2);
-            }
-        }
-    }
-
-    /**
-     * Void function that may throw an exception.
-     */
-    @FunctionalInterface
-    public static interface VoidFunction {
-
-        public void apply() throws Exception;
-    }
-}