From 4752a9ede61f2df4e67ec18f6c53cdcd0c35885f Mon Sep 17 00:00:00 2001 From: waynedunican Date: Tue, 7 Jul 2020 17:51:42 +0100 Subject: Replace try/catch with assertj - apex-pdp 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 --- .../context/distribution/ContextUpdate.java | 54 +-- .../SequentialContextInstantiation.java | 108 ++---- .../executor/event/TestEventInstantiation.java | 18 +- .../executor/handling/TestApexModelExport.java | 20 +- .../engine/ApexServiceModelUpdateTest.java | 42 +-- .../EventGeneratorParametersHandlerTest.java | 396 +++++++-------------- 6 files changed, 203 insertions(+), 435 deletions(-) (limited to 'testsuites') diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java index 71968fffe..53c8d1fb8 100644 --- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java +++ b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java @@ -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. @@ -21,14 +21,12 @@ 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)); diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java index 3f690f0b5..287dd6147 100644 --- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java +++ b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java @@ -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. @@ -21,16 +21,15 @@ 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()); } diff --git a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/event/TestEventInstantiation.java b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/event/TestEventInstantiation.java index 5f89db675..bf883d761 100644 --- a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/event/TestEventInstantiation.java +++ b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/event/TestEventInstantiation.java @@ -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")); diff --git a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/handling/TestApexModelExport.java b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/handling/TestApexModelExport.java index d73b51147..aaf640bb4 100644 --- a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/handling/TestApexModelExport.java +++ b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/handling/TestApexModelExport.java @@ -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); + } } diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/engine/ApexServiceModelUpdateTest.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/engine/ApexServiceModelUpdateTest.java index 7ba309cc0..fdc60d765 100644 --- a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/engine/ApexServiceModelUpdateTest.java +++ b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/engine/ApexServiceModelUpdateTest.java @@ -21,10 +21,10 @@ 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(); diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java index 9a099b54e..6b15ae454 100644 --- a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java +++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java @@ -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. @@ -20,11 +21,10 @@ 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" + ""); } } -- cgit 1.2.3-korg