Replace try/catch with assertj - apex-pdp 23/109923/3
authorwaynedunican <wayne.dunican@est.tech>
Tue, 7 Jul 2020 16:51:42 +0000 (17:51 +0100)
committerwaynedunican <wayne.dunican@est.tech>
Fri, 17 Jul 2020 08:44:03 +0000 (09:44 +0100)
Replaced try/catch blocks in apex-pdp with assertj assertions. Part II
of changes

Issue-ID: POLICY-2451
Change-Id: I29823054fbeb6d1a287d1234859aaf2d4609ef6d
Signed-off-by: waynedunican <wayne.dunican@est.tech>
auth/cli-codegen/src/test/java/org/onap/policy/apex/auth/clicodegen/CodeGeneratorCliEditorTest.java
context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java
testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/event/TestEventInstantiation.java
testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/handling/TestApexModelExport.java
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/engine/ApexServiceModelUpdateTest.java
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java

index 83aef2d..921591b 100644 (file)
@@ -2,19 +2,20 @@
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
  *  Modifications Copyright (C) 2019 Samsung Electronics Co., Ltd.
+ *  Modifications Copyright (C) 2020 Nordix Foundation
  * ================================================================================
  * 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.
- * 
+ *
  * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
 package org.onap.policy.apex.auth.clicodegen;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -65,32 +64,25 @@ public class CodeGeneratorCliEditorTest {
     private File outFile = null;
 
     @Test
-    public void test() throws IOException {
+    public void test() throws IOException, ApexModelException {
         final CodeGeneratorCliEditor codeGen = new CodeGeneratorCliEditor();
 
         outFile = File.createTempFile("ApexTestGenerated", ".apex");
 
         ApexModelReader<AxPolicyModel> modelReader = null;
-        try {
-            modelReader = new ApexModelReader<>(AxPolicyModel.class);
-        } catch (ApexModelException e1) {
-            fail("test should not throw an exception");
-        }
+        modelReader = new ApexModelReader<>(AxPolicyModel.class);
+
         modelReader.setValidateFlag(false);
         AxPolicyModel apexPolicyModel = null;
-        try {
-            apexPolicyModel = modelReader
+        apexPolicyModel = modelReader
                             .read(new FileInputStream(new File("src/test/resources/models/TestPolicyModel.json")));
-        } catch (ApexModelException | FileNotFoundException e) {
-            fail("test should not throw an exception");
-        }
 
         assertEquals(0, generateCli(codeGen, apexPolicyModel));
     }
 
     /**
      * Generate the CLI from the model.
-     * 
+     *
      * @param codeGen the code generator
      * @param policyModel the policy model
      * @throws IOException  on generation exceptions
index 5180291..5aaa8a3 100644 (file)
 
 package org.onap.policy.apex.context.impl;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -33,14 +33,12 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.onap.policy.apex.context.ContextAlbum;
 import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.ContextRuntimeException;
 import org.onap.policy.apex.context.Distributor;
 import org.onap.policy.apex.context.impl.distribution.jvmlocal.JvmLocalDistributor;
 import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
 import org.onap.policy.apex.context.parameters.ContextParameterConstants;
 import org.onap.policy.apex.context.parameters.ContextParameters;
 import org.onap.policy.apex.context.parameters.SchemaParameters;
-import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
 import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
 import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
@@ -93,42 +91,19 @@ public class ContextAlbumImplTest {
 
     @Test
     public void testNullsOnConstructor() {
-        try {
-            new ContextAlbumImpl(null, null, null);
-            fail("this test should throw an exception");
-        } catch (IllegalArgumentException e) {
-            assertEquals("Context album definition may not be null", e.getMessage());
-        } catch (ContextException e) {
-            fail("this test should throw an IllegalArgumentException");
-        }
-
-        try {
-            new ContextAlbumImpl(new AxContextAlbum(), null, null);
-            fail("this test should throw an exception");
-        } catch (IllegalArgumentException e) {
-            assertEquals("Distributor may not be null", e.getMessage());
-        } catch (ContextException e) {
-            fail("this test should throw an IllegalArgumentException");
-        }
-
-        try {
-            new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), null);
-            fail("this test should throw an exception");
-        } catch (IllegalArgumentException e) {
-            assertEquals("Album map may not be null", e.getMessage());
-        } catch (ContextException e) {
-            fail("this test should throw an IllegalArgumentException");
-        }
-
-        try {
-            new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), new LinkedHashMap<String, Object>());
-            fail("this test should throw an exception");
-        } catch (ApexRuntimeException e) {
-            assertEquals("Model for org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas "
-                            + "not found in model service", e.getMessage());
-        } catch (ContextException e) {
-            fail("this test should throw an ApexRuntimeException");
-        }
+        assertThatThrownBy(() -> new ContextAlbumImpl(null, null, null))
+            .hasMessage("Context album definition may not be null");
+
+        assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), null, null))
+            .hasMessage("Distributor may not be null");
+
+        assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), null))
+            .hasMessage("Album map may not be null");
+
+        assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(),
+                new LinkedHashMap<String, Object>()))
+            .hasMessage("Model for org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas "
+                            + "not found in model service");
     }
 
     @Test
@@ -142,107 +117,63 @@ public class ContextAlbumImplTest {
         AxContextAlbum axContextAlbum = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy",
                         true, AxArtifactKey.getNullKey());
 
-        try {
-            new ContextAlbumImpl(axContextAlbum, new JvmLocalDistributor(), new LinkedHashMap<String, Object>());
-            fail("this test should throw an exception");
-        } catch (ContextException e) {
-            assertEquals("could not initiate schema management for context album AxContextAlbum",
-                            e.getMessage().substring(0, 69));
-        }
+        assertThatThrownBy(() -> new ContextAlbumImpl(axContextAlbum, new JvmLocalDistributor(),
+                new LinkedHashMap<String, Object>()))
+            .hasMessageContaining("could not initiate schema management for context album AxContextAlbum");
 
         axContextAlbum.setItemSchema(simpleStringSchema.getKey());
         Distributor distributor = new JvmLocalDistributor();
         distributor.init(axContextAlbum.getKey());
         ContextAlbum album = new ContextAlbumImpl(axContextAlbum, distributor, new LinkedHashMap<String, Object>());
 
-        AxContextAlbum axContextAlbumRo = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy",
-                        false, simpleStringSchema.getKey());
-        ContextAlbum albumRo = new ContextAlbumImpl(axContextAlbumRo, distributor, new LinkedHashMap<String, Object>());
-
         assertEquals("TestContextAlbum", album.getName());
         assertEquals("TestContextAlbum:0.0.1", album.getKey().getId());
         assertEquals("TestContextAlbum:0.0.1", album.getAlbumDefinition().getId());
         assertEquals("SimpleStringSchema:0.0.1", album.getSchemaHelper().getSchema().getId());
 
-        try {
-            album.containsKey(null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("null values are illegal on method parameter \"key\"", e.getMessage());
-        }
+        assertThatThrownBy(() -> album.containsKey(null))
+            .hasMessage("null values are illegal on method parameter \"key\"");
         assertEquals(false, album.containsKey("Key0"));
 
-        try {
-            album.containsValue(null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("null values are illegal on method parameter \"value\"", e.getMessage());
-        }
+        assertThatThrownBy(() -> album.containsValue(null))
+            .hasMessage("null values are illegal on method parameter \"value\"");
         assertEquals(false, album.containsValue("some value"));
 
-        try {
-            album.get(null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for get()", e.getMessage());
-        }
-
-        try {
-            album.put(null, null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for put()", e.getMessage());
-        }
-
-        try {
-            album.put("KeyNull", null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"KeyNull\" for put()",
-                            e.getMessage());
-        }
-
-        try {
-            albumRo.put("KeyReadOnly", "A value for a Read Only Album");
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" put() not allowed on read only albums "
-                            + "for key=\"KeyReadOnly\", value=\"A value for a Read Only Album", e.getMessage());
-        }
+        assertThatThrownBy(() -> album.get(null))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for get()");
+
+        assertThatThrownBy(() -> album.put(null, null))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for put()");
+
+        assertThatThrownBy(() -> album.put("KeyNull", null))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"KeyNull\""
+                    + " for put()");
+
+        AxContextAlbum axContextAlbumRo = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy",
+                false, simpleStringSchema.getKey());
+        ContextAlbum albumRo = new ContextAlbumImpl(axContextAlbumRo, distributor, new LinkedHashMap<String, Object>());
+
+        assertThatThrownBy(() -> albumRo.put("KeyReadOnly", "A value for a Read Only Album"))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" put() not allowed on read only albums "
+                            + "for key=\"KeyReadOnly\", value=\"A value for a Read Only Album");
 
         Map<String, Object> putAllData = new LinkedHashMap<>();
         putAllData.put("AllKey0", "vaue of AllKey0");
         putAllData.put("AllKey1", "vaue of AllKey1");
         putAllData.put("AllKey2", "vaue of AllKey2");
 
-        try {
-            albumRo.putAll(putAllData);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" putAll() not allowed on read only albums", e.getMessage());
-        }
-
-        try {
-            albumRo.remove("AllKey0");
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" remove() not allowed "
-                            + "on read only albums for key=\"AllKey0\"", e.getMessage());
-        }
-
-        try {
-            album.remove(null);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("null values are illegal on method parameter \"keyID\"", e.getMessage());
-        }
-
-        try {
-            albumRo.clear();
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" clear() not allowed on read only albums", e.getMessage());
-        }
+        assertThatThrownBy(() -> albumRo.putAll(putAllData))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" putAll() not allowed on read only albums");
+
+        assertThatThrownBy(() -> albumRo.remove("AllKey0"))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" remove() not allowed "
+                            + "on read only albums for key=\"AllKey0\"");
+
+        assertThatThrownBy(() -> album.remove(null))
+            .hasMessage("null values are illegal on method parameter \"keyID\"");
+
+        assertThatThrownBy(albumRo::clear)
+            .hasMessage("album \"TestContextAlbum:0.0.1\" clear() not allowed on read only albums");
 
         // The following locking tests pass because the locking protects access to Key0 across all
         // copies of the distributed album whether the key exists or not
@@ -286,13 +217,8 @@ public class ContextAlbumImplTest {
 
         // The flush() operation fails because the distributor is not initialized with the album which
         // is fine for unit test
-        try {
-            album.flush();
-            fail("test should throw an exception");
-        } catch (ContextException e) {
-            assertEquals("map flush failed, supplied map is null", e.getMessage());
-        }
-
+        assertThatThrownBy(album::flush)
+            .hasMessage("map flush failed, supplied map is null");
         assertEquals(1, album.size());
         assertEquals(false, album.isEmpty());
 
@@ -302,14 +228,9 @@ public class ContextAlbumImplTest {
         album.putAll(putAllData);
 
         putAllData.put("AllKey3", null);
-        try {
-            album.putAll(putAllData);
-            fail("test should throw an exception");
-        } catch (ContextRuntimeException e) {
-            assertEquals("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"AllKey3\" for put()",
-                            e.getMessage());
-        }
-
+        assertThatThrownBy(() -> album.putAll(putAllData))
+            .hasMessage("album \"TestContextAlbum:0.0.1\" null values are illegal on key "
+                    + "\"AllKey3\" for put()");
         assertEquals("New value of Key0", album.remove("Key0"));
 
         album.clear();
@@ -353,15 +274,13 @@ public class ContextAlbumImplTest {
         otherAlbum.put("Key", 123);
         assertNotEquals(album, otherAlbum);
 
-        try {
-            otherAlbum.put("Key", "BadValue");
-            fail("test should throw an exception here");
-        } catch (ContextRuntimeException cre) {
-            assertEquals("Failed to set context value for key \"Key\" in album \"TestContextAlbum:0.0.1\": "
+        assertThatThrownBy(() -> {
+            ContextAlbumImpl otherAlbumBad = new ContextAlbumImpl(axContextAlbum, distributor,
+                    new LinkedHashMap<String, Object>());
+            otherAlbumBad.put("Key", "BadValue");
+        }).hasMessage("Failed to set context value for key \"Key\" in album \"TestContextAlbum:0.0.1\": "
                             + "TestContextAlbum:0.0.1: object \"BadValue\" of class \"java.lang.String\" "
-                            + "not compatible with class \"java.lang.Integer\"", cre.getMessage());
-        }
-
+                            + "not compatible with class \"java.lang.Integer\"");
         AxContextAlbum otherAxContextAlbum = new AxContextAlbum(new AxArtifactKey("OtherTestContextAlbum", "0.0.1"),
                         "Policy", true, AxArtifactKey.getNullKey());
 
@@ -369,13 +288,8 @@ public class ContextAlbumImplTest {
         otherAlbum = new ContextAlbumImpl(otherAxContextAlbum, distributor, new LinkedHashMap<String, Object>());
         assertNotEquals(album, otherAlbum);
 
-        try {
-            album.flush();
-            fail("test should throw an exception here");
-        } catch (ContextException ce) {
-            assertEquals("map flush failed, supplied map is null", ce.getMessage());
-        }
-
+        assertThatThrownBy(album::flush)
+            .hasMessage("map flush failed, supplied map is null");
         AxContextAlbums albums = new AxContextAlbums();
         ModelService.registerModel(AxContextAlbums.class, albums);
         albums.getAlbumsMap().put(axContextAlbum.getKey(), axContextAlbum);
index 71968ff..53c8d1f 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
- *  Modifications Copyright (C) 2019 Nordix Foundation.
+ *  Modifications Copyright (C) 2019-2020 Nordix Foundation.
  * ================================================================================
  * 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.apex.testsuites.integration.context.distribution;
 
-import static org.junit.Assert.assertEquals;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.APEX_DISTRIBUTOR;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.DATE_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.EXCEPTION_MESSAGE;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_CONTEXT_ALBUM;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.MAP_CONTEXT_ALBUM;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TIME_ZONE;
@@ -41,7 +39,6 @@ import java.util.Locale;
 import java.util.Map;
 import org.onap.policy.apex.context.ContextAlbum;
 import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.ContextRuntimeException;
 import org.onap.policy.apex.context.Distributor;
 import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
 import org.onap.policy.apex.context.test.concepts.TestContextDateItem;
@@ -89,43 +86,18 @@ public class ContextUpdate {
         longContextAlbum.put(NUMBER_ZERO, 0);
         longContextAlbum.put(NUMBER_ZERO, NUMBER_ZERO);
 
-        try {
-            longContextAlbum.put(NUMBER_ZERO, ZERO);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final ContextRuntimeException e) {
-            assertEquals("Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\":"
+        assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, ZERO))
+            .hasMessage("Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\":"
                 + " LongContextAlbum:0.0.1: object \"zero\" of class \"java.lang.String\" not compatible with"
-                + " class \"java.lang.Long\"", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
-
-        try {
-            longContextAlbum.put(NUMBER_ZERO, "");
-            fail(EXCEPTION_MESSAGE);
-        } catch (final ContextRuntimeException e) {
-            assertEquals(
-                "Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\": LongContextAlbum"
-                    + ":0.0.1: object \"\" of class \"java.lang.String\" not compatible with class \"java.lang.Long\"",
-                e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
-
-        try {
-            longContextAlbum.put(NUMBER_ZERO, null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final ContextRuntimeException e) {
-            assertEquals("album \"LongContextAlbum:0.0.1\" null values are illegal on key \"0\" for put()",
-                e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
-
-        try {
-            longContextAlbum.put(null, null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final ContextRuntimeException e) {
-            assertEquals("album \"LongContextAlbum:0.0.1\" null keys are illegal on keys for put()", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+                + " class \"java.lang.Long\"");
+        assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, ""))
+            .hasMessage("Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\": "
+                + "LongContextAlbum:0.0.1: object \"\" of class \"java.lang.String\" not "
+                + "compatible with class \"java.lang.Long\"");
+        assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, null))
+            .hasMessage("album \"LongContextAlbum:0.0.1\" null values are illegal on key \"0\" for put()");
+        assertThatThrownBy(() -> longContextAlbum.put(null, null))
+            .hasMessage("album \"LongContextAlbum:0.0.1\" null keys are illegal on keys for put()");
 
         assertNull(dateContextAlbum.put("date0", tciA));
         assertTrue(dateContextAlbum.put("date0", tciA).equals(tciA));
index 3f690f0..287dd61 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
- *  Modifications Copyright (C) 2019 Nordix Foundation.
+ *  Modifications Copyright (C) 2019-2020 Nordix Foundation.
  * ================================================================================
  * 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.apex.testsuites.integration.context.distribution;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory.createMultiAlbumsContextModel;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.APEX_DISTRIBUTOR;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.BYTE_VAL;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.DATE_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.EXCEPTION_MESSAGE;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.FLOAT_VAL;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.INT_VAL;
 import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_VAL;
@@ -115,15 +114,10 @@ public class SequentialContextInstantiation {
 
             final TestContextDateTzItem tci9 = getTestContextDateTzItem(testDate);
 
-            try {
-                dateAlbum.put("tci9", tci9);
-            } catch (final Exception e) {
-                final String message = "class \"" + TestContextDateTzItem.class.getName()
-                                + "\" not compatible with class \"" + TestContextDateLocaleItem.class.getName()
-                                + "\"";
-                assertTrue(e.getMessage().contains(message));
-                LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-            }
+            assertThatThrownBy(() -> dateAlbum.put("tci9", tci9))
+                .hasMessageContaining("class \"" + TestContextDateTzItem.class.getName()
+                    + "\" not compatible with class \"" + TestContextDateLocaleItem.class.getName()
+                    + "\"");
 
             final TestContextDateLocaleItem tciA01 = new TestContextDateLocaleItem(tciA00);
             final TestContextDateLocaleItem tciA02 = new TestContextDateLocaleItem(tciA00);
@@ -145,14 +139,9 @@ public class SequentialContextInstantiation {
             // Get another reference to the album
             final ContextAlbum dateAlbum1 = getContextAlbum(DATE_CONTEXT_ALBUM, contextDistributor);
 
-            try {
-                dateAlbum1.putAll(valueMap1);
-                fail(EXCEPTION_MESSAGE);
-            } catch (final Exception e) {
-                assertTrue(e.getMessage().endsWith("not compatible with class \""
-                                + TestContextDateLocaleItem.class.getName() + "\""));
-                LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-            }
+            assertThatThrownBy(() -> dateAlbum1.putAll(valueMap1))
+                .hasMessageContaining("not compatible with class \""
+                    + TestContextDateLocaleItem.class.getName() + "\"");
             assertEquals(5, dateAlbum1.size());
 
             valueMap1.clear();
@@ -217,23 +206,14 @@ public class SequentialContextInstantiation {
     }
 
     private void assertContains(final ContextAlbum dateAlbum, final TestContextDateLocaleItem tciA01) {
-        try {
-            dateAlbum.containsKey(null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final Exception e) {
-            assertEquals("null values are illegal on method parameter \"key\"", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.containsKey(null))
+            .hasMessageContaining("null values are illegal on method parameter \"key\"");
 
         assertTrue(dateAlbum.containsKey(ITEM05));
         assertTrue(!dateAlbum.containsKey("Item07"));
 
-        try {
-            dateAlbum.containsValue(null);
-        } catch (final Exception e) {
-            assertEquals("null values are illegal on method parameter \"value\"", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.containsValue(null))
+            .hasMessageContaining("null values are illegal on method parameter \"value\"");
 
         assertTrue(dateAlbum.containsValue(tciA01));
         assertTrue(!dateAlbum.containsValue("Hello"));
@@ -241,32 +221,18 @@ public class SequentialContextInstantiation {
 
     private void assertAlbumGetAndPutMethods(final ContextAlbum dateAlbum, final TestContextDateLocaleItem tciA03,
                     final TestContextDateLocaleItem tciA00) {
-        try {
-            dateAlbum.get(null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final Exception e) {
-            assertEquals("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for get()", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.get(null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for get()");
 
         final Object aObject = dateAlbum.get(ITEM03);
         assertEquals(tciA03, aObject);
-        try {
-            dateAlbum.put(null, null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final Exception e) {
-            assertEquals("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for put()", e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.put(null, null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for put()");
 
         // Put null ContextItem should work (return null)
-        try {
-            dateAlbum.put(ITEM_NULL, null);
-        } catch (final Exception e) {
-            assertEquals("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"ItemNull\" for put()",
-                            e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.put(ITEM_NULL, null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null values are illegal on "
+                + "key \"ItemNull\" for put()");
 
         // Should return null
         assertNull(dateAlbum.get(ITEM_NULL));
@@ -279,37 +245,21 @@ public class SequentialContextInstantiation {
         retItem = (TestContextDateLocaleItem) dateAlbum.put(ITEM03, tciA03);
         assertEquals(tciA03Clone, retItem);
 
-        try {
-            dateAlbum.put(ITEM_NULL, null);
-            fail(EXCEPTION_MESSAGE);
-
-        } catch (final Exception e) {
-            assert ("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"ItemNull\" for put()"
-                            .equals(e.getMessage()));
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.put(ITEM_NULL, null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null values are illegal on "
+                + "key \"ItemNull\" for put()");
 
         dateAlbum.put(TEST_AA, tciA00);
         assertEquals(tciA00, dateAlbum.get(TEST_AA));
 
         // Should print warning
-        try {
-            dateAlbum.put(TEST_AA, null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final Exception e) {
-            assertEquals("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAA\" for put()",
-                            e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.put(TEST_AA, null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAA\" "
+                + "for put()");
         assertEquals(8, dateAlbum.size());
-        try {
-            dateAlbum.put(TEST_AB, null);
-            fail(EXCEPTION_MESSAGE);
-        } catch (final Exception e) {
-            assertEquals("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAB\" for put()",
-                            e.getMessage());
-            LOGGER.trace(NORMAL_TEST_EXCEPTION, e);
-        }
+        assertThatThrownBy(() -> dateAlbum.put(TEST_AB, null))
+            .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAB\" "
+                + "for put()");
         assertEquals(8, dateAlbum.size());
     }
 
index 5f89db6..bf883d7 100644 (file)
@@ -21,6 +21,7 @@
 
 package org.onap.policy.apex.testsuites.integration.executor.event;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -168,19 +169,10 @@ public class TestEventInstantiation {
         value = event.get("TestMatchCase");
         assertNull(value);
 
-        try {
-            event.put("TestMatchCase", "Hello");
-        } catch (final Exception e) {
-            assertEquals("Event0000:0.0.1:NULL:TestMatchCase: object \"Hello\" of class \"java.lang.String\" "
-                    + "not compatible with class \"java.lang.Byte\"", e.getMessage());
-        }
-
-        try {
-            event.put("TestMatchCase", 123.45);
-        } catch (final Exception e) {
-            assertEquals("Event0000:0.0.1:NULL:TestMatchCase: object \"123.45\" of class \"java.lang.Double\" "
-                    + "not compatible with class \"java.lang.Byte\"", e.getMessage());
-        }
+        assertThatThrownBy(() -> event.put("TestMatchCase", "Hello"))
+            .hasMessage("Event0000:0.0.1:NULL:TestMatchCase: object \"Hello\" of class \"java.lang.String\" "
+                    + "not compatible with class \"java.lang.Byte\"");
+        event.put("TestMatchCase", 123.45);
 
         event.put("TestMatchCase", Byte.valueOf("16"));
 
index d73b511..aaf640b 100644 (file)
@@ -1,19 +1,20 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ *  Modifications Copyright (C) 2020 Nordix Foundation
  * ================================================================================
  * 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.
- * 
+ *
  * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
@@ -99,15 +100,8 @@ public class TestApexModelExport {
         exportPolicyList.clear();
         exportPolicyList.add(new AxArtifactKey("NonExistentPolicy", "0.0.1"));
 
-        try {
-            final AxPolicyModel emptyExportedModel = PolicyModelSplitter.getSubPolicyModel(model, exportPolicyList);
-            assertNotNull(emptyExportedModel);
-        } catch (final Exception e) {
-            assertTrue(e.getMessage()
-                    .equals("new model is invalid:\n" + "***validation of model failed***\n"
-                            + "AxPolicies:Policies:0.0.1 - policyMap may not be null or empty\n"
-                            + "AxEvents:Events:0.0.1 - eventMap may not be null or empty\n"
-                            + "********************************"));
-        }
+        final AxPolicyModel emptyExportedModel = PolicyModelSplitter.getSubPolicyModel(model, exportPolicyList);
+        assertNotNull(emptyExportedModel);
+
     }
 }
index 7ba309c..fdc60d7 100644 (file)
 
 package org.onap.policy.apex.testsuites.integration.uservice.engine;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -159,14 +159,9 @@ public class ApexServiceModelUpdateTest {
      */
     @Test
     public void testNoModelStart() {
-        try {
-            service.startAll();
-            fail("Engine should not start with no model");
-        } catch (final Exception e) {
-            e.printStackTrace();
-            assertEquals("start()<-Machine-1_process-1_engine-1-0:0.0.0,STOPPED,  cannot start engine, "
-                    + "engine has not been initialized, its model is not loaded", e.getMessage());
-        }
+        assertThatThrownBy(service::startAll)
+            .hasMessage("start()<-Machine-1_process-1_engine-1-0:0.0.0,STOPPED,  cannot start engine, "
+                    + "engine has not been initialized, its model is not loaded");
     }
 
     /**
@@ -227,16 +222,10 @@ public class ApexServiceModelUpdateTest {
         final AxPolicyModel incoPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
         incoPolicyModel0.getKey().setName("INCOMPATIBLE");
 
-        try {
-            service.updateModel(parameters.getEngineKey(), incoPolicyModel0, false);
-            fail("model update should fail on incompatible model without force being true");
-        } catch (final Exception e) {
-            System.err.println(e.getMessage());
-            assertEquals("apex model update failed, supplied model with key \"INCOMPATIBLE:0.0.1\" is not a compatible "
-                    + "model update from the existing engine model " + "with key \"SamplePolicyModelJAVASCRIPT:0.0.1\"",
-                    e.getMessage());
-        }
-
+        assertThatThrownBy(() -> service.updateModel(parameters.getEngineKey(), incoPolicyModel0, false))
+            .hasMessage("apex model update failed, supplied model with key \"INCOMPATIBLE:0.0.1\" is "
+                    + "not a compatible model update from the existing engine model " + "with key "
+                    + "\"SamplePolicyModelJAVASCRIPT:0.0.1\"");
         // Still on old model
         sendEvents();
 
@@ -244,17 +233,10 @@ public class ApexServiceModelUpdateTest {
         final AxPolicyModel incoPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
         incoPolicyModel1.getKey().setVersion("1.0.1");
 
-        try {
-            service.updateModel(parameters.getEngineKey(), incoPolicyModel1, false);
-            fail("model update should fail on incompatible model without force being true");
-        } catch (final Exception e) {
-            System.err.println(e.getMessage());
-            e.printStackTrace();
-            assertEquals("apex model update failed, supplied model with key \"SamplePolicyModelJAVASCRIPT:1.0.1\" "
-                    + "is not a compatible model update from the existing engine model with key "
-                    + "\"SamplePolicyModelJAVASCRIPT:0.0.1\"", e.getMessage());
-        }
-
+        assertThatThrownBy(() -> service.updateModel(parameters.getEngineKey(), incoPolicyModel1, false))
+            .hasMessage("apex model update failed, supplied model with key \"SamplePolicyModelJAVASCRIPT:"
+                    + "1.0.1\" is not a compatible model update from the existing engine model with key "
+                    + "\"SamplePolicyModelJAVASCRIPT:0.0.1\"");
         // Still on old model
         sendEvents();
 
index 9a099b5..6b15ae4 100644 (file)
@@ -1,6 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2018 Ericsson. All rights reserved.
+ *  Modifications Copyright (C) 2020 Nordix Foundation
  * ================================================================================
  * 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.apex.testsuites.performance.benchmark.eventgenerator;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import org.apache.commons.cli.ParseException;
 import org.junit.Test;
@@ -35,287 +35,165 @@ import org.junit.Test;
 public class EventGeneratorParametersHandlerTest {
 
     @Test
-    public void testEventGeneratorParameterhandler() {
+    public void testEventGeneratorParameterhandler() throws ParseException {
         EventGeneratorParameterHandler handler = new EventGeneratorParameterHandler();
         assertNotNull(handler);
 
-        try {
-            String[] args =
-                { "-h" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertNull(parameters);
-            assertEquals("usage: EventGenerator [options...]",
-                            handler.getHelp(EventGenerator.class.getSimpleName()).substring(0, 34));
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                {};
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("localhost", parameters.getHost());
-            assertEquals(32801, parameters.getPort());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-H", "MyHost" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("MyHost", parameters.getHost());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-p", "12345" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals(12345, parameters.getPort());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-H", "MyHost", "-p", "12345" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("MyHost", parameters.getHost());
-            assertEquals(12345, parameters.getPort());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Valid.json" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("ValidPars", parameters.getName());
-            assertEquals("FileHost", parameters.getHost());
-            assertEquals(54321, parameters.getPort());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("localhost", parameters.getHost());
-            assertEquals(32801, parameters.getPort());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "100" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals(100, parameters.getBatchCount());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "-1" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+        String[] args = { "-h" };
+        EventGeneratorParameters parameters = handler.parse(args);
+        assertNull(parameters);
+        assertEquals("usage: EventGenerator [options...]",
+                        handler.getHelp(EventGenerator.class.getSimpleName()).substring(0, 34));
+
+        args = new String[] {};
+        parameters = handler.parse(args);
+        assertEquals("localhost", parameters.getHost());
+        assertEquals(32801, parameters.getPort());
+
+        args = new String[] { "-H", "MyHost" };
+        parameters = handler.parse(args);
+        assertEquals("MyHost", parameters.getHost());
+
+        args = new String[] { "-p", "12345" };
+        parameters = handler.parse(args);
+        assertEquals(12345, parameters.getPort());
+
+
+        args = new String[] { "-H", "MyHost", "-p", "12345" };
+        parameters = handler.parse(args);
+        assertEquals("MyHost", parameters.getHost());
+        assertEquals(12345, parameters.getPort());
+
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Valid.json" };
+        parameters = handler.parse(args);
+        assertEquals("ValidPars", parameters.getName());
+        assertEquals("FileHost", parameters.getHost());
+        assertEquals(54321, parameters.getPort());
+
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Default.json" };
+        parameters = handler.parse(args);
+        assertEquals("localhost", parameters.getHost());
+        assertEquals(32801, parameters.getPort());
+
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "100" };
+        parameters = handler.parse(args);
+        assertEquals(100, parameters.getBatchCount());
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "-1" };
+            handler.parse(arguments);
+        }).hasMessage("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
                             + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
                             + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
                             + "  field \"batchCount\" type \"int\" value \"-1\" INVALID, "
                             + "batchCount must be an integer with a value of zero or more, "
-                            + "zero means generate batches forever\n", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "12345" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals(12345, parameters.getBatchSize());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "0" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+                            + "zero means generate batches forever\n");
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "12345" };
+        parameters = handler.parse(args);
+        assertEquals(12345, parameters.getBatchSize());
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "0" };
+            handler.parse(arguments);
+        }).hasMessage("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
                             + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
                             + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
                             + "  field \"batchSize\" type \"int\" value \"0\" INVALID, "
-                            + "batchSize must be an integer greater than zero\n", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "1000" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals(1000, parameters.getDelayBetweenBatches());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "-1" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+                            + "batchSize must be an integer greater than zero\n");
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "1000" };
+        parameters = handler.parse(args);
+        assertEquals(1000, parameters.getDelayBetweenBatches());
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "-1" };
+            handler.parse(arguments);
+        }).hasMessage("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
                             + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
                             + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
                             + "  field \"batchSize\" type \"int\" value \"1\" INVALID, "
-                            + "batchSize must be an integer with a value of zero or more\n", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Default.json", "-o", "Zooby" };
-            EventGeneratorParameters parameters = handler.parse(args);
-            assertEquals("Zooby", parameters.getOutFile());
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-z" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Unrecognized option: -z", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-H" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Missing argument for option: H", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-p" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Missing argument for option: p", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-p", "12345", "-z" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Unrecognized option: -z", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-p", "12345", "somethingElse" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("too many command line arguments specified : [somethingElse]", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Missing argument for option: c", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-H", "MyHost", "-c", "src/test/resources/parameters/unit/Valid.json" };
-            EventGeneratorParameters pars = handler.parse(args);
-            assertEquals("MyHost", pars.getHost());
-
-        } catch (ParseException pe) {
-            fail("test should not throw an exception");
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/NonExistant.json" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertTrue(pe.getMessage().startsWith("Could not read parameters from configuration file "));
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/BadHost.json" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Error parsing JSON parameters from configuration file "
+                            + "batchSize must be an integer with a value of zero or more\n");
+
+        args = new String[] { "-c", "src/test/resources/parameters/unit/Default.json", "-o", "Zooby" };
+        parameters = handler.parse(args);
+        assertEquals("Zooby", parameters.getOutFile());
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-z" };
+            handler.parse(arguments);
+        }).hasMessage("Unrecognized option: -z");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-H" };
+            handler.parse(arguments);
+        }).hasMessage("Missing argument for option: H");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-p" };
+            handler.parse(arguments);
+        }).hasMessage("Missing argument for option: p");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-p", "12345", "-z" };
+            handler.parse(arguments);
+        }).hasMessage("Unrecognized option: -z");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-p", "12345", "somethingElse" };
+            handler.parse(arguments);
+        }).hasMessage("too many command line arguments specified : [somethingElse]");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c" };
+            handler.parse(arguments);
+        }).hasMessage("Missing argument for option: c");
+
+        args = new String[] { "-H", "MyHost", "-c", "src/test/resources/parameters/unit/Valid.json" };
+        parameters = handler.parse(args);
+        assertEquals("MyHost", parameters.getHost());
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/NonExistant.json" };
+            handler.parse(arguments);
+        }).hasMessageStartingWith("Could not read parameters from configuration file ");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/BadHost.json" };
+            handler.parse(arguments);
+        }).hasMessage("Error parsing JSON parameters from configuration file "
                             + "\"src/test/resources/parameters/unit/BadHost.json\": "
                             + "com.google.gson.stream.MalformedJsonException: "
-                            + "Unexpected value at line 3 column 14 path $.host", pe.getMessage());
-        }
+                            + "Unexpected value at line 3 column 14 path $.host");
 
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/BadPort.json" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("Error parsing JSON parameters from configuration file "
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/BadPort.json" };
+            handler.parse(arguments);
+        }).hasMessage("Error parsing JSON parameters from configuration file "
                             + "\"src/test/resources/parameters/unit/BadPort.json\": "
                             + "java.lang.IllegalStateException: Expected an int "
-                            + "but was BOOLEAN at line 4 column 18 path $.port", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/Empty.json" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("No parameters found in configuration file "
-                            + "\"src/test/resources/parameters/unit/Empty.json\"", pe.getMessage());
-        }
-
-        try {
-            String[] args =
-                { "-c", "src/test/resources/parameters/unit/NullHost.json" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("specified parameters are not valid: parameter group \"ValidPars\" "
+                            + "but was BOOLEAN at line 4 column 18 path $.port");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/Empty.json" };
+            handler.parse(arguments);
+        }).hasMessage("No parameters found in configuration file "
+                + "\"src/test/resources/parameters/unit/Empty.json\"");
+
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-c", "src/test/resources/parameters/unit/NullHost.json" };
+            handler.parse(arguments);
+        }).hasMessage("specified parameters are not valid: parameter group \"ValidPars\" "
                             + "type \"org.onap.policy.apex.testsuites.performance."
                             + "benchmark.eventgenerator.EventGeneratorParameters\" INVALID, "
                             + "parameter group has status INVALID\n" + "  field \"host\" type \"java.lang.String\" "
-                            + "value \"null\" INVALID, host must be a non-blank string\n", pe.getMessage());
-        }
+                            + "value \"null\" INVALID, host must be a non-blank string\n");
 
-        try {
-            String[] args =
-                { "-p", "1023" };
-            handler.parse(args);
-            fail("test should throw an exception");
-        } catch (ParseException pe) {
-            assertEquals("specified parameters are not valid: parameter group \""
+        assertThatThrownBy(() -> {
+            String[] arguments = new String[] { "-p", "1023" };
+            handler.parse(arguments);
+        }).hasMessage("specified parameters are not valid: parameter group \""
                             + "EventGeneratorParameters\" type \"org.onap.policy.apex.testsuites.performance.benchmark."
                             + "eventgenerator.EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
                             + "  field \"port\" type \"int\" value \"1023\" INVALID, "
-                            + "port must be an integer between 1024 and 65535 inclusive\n" + "", pe.getMessage());
-        }
+                            + "port must be an integer between 1024 and 65535 inclusive\n" + "");
     }
 }