diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2020-08-10 14:45:19 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-08-10 14:45:19 +0000 |
commit | f91872a675d80c458c0ed17bacee81cc41adc639 (patch) | |
tree | 722408130f674f963876536853c59d65bc05161c /main | |
parent | 2baf9ec970e8f4901deabbd7d7bcb5cf54607201 (diff) | |
parent | 894c752c877291f1520d53e0e69b30fc4928fff6 (diff) |
Merge "Changes to make PAP container crash with non zero exitCode"
Diffstat (limited to 'main')
-rw-r--r-- | main/src/main/java/org/onap/policy/pap/main/startstop/Main.java | 38 | ||||
-rw-r--r-- | main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java | 24 |
2 files changed, 28 insertions, 34 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java b/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java index 1f478d77..74bb9f69 100644 --- a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java +++ b/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. * Modifications Copyright (C) 2019 AT&T Intellectual Property. + * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +26,7 @@ import java.util.Arrays; import org.onap.policy.common.utils.services.Registry; import org.onap.policy.pap.main.PapConstants; import org.onap.policy.pap.main.PolicyPapException; +import org.onap.policy.pap.main.PolicyPapRuntimeException; import org.onap.policy.pap.main.parameters.PapParameterGroup; import org.onap.policy.pap.main.parameters.PapParameterHandler; import org.slf4j.Logger; @@ -64,38 +66,24 @@ public class Main { } // Validate that the arguments are sane arguments.validate(); - } catch (final PolicyPapException e) { - LOGGER.error(START_FAILED, e); - return; - } - // Read the parameters - try { + // Read the parameters parameterGroup = new PapParameterHandler().getParameters(arguments); - } catch (final Exception e) { - LOGGER.error(START_FAILED, e); - return; - } - // Initialize database - try { + // Initialize database new PapDatabaseInitializer().initializePapDatabase(parameterGroup.getDatabaseProviderParameters()); - } catch (final PolicyPapException exp) { - LOGGER.error(START_FAILED + ", used parameters are {}", Arrays.toString(args), exp); - return; - } - // Now, create the activator for the policy pap service - activator = new PapActivator(parameterGroup); - Registry.register(PapConstants.REG_PAP_ACTIVATOR, activator); + // Now, create the activator for the policy pap service + activator = new PapActivator(parameterGroup); + Registry.register(PapConstants.REG_PAP_ACTIVATOR, activator); - // Start the activator - try { + // Start the activator activator.start(); - } catch (final RuntimeException e) { - LOGGER.error("start of policy pap service failed, used parameters are {}", Arrays.toString(args), e); - Registry.unregister(PapConstants.REG_PAP_ACTIVATOR); - return; + } catch (Exception exp) { + if (null != activator) { + Registry.unregister(PapConstants.REG_PAP_ACTIVATOR); + } + throw new PolicyPapRuntimeException(START_FAILED + ", used parameters are " + Arrays.toString(args), exp); } // Add a shutdown hook to shut everything down in an orderly manner diff --git a/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java b/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java index 1efa9e14..ef410412 100644 --- a/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java +++ b/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java @@ -1,13 +1,14 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2019-2020 Nordix Foundation. - * Modifications Copyright (C) 2019 AT&T Intellectual Property. + * Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. + * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * 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, @@ -21,6 +22,7 @@ package org.onap.policy.pap.main.startstop; +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; @@ -33,6 +35,7 @@ import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInst import org.onap.policy.common.utils.services.Registry; import org.onap.policy.pap.main.PapConstants; import org.onap.policy.pap.main.PolicyPapException; +import org.onap.policy.pap.main.PolicyPapRuntimeException; import org.onap.policy.pap.main.parameters.CommonTestData; /** @@ -54,6 +57,7 @@ public class TestMain { /** * Shuts "main" down. + * * @throws Exception if an error occurs */ @After @@ -81,15 +85,16 @@ public class TestMain { @Test public void testMain_NoArguments() { final String[] papConfigParameters = {}; - main = new Main(papConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(papConfigParameters)).isInstanceOf(PolicyPapRuntimeException.class) + .hasMessage("start of policy pap service failed, used parameters are []"); } @Test public void testMain_InvalidArguments() { final String[] papConfigParameters = {"parameters/PapConfigParameters.json"}; - main = new Main(papConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(papConfigParameters)).isInstanceOf(PolicyPapRuntimeException.class) + .hasMessage( + "start of policy pap service failed, used parameters are [parameters/PapConfigParameters.json]"); } @Test @@ -102,7 +107,8 @@ public class TestMain { @Test public void testMain_InvalidParameters() { final String[] papConfigParameters = {"-c", "parameters/PapConfigParameters_InvalidName.json"}; - main = new Main(papConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(papConfigParameters)).isInstanceOf(PolicyPapRuntimeException.class) + .hasMessage("start of policy pap service failed, " + + "used parameters are [-c, parameters/PapConfigParameters_InvalidName.json]"); } } |