diff options
author | a.sreekumar <ajith.sreekumar@bell.ca> | 2020-08-07 15:24:10 +0100 |
---|---|---|
committer | a.sreekumar <ajith.sreekumar@bell.ca> | 2020-08-10 13:47:13 +0100 |
commit | 894c752c877291f1520d53e0e69b30fc4928fff6 (patch) | |
tree | b515d174ba38774ecd68a74342b672e345237f7e /main/src/test | |
parent | e32cb0265d6950c10a7512868846feeee95f9434 (diff) |
Changes to make PAP container crash with non zero exitCode
Make the application to return exitCode as 1 when the main process
terminates due to issues such as:
1) Any basic issue in the startup config file causing error and
terminates the main process, for e.g. a wrong name in parameterGroup.
2) Wrong info specified for database connectivity, say wrong username.
This doesn't impact a case where database isn't ready yet and PAP
container comes up first, such waiting is already handled by
initContainer in the oom chart. PAP pod waits for policy-mariadb pod to
be ready first, then only the main process is started and comes to this
point.
3) An invalid port number is specified and the rest server is not able
to start.
These are the some of the scenarios which already makes the main process
of PAP to terminate, and in these cases, an exception is thrown now which
returns the exitCode as 1.
Change-Id: Ie48726bcb36d7304eb60807fbaabbee8245e9c70
Issue-ID: POLICY-2754
Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
Diffstat (limited to 'main/src/test')
-rw-r--r-- | main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java | 24 |
1 files changed, 15 insertions, 9 deletions
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]"); } } |