diff options
author | a.sreekumar <ajith.sreekumar@bell.ca> | 2020-08-12 13:07:37 +0100 |
---|---|---|
committer | a.sreekumar <ajith.sreekumar@bell.ca> | 2020-08-14 13:43:09 +0100 |
commit | b9de2097bb3e2cf386d4f6ad765464b55c3442f6 (patch) | |
tree | 2ea908c4e2b1b716d36adacd019af546b8eab75d | |
parent | c7b6db0e0688a6e42279fd85968258e9e880291d (diff) |
Changes to make Policy-API container crash with non zero exitCode
Change-Id: I9e46aa87bfefbd56ef0077017293df34b654e36f
Issue-ID: POLICY-2755
Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
-rw-r--r-- | main/src/main/java/org/onap/policy/api/main/startstop/Main.java | 36 | ||||
-rw-r--r-- | main/src/test/java/org/onap/policy/api/main/startstop/TestMain.java | 17 |
2 files changed, 22 insertions, 31 deletions
diff --git a/main/src/main/java/org/onap/policy/api/main/startstop/Main.java b/main/src/main/java/org/onap/policy/api/main/startstop/Main.java index 23dcd269..c8bce6fa 100644 --- a/main/src/main/java/org/onap/policy/api/main/startstop/Main.java +++ b/main/src/main/java/org/onap/policy/api/main/startstop/Main.java @@ -4,6 +4,7 @@ * ================================================================================ * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved. * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * 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,8 +26,10 @@ package org.onap.policy.api.main.startstop; import java.util.Arrays; import org.onap.policy.api.main.exception.PolicyApiException; +import org.onap.policy.api.main.exception.PolicyApiRuntimeException; import org.onap.policy.api.main.parameters.ApiParameterGroup; import org.onap.policy.api.main.parameters.ApiParameterHandler; +import org.onap.policy.common.utils.resources.MessageConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,41 +68,26 @@ public class Main { // Validate that the arguments are sane arguments.validate(); - } catch (final PolicyApiException e) { - LOGGER.error("start of policy api service failed", e); - return; - } - // Read the parameters - try { + // Read the parameters parameterGroup = new ApiParameterHandler().getParameters(arguments); - } catch (final Exception e) { - LOGGER.error("start of policy api service failed", e); - return; - } - - // Initialize database - try { + // Initialize database new ApiDatabaseInitializer().initializeApiDatabase(parameterGroup); - } catch (final PolicyApiException e) { - LOGGER.error("Preloading policy types into DB failed", e); - return; - } - // Now, create the activator for the policy api service - activator = new ApiActivator(parameterGroup); + // Now, create the activator for the policy api service + activator = new ApiActivator(parameterGroup); - // Start the activator - try { + // Start the activator activator.initialize(); } catch (final PolicyApiException e) { - LOGGER.error("start of policy api service failed, used parameters are {} ", argumentString, e); - return; + throw new PolicyApiRuntimeException( + String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_API), e); } // Add a shutdown hook to shut everything down in an orderly manner Runtime.getRuntime().addShutdownHook(new PolicyApiShutdownHookClass()); - LOGGER.info("Started policy api service"); + String successMsg = String.format(MessageConstants.START_SUCCESS_MSG, MessageConstants.POLICY_API); + LOGGER.info(successMsg); } /** diff --git a/main/src/test/java/org/onap/policy/api/main/startstop/TestMain.java b/main/src/test/java/org/onap/policy/api/main/startstop/TestMain.java index 90397755..0c4eb4ed 100644 --- a/main/src/test/java/org/onap/policy/api/main/startstop/TestMain.java +++ b/main/src/test/java/org/onap/policy/api/main/startstop/TestMain.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved. * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * 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. @@ -22,13 +23,15 @@ package org.onap.policy.api.main.startstop; import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.Test; +import org.onap.policy.api.main.exception.PolicyApiRuntimeException; import org.onap.policy.api.main.parameters.CommonTestData; import org.onap.policy.common.utils.network.NetworkUtil; +import org.onap.policy.common.utils.resources.MessageConstants; /** * Class to perform unit test of Main. @@ -51,15 +54,15 @@ public class TestMain { @Test public void testMain_NoArguments() { final String[] apiConfigParameters = {}; - final Main main = new Main(apiConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(apiConfigParameters)).isInstanceOf(PolicyApiRuntimeException.class) + .hasMessage(String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_API)); } @Test public void testMain_InvalidArguments() { final String[] apiConfigParameters = {"parameters/ApiConfigParameters.json"}; - final Main main = new Main(apiConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(apiConfigParameters)).isInstanceOf(PolicyApiRuntimeException.class) + .hasMessage(String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_API)); } @Test @@ -71,7 +74,7 @@ public class TestMain { @Test public void testMain_InvalidParameters() { final String[] apiConfigParameters = {"-c", "parameters/ApiConfigParameters_InvalidName.json"}; - final Main main = new Main(apiConfigParameters); - assertNull(main.getParameters()); + assertThatThrownBy(() -> new Main(apiConfigParameters)).isInstanceOf(PolicyApiRuntimeException.class) + .hasMessage(String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_API)); } } |