diff options
20 files changed, 261 insertions, 184 deletions
diff --git a/packages/apex-pdp-docker/src/main/docker/Dockerfile b/packages/apex-pdp-docker/src/main/docker/Dockerfile index 66d23ee2e..b194d78b2 100644 --- a/packages/apex-pdp-docker/src/main/docker/Dockerfile +++ b/packages/apex-pdp-docker/src/main/docker/Dockerfile @@ -22,7 +22,7 @@ # # Docker file to build an image that runs APEX on Java 11 or better in alpine # -FROM onap/policy-jre-alpine:2.1.1 +FROM onap/policy-jre-alpine:2.2.0 LABEL maintainer="Policy Team" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh index 255500a9f..ad7cc7cb4 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= @@ -30,18 +30,19 @@ ## @package org.onap.policy.apex ## @author Sven van der Meer <sven.van.der.meer@ericsson.com> ## @version v2.0.0 - +## +## convert to ash shell script 12/1/2020 +## +##set -x ## ## DO NOT CHANGE CODE BELOW, unless you know what you are doing ## -if [ -z $APEX_HOME ] -then +if [ -z "$APEX_HOME" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "$APEX_HOME" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" @@ -58,15 +59,8 @@ TRUSTSTORE_PASSWORD="${TRUSTSTORE_PASSWORD:-Pol1cy_0nap}" HTTPS_PARAMETERS="-Djavax.net.ssl.keyStore=${KEYSTORE} -Djavax.net.ssl.keyStorePassword=${KEYSTORE_PASSWORD} -Djavax.net.ssl.trustStore=$TRUSTSTORE -Djavax.net.ssl.trustStorePassword=${TRUSTSTORE_PASSWORD}" ## script name for output -MOD_SCRIPT_NAME=`basename $0` +MOD_SCRIPT_NAME=$(basename $0) -## check BASH version, we need >=4 for associative arrays -if [ "${BASH_VERSION:0:1}" -lt 4 ] ; then - echo - echo "$MOD_SCRIPT_NAME: requires bash 4 or higher for associative arrays" - echo - exit -fi ## config for CP apps _config="${HTTPS_PARAMETERS} -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -Dhazelcast.config=$APEX_HOME/etc/hazelcast.xml -Dhazelcast.mancenter.enabled=false" @@ -75,49 +69,25 @@ _config="${HTTPS_PARAMETERS} -Dlogback.configurationFile=$APEX_HOME/etc/logback. _jmxconfig="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9911 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false " ## Maven/APEX version -_version=`cat $APEX_HOME/etc/app-version.txt` +_version=$(cat $APEX_HOME/etc/app-version.txt) -## system to get CygWin paths -system=`uname -s | cut -c1-6` +## system to get CygWin paths +## NOTE: CygWin can not be tested with ash, due to lack of env setup +system=$(uname -s | cut -c1-6) cpsep=":" -if [ "$system" == "CYGWIN" ] ; then +if [ "$system" = "CYGWIN" ] ; then APEX_HOME=`cygpath -m ${APEX_HOME}` - cpsep=";" + cpsep=";" fi - ## CP for CP apps CLASSPATH="$APEX_HOME/etc${cpsep}$APEX_HOME/etc/hazelcast${cpsep}$APEX_HOME/etc/infinispan${cpsep}$APEX_HOME/lib/*" -## array of applications with name=command -declare -A APEX_APP_MAP -APEX_APP_MAP["ws-console"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar -c" -APEX_APP_MAP["ws-echo"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar" -APEX_APP_MAP["tpl-event-json"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2event.Model2EventMain" -APEX_APP_MAP["model-2-cli"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2cli.Model2ClMain" -APEX_APP_MAP["cli-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain" -APEX_APP_MAP["cli-tosca-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain" -APEX_APP_MAP["engine"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.service.engine.main.ApexMain" -APEX_APP_MAP["event-gen"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator" -APEX_APP_MAP["onappf"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.services.onappf.ApexStarterMain" -APEX_APP_MAP["jmx-test"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config $_jmxconfig org.onap.policy.apex.service.engine.main.ApexMain" - -## array of applications with name=description -declare -A APEX_APP_DESCR_MAP -APEX_APP_DESCR_MAP["ws-console"]="a simple console sending events to APEX, connect to APEX consumer port" -APEX_APP_DESCR_MAP["ws-echo"]="a simple echo client printing events received from APEX, connect to APEX producer port" -APEX_APP_DESCR_MAP["tpl-event-json"]="provides JSON templates for events generated from a policy model" -APEX_APP_DESCR_MAP["model-2-cli"]="generates CLI Editor Commands from a policy model" -APEX_APP_DESCR_MAP["cli-editor"]="runs the APEX CLI Editor" -APEX_APP_DESCR_MAP["cli-tosca-editor"]="runs the APEX CLI Tosca Editor" -APEX_APP_DESCR_MAP["engine"]="starts the APEX engine" -APEX_APP_DESCR_MAP["event-generator"]="starts the event generator in a simple webserver for performance testing" -APEX_APP_DESCR_MAP["onappf"]="starts the ApexStarter which handles the Apex Engine based on instructions from PAP" -APEX_APP_DESCR_MAP["jmx-test"]="starts the APEX engine with creating jmx connection configuration" +cmd_list="ws-console ws-echo tpl-event-json model-2-cli cli-editor cli-tosca-editor engine event-generator onappf jmx-test" ## ## Help screen and exit condition (i.e. too few arguments) ## -Help() +function Help() { echo "" echo "$MOD_SCRIPT_NAME - runs APEX applications" @@ -130,8 +100,130 @@ Help() echo " -h - this help screen" echo "" echo "" - exit 255; + exit 255 +} + + +## +## set java command for each option +## +function set_java_cmd() +{ + case "$1" in + ws-console) + { + echo "java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar -c" + };; + ws-echo) + { + echo "java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar" + };; + tpl-event-json) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2event.Model2EventMain" + };; + model-2-cli) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2cli.Model2ClMain" + };; + cli-editor) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain" + };; + cli-tosca-editor) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain" + };; + engine) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.service.engine.main.ApexMain" + };; + event-generator) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator" + };; + onappf) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.services.onappf.ApexStarterMain" + };; + jmx-test) + { + echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config $_jmxconfig org.onap.policy.apex.service.engine.main.ApexMain" + };; + *) + { + echo "" + };; + esac } + + +## +## print the description for each option +## +function print_description() +{ + case "$1" in + ws-console) + { + echo "a simple console sending events to APEX, connect to APEX consumer port" + echo "" + };; + ws-echo) + { + echo "a simple echo client printing events received from APEX, connect to APEX producer port" + echo "" + };; + tpl-event-json) + { + echo "provides JSON templates for events generated from a policy model" + echo "" + };; + model-2-cli) + { + echo "generates CLI Editor Commands from a policy model" + echo "" + };; + cli-editor) + { + echo "runs the APEX CLI Editor" + echo "" + };; + cli-tosca-editor) + { + echo "runs the APEX CLI Tosca Editor" + echo "" + };; + engine) + { + echo "starts the APEX engine" + echo "" + };; + event-generator) + { + echo "starts the event generator in a simple webserver for performance testing" + echo "" + };; + onappf) + { + echo "starts the ApexStarter which handles the Apex Engine based on instructions from PAP" + echo "" + };; + jmx-test) + { + echo "starts the APEX engine with creating jmx connection configuration" + echo "" + };; + *) + { + echo "$MOD_SCRIPT_NAME: unknown application '$1'" + echo "$MOD_SCRIPT_NAME: supported applications:" + echo " --> ${cmd_list}" + echo "" + };; + esac +} + if [ $# -eq 0 ]; then Help fi @@ -140,45 +232,41 @@ fi ## ## read command line, cannot do as while here due to 2-view CLI ## -if [ "$1" == "-l" ]; then +if [ "$1" = "-l" ]; then echo "$MOD_SCRIPT_NAME: supported applications:" - echo " --> ${!APEX_APP_MAP[@]}" + echo " --> ${cmd_list}" echo "" exit 0 fi -if [ "$1" == "-d" ]; then +if [ "$1" = "-d" ]; then if [ -z "$2" ]; then echo "$MOD_SCRIPT_NAME: no application given to describe, supported applications:" - echo " --> ${!APEX_APP_MAP[@]}" + echo " --> ${cmd_list}" echo "" - exit 0; else - _cmd=${APEX_APP_DESCR_MAP[$2]} - if [ -z "$_cmd" ]; then - echo "$MOD_SCRIPT_NAME: unknown application '$2'" - echo "" - exit 0; - fi - echo "$MOD_SCRIPT_NAME: application '$2'" - echo " --> $_cmd" - echo "" - exit 0; + print_description $2 fi + exit 0; fi -if [ "$1" == "-h" ]; then +if [ "$1" = "-h" ]; then Help exit 0 fi - +# +# begin to run java +# _app=$1 shift -_cmd=${APEX_APP_MAP[$_app]} -if [ -z "$_cmd" ]; then - echo "$MOD_SCRIPT_NAME: application '$_app' not supported" - exit 1 +_cmd=$(set_java_cmd $_app) +if [ -z "${_cmd}" ]; then + echo "$MOD_SCRIPT_NAME: unknown application '$_app'" + echo "$MOD_SCRIPT_NAME: supported applications:" + echo " --> ${cmd_list}" + echo "" + exit 0 fi _cmd="$_cmd $*" -## echo "$MOD_SCRIPT_NAME: running application '$_app' with command '$_cmd'" +echo "$MOD_SCRIPT_NAME: running application '$_app' with command '$_cmd'" exec $_cmd diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexBash.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexAsh.sh index 2a201cc72..ef14d903c 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexBash.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexAsh.sh @@ -1,8 +1,9 @@ -#!/bin/bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2016-2018 Ericsson. All rights reserved. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,8 +22,7 @@ #------------------------------------------------------------------------------- # Run from the Apex home directory -if [ ! -d /home/apexuser ] -then +if [ ! -d /home/apexuser ]; then echo Apex user home directory "/home/apexuser" not found exit fi diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh index 42c70fdb3..fb520e7fc 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2016-2018 Ericsson. All rights reserved. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,13 +32,11 @@ ## DO NOT CHANGE CODE BELOW, unless you know what you are doing ## -if [ -z $APEX_HOME ] -then +if [ -z "${APEX_HOME}" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "${APEX_HOME}" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIToscaEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIToscaEditor.sh index 3ed51ecff..cdf4eb3a7 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIToscaEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIToscaEditor.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2019 Nordix Foundation. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -27,13 +28,11 @@ ## @author Ajith Sreekumar <ajith.sreekumar@est.tech> ## @version v1.0.0 -if [ -z $APEX_HOME ] -then +if [ -z "${APEX_HOME}" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "${APEX_HOME}" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh index 6a1386e0e..ca68a9871 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2016-2018 Ericsson. All rights reserved. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,39 +32,33 @@ ## DO NOT CHANGE CODE BELOW, unless you know what you are doing ## -if [ -z $APEX_USER ] -then +if [ -z "${APEX_USER}" ]; then APEX_USER="apexuser" fi id $APEX_USER > /dev/null 2>& 1 -if [ "$?" -ne "0" ] -then +if [ "$?" != "0" ]; then echo 'cannot run apex, user "'$APEX_USER'" does not exit' exit fi -if [ $(whoami) != "$APEX_USER" ] -then +if [ $(whoami) != "$APEX_USER" ]; then echo 'Apex must be run as user "'$APEX_USER'"' exit fi -if [ -z $APEX_HOME ] -then +if [ -z "${APEX_HOME}" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "${APEX_HOME}" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" exit fi -if [ $(whoami) == "$APEX_USER" ] -then +if [ $(whoami) = "$APEX_USER" ]; then $APEX_HOME/bin/apexApps.sh engine $* else su $APEX_USER -c "$APEX_HOME/bin/apexApps.sh engine $*" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexOnapPf.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexOnapPf.sh index 56ab61b88..2c95cd331 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexOnapPf.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexOnapPf.sh @@ -1,7 +1,8 @@ -#!/bin/bash -x +#!/usr/bin/env ash # # ============LICENSE_START======================================================= # Copyright (C) 2019-2020 Nordix Foundation. +# Modifications Copyright (C) 2020 AT&T Intellectual Property # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,54 +29,48 @@ ## @version v1.0.0 -if [ -z $APEX_USER ] -then +if [ -z "$APEX_USER" ]; then APEX_USER="apexuser" fi id $APEX_USER > /dev/null 2>& 1 -if [ "$?" -ne "0" ] -then +if [ "$?" != "0" ]; then echo 'cannot run apex, user "'$APEX_USER'" does not exit' exit fi -if [ $(whoami) != "$APEX_USER" ] -then +if [ $(whoami) != "$APEX_USER" ]; then echo 'Apex must be run as user "'$APEX_USER'"' exit fi -if [ -z $APEX_HOME ] -then +if [ -z $APEX_HOME ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d $APEX_HOME ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" exit fi -if [[ -f "${HOME}"/config/policy-truststore ]]; then +if [ -f "${HOME}/config/policy-truststore" ]; then echo "overriding policy-truststore" cp -f "${HOME}"/config/policy-truststore "${APEX_HOME}"/etc/ssl/ fi -if [[ -f "${HOME}"/config/policy-keystore ]]; then +if [ -f "${HOME}"/config/policy-keystore ]; then echo "overriding policy-keystore" cp -f "${HOME}"/config/policy-keystore "${APEX_HOME}"/etc/ssl/ fi -if [[ -f "${HOME}"/config/logback.xml ]]; then +if [ -f "${HOME}"/config/logback.xml ]; then echo "overriding logback.xml" cp -f "${HOME}"/config/logback.xml "${APEX_HOME}"/etc/ fi -if [ $(whoami) == "$APEX_USER" ] -then +if [ $(whoami) = "$APEX_USER" ]; then $APEX_HOME/bin/apexApps.sh onappf $* else su $APEX_USER -c "$APEX_HOME/bin/apexApps.sh onappf $*" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh b/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh index 08c8d181f..d9ccaf81b 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2018 Ericsson. All rights reserved. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,13 +21,11 @@ # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- -if [ -z $APEX_HOME ] -then +if [ -z "${APEX_HOME}" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "${APEX_HOME}" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh b/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh index 2e81bd29d..1afb5347b 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env ash #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2018 Ericsson. All rights reserved. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,35 +21,30 @@ # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- -if [ -z $APEX_HOME ] -then +if [ -z "${APEX_HOME}" ]; then APEX_HOME="/opt/app/policy/apex-pdp" fi -if [ ! -d $APEX_HOME ] -then +if [ ! -d "${APEX_HOME}" ]; then echo echo 'Apex directory "'$APEX_HOME'" not set or not a directory' echo "Please set environment for 'APEX_HOME'" exit fi -if [ $# -ne 2 ] -then +if [ $# -ne 2 ]; then echo "usage: $0 executor-type thread-count" echo " executor-type [Javascript|Jython|JRuby|Mvel|Java]" echo " thread-count [01|02|04|08|16|32|64]" exit 1 fi -if [ "$1" != "Javascript" ] && [ "$1" != "Jython" ] && [ "$1" != "JRuby" ] && [ "$1" != "Mvel" ] && [ "$1" != "Java" ] -then +if [ "$1" != "Javascript" ] && [ "$1" != "Jython" ] && [ "$1" != "JRuby" ] && [ "$1" != "Mvel" ] && [ "$1" != "Java" ]; then echo "executor-type must be a member of the set [Javascript|Jython|JRuby|Mvel|Java]" exit 1 fi -if [ "$2" != "01" ] && [ "$2" != "02" ] && [ "$2" != "04" ] && [ "$2" != "08" ] && [ "$2" != "16" ] && [ "$2" != "32" ] && [ "$2" != "64" ] -then +if [ "$2" != "01" ] && [ "$2" != "02" ] && [ "$2" != "04" ] && [ "$2" != "08" ] && [ "$2" != "16" ] && [ "$2" != "32" ] && [ "$2" != "64" ]; then echo "thread-count must be a member of the set [01|02|04|08|16|32|64]" exit 1 fi @@ -57,11 +53,11 @@ fi rm -fr examples/benchmark/Bm$1$2.json # Start the event generator -/bin/bash bin/apexApps.sh event-gen -c examples/benchmark/EventGeneratorConfig.json -o examples/benchmark/Bm$1$2.json > examples/benchmark/Bm$1$2_gen.log 2>&1 & +/bin/ash bin/apexApps.sh event-gen -c examples/benchmark/EventGeneratorConfig.json -o examples/benchmark/Bm$1$2.json > examples/benchmark/Bm$1$2_gen.log 2>&1 & # Start Apex sleep 2 -/bin/bash bin/apexApps.sh engine -c examples/benchmark/$1$2.json > examples/benchmark/Bm$1$2_apex.log 2>&1 & +/bin/ash bin/apexApps.sh engine -c examples/benchmark/$1$2.json > examples/benchmark/Bm$1$2_apex.log 2>&1 & apex_pid=`ps -A -o pid,cmd | grep ApexMain | grep -v grep | head -n 1 | awk '{print $1}'` echo "running benchmark test for executor $1 with $2 threads" diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/main/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/main/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducer.java index 6046a310b..410c83c40 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/main/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/main/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducer.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation. - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * Modifications Copyright (C) 2020-2021 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. @@ -125,8 +125,7 @@ public class ApexGrpcProducer extends ApexPluginsEventProducer implements CdsPro } if (!EventType.EVENT_COMPONENT_EXECUTED.equals(cdsResponse.get().getStatus().getEventType())) { - LOGGER.error("Sending event \"{}\" by {} to CDS failed. Response from CDS:\n{}", eventName, this.name, - cdsResponse.get()); + LOGGER.error("Sending event \"{}\" by {} to CDS failed.", eventName, this.name); } consumeEvent(executionId, cdsResponse.get()); @@ -166,7 +165,6 @@ public class ApexGrpcProducer extends ApexPluginsEventProducer implements CdsPro @Override public void onMessage(ExecutionServiceOutput message) { - LOGGER.info("Received notification from CDS: {}", message); cdsResponse.set(message); } diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java index 9fbc36116..88980762f 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java @@ -179,7 +179,6 @@ public class ApexJmsConsumer extends ApexPluginsEventConsumer implements Message eventReceiver.receiveEvent(new Properties(), jmsMessage); } catch (final Exception e) { final String errorMessage = "failed to receive message from JMS"; - LOGGER.warn(errorMessage, e); throw new ApexEventRuntimeException(errorMessage, e); } } diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java index 39d0023d2..80ccda729 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/main/java/org/onap/policy/apex/plugins/event/carrier/restserver/ApexRestServerConsumer.java @@ -160,10 +160,10 @@ public class ApexRestServerConsumer extends ApexPluginsEventConsumer { // Send the event into Apex eventReceiver.receiveEvent(executionId, new Properties(), event); } catch (final Exception e) { - final String errorMessage = "error receiving events on event consumer " + name + ", " + e.getMessage(); + final String errorMessage = "error receiving events on event consumer " + name; LOGGER.warn(errorMessage, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()) - .entity("{'errorMessage', '" + errorMessage + "'}").build(); + .entity("{'errorMessage', '" + errorMessage + ", " + e.getMessage() + "'}").build(); } final SynchronousEventCache synchronousEventCache = diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src/main/java/org/onap/policy/apex/plugins/event/protocol/xml/Apex2XmlEventConverter.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src/main/java/org/onap/policy/apex/plugins/event/protocol/xml/Apex2XmlEventConverter.java index 44f010cd0..0f6735e0e 100644 --- a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src/main/java/org/onap/policy/apex/plugins/event/protocol/xml/Apex2XmlEventConverter.java +++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src/main/java/org/onap/policy/apex/plugins/event/protocol/xml/Apex2XmlEventConverter.java @@ -130,7 +130,6 @@ public final class Apex2XmlEventConverter implements ApexEventProtocolConverter final JAXBElement<XMLApexEvent> rootElement = unmarshaller.unmarshal(source, XMLApexEvent.class); xmlApexEvent = rootElement.getValue(); } catch (final JAXBException e) { - LOGGER.warn("Unable to unmarshal Apex XML event\n" + xmlEventString, e); throw new ApexEventException("Unable to unmarshal Apex XML event\n" + xmlEventString, e); } diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/main/java/org/onap/policy/apex/plugins/event/protocol/yaml/Apex2YamlEventConverter.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/main/java/org/onap/policy/apex/plugins/event/protocol/yaml/Apex2YamlEventConverter.java index e6ee090e4..59c9c21c1 100644 --- a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/main/java/org/onap/policy/apex/plugins/event/protocol/yaml/Apex2YamlEventConverter.java +++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/main/java/org/onap/policy/apex/plugins/event/protocol/yaml/Apex2YamlEventConverter.java @@ -112,10 +112,8 @@ public class Apex2YamlEventConverter implements ApexEventProtocolConverter { try { eventList.add(yamlMap2ApexEvent(eventName, yamlMap)); } catch (final Exception e) { - final String errorString = "Failed to unmarshal YAML event: " + e.getMessage() + ", event=" - + yamlEventString; - LOGGER.warn(errorString, e); - throw new ApexEventException(errorString, e); + throw new ApexEventException("Failed to unmarshal YAML event, event=" + + yamlEventString, e); } // Return the list of events we have unmarshalled diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/test/java/org/onap/policy/apex/plugins/event/protocol/yaml/YamlPluginStabilityTest.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/test/java/org/onap/policy/apex/plugins/event/protocol/yaml/YamlPluginStabilityTest.java index 398bddb16..0577be703 100644 --- a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/test/java/org/onap/policy/apex/plugins/event/protocol/yaml/YamlPluginStabilityTest.java +++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src/test/java/org/onap/policy/apex/plugins/event/protocol/yaml/YamlPluginStabilityTest.java @@ -21,8 +21,11 @@ package org.onap.policy.apex.plugins.event.protocol.yaml; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import java.io.IOException; @@ -118,14 +121,14 @@ public class YamlPluginStabilityTest { converter.init(pars); assertThatThrownBy(() -> converter.toApexEvent("NonExistantEvent", "")) - .hasMessageContaining("Failed to unmarshal YAML event: an event definition for an event named " - + "\"NonExistantEvent\""); + .hasMessageContaining("Failed to unmarshal YAML event") + .getCause().hasMessageStartingWith("an event definition for an event named \"NonExistantEvent\""); assertThatThrownBy(() -> converter.toApexEvent("TestEvent", null)) .hasMessage("event processing failed, event is null"); assertThatThrownBy(() -> converter.toApexEvent("TestEvent", 1)) .hasMessage("error converting event \"1\" to a string"); assertThatThrownBy(() -> converter.toApexEvent("TestEvent", "")) - .hasMessageContaining("Field \"doubleValue\" is missing"); + .getCause().hasMessageContaining("Field \"doubleValue\" is missing"); assertThatThrownBy(() -> converter.fromApexEvent(null)) .hasMessage("event processing failed, Apex event is null"); ApexEvent apexEvent = new ApexEvent(testEvent.getKey().getName(), testEvent.getKey().getVersion(), @@ -142,12 +145,12 @@ public class YamlPluginStabilityTest { assertThatThrownBy(() -> converter.fromApexEvent(apexEvent)) .hasMessageContaining("error parsing TestEvent:0.0.1 event to Json. Field \"intValue\" is missing"); assertThatThrownBy(() -> converter.toApexEvent(null, "")) - .hasMessageContaining("Failed to unmarshal YAML event: event received without mandatory parameter" - + " \"name\""); + .hasMessageStartingWith("Failed to unmarshal YAML event") + .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\""); pars.setNameAlias("TheNameField"); assertThatThrownBy(() -> converter.toApexEvent(null, "")) - .hasMessageContaining("Failed to unmarshal YAML event: event received without mandatory parameter" - + " \"name\""); + .hasMessageStartingWith("Failed to unmarshal YAML event") + .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\""); apexEvent.put("intValue", 123); apexEvent.remove("stringValue"); @@ -184,7 +187,8 @@ public class YamlPluginStabilityTest { pars.setNameSpaceAlias("stringValue"); final String yamlInputStringCopy = yamlInputString; assertThatThrownBy(() -> converter.toApexEvent("TestEvent", yamlInputStringCopy)) - .hasMessageContaining("Failed to unmarshal YAML event: namespace \"org.some.other.namespace\" on event"); + .hasMessageStartingWith("Failed to unmarshal YAML event") + .getCause().hasMessageStartingWith("namespace \"org.some.other.namespace\" on event"); yamlInputString = "doubleValue: 123.45\n" + "intValue: 123\n" + "stringValue: org.onap.policy.apex.plugins.event.protocol.yaml"; eventList = converter.toApexEvent("TestEvent", yamlInputString); @@ -207,11 +211,11 @@ public class YamlPluginStabilityTest { pars.setSourceAlias(null); pars.setTargetAlias("intValue"); assertThatThrownBy(() -> converter.toApexEvent("TestEvent", yamlInputStringCopy)) - .hasMessageContaining("Failed to unmarshal YAML event: field \"target\" with type \"java.lang.Integer\""); + .hasMessageStartingWith("Failed to unmarshal YAML event") + .getCause().hasMessageStartingWith("field \"target\" with type \"java.lang.Integer\""); pars.setTargetAlias(null); assertThatThrownBy(() -> converter.toApexEvent("TestEvent", "doubleValue: 123.45\n" + "intValue: ~\n" - + "stringValue: MyString")) - .hasMessageContaining("mandatory field \"intValue\" is missing"); + + "stringValue: MyString")).getCause().hasMessageStartingWith("mandatory field \"intValue\" is missing"); } } diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java index 459a2c4bf..e8e592b09 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JsonEventConverter.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. @@ -111,10 +111,7 @@ public class Apex2JsonEventConverter implements ApexEventProtocolConverter { eventList.add(jsonStringApexEvent(eventName, jsonEventString)); } } catch (final Exception e) { - final String errorString = "Failed to unmarshal JSON event: " + e.getMessage() + ", event=" - + jsonEventString; - LOGGER.warn(errorString, e); - throw new ApexEventException(errorString, e); + throw new ApexEventException("Failed to unmarshal JSON event, event=" + jsonEventString, e); } // Return the list of events we have unmarshalled diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java index dc9854158..fd6ac4489 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexEventUnmarshaller.java @@ -263,8 +263,7 @@ public class ApexEventUnmarshaller implements ApexEventReceiver, Runnable { break; } catch (ApexException e) { if (!iterator.hasNext()) { - final String errorMessage = "Error while converting event into an ApexEvent for " + name + ": " - + e.getMessage() + ", Event=" + event; + final String errorMessage = "Error while converting event into an ApexEvent for " + name; throw new ApexEventException(errorMessage, e); } } diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventConverterTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventConverterTest.java index ceadc4aae..a7d08bb55 100644 --- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventConverterTest.java +++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventConverterTest.java @@ -49,11 +49,13 @@ public class JsonEventConverterTest { assertThatThrownBy(() -> converter.toApexEvent(null, 1)) .hasMessage("error converting event \"1\" to a string"); assertThatThrownBy(() -> converter.toApexEvent(null, "[{\"aKey\": 1},{\"aKey\": 2}]")) - .hasMessage("Failed to unmarshal JSON event: event received without mandatory parameter \"name\" " - + "on configuration or on event, event=[{\"aKey\": 1},{\"aKey\": 2}]"); + .hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\" " + + "on configuration or on event"); assertThatThrownBy(() -> converter.toApexEvent(null, "[1,2,3]")) - .hasMessage("Failed to unmarshal JSON event: incoming event ([1,2,3]) is a JSON object array " - + "containing an invalid object 1.0, event=[1,2,3]"); + .hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("incoming event ([1,2,3]) is a JSON object array " + + "containing an invalid object 1.0"); assertThatThrownBy(() -> converter.fromApexEvent(null)) .hasMessage("event processing failed, Apex event is null"); assertThatThrownBy(() -> converter.fromApexEvent(new ApexEvent("Event", "0.0.1", "a.name.space", diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerForPojoTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerForPojoTest.java index de84acca1..c58cb085d 100644 --- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerForPojoTest.java +++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerForPojoTest.java @@ -217,15 +217,18 @@ public class JsonEventHandlerForPojoTest { logger.debug("input event\n" + apexEventJsonStringIn); assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoEvent", apexEventJsonStringIn)) - .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoEvent:0.0.1 event from Json. " - + "Field BAD_POJO_PAR not found on POJO event definition."); + .hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("error parsing PojoEvent:0.0.1 event from Json. " + + "Field BAD_POJO_PAR not found on POJO event definition."); pars.setPojoField("POJO_PAR"); assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoNoFieldEvent", apexEventJsonStringIn)) - .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoNoFieldEvent:0.0.1 " - + "event from Json, Field POJO_PAR not found, no fields defined on event."); + .hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("error parsing PojoNoFieldEvent:0.0.1 " + + "event from Json, Field POJO_PAR not found, no fields defined on event."); assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoTooManyFieldsEvent", apexEventJsonStringIn)) - .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoTooManyFieldsEvent:0.0.1" - + " event from Json, Field POJO_PAR, one and only one field may be defined on a " - + "POJO event definition."); + .hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("error parsing PojoTooManyFieldsEvent:0.0.1" + + " event from Json, Field POJO_PAR, one and only one field may be defined on a " + + "POJO event definition."); } } diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerTest.java index 241c92978..fdb886e10 100644 --- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerTest.java +++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/JsonEventHandlerTest.java @@ -144,18 +144,20 @@ public class JsonEventHandlerTest { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoName(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: event received without " - + "mandatory parameter \"name\" "); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\" "); assertThatThrownBy(() -> { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadName(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: field \"name\" with value \"%%%%\" is invalid"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("field \"name\" with value \"%%%%\" is invalid"); assertThatThrownBy(() -> { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExName(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: an event definition for an event named \"I_DONT_EXI"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("an event definition for an event named \"I_DONT_EXI"); String apexEventJsonStringIn1 = null; apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoVersion(); ApexEvent event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0); @@ -164,12 +166,14 @@ public class JsonEventHandlerTest { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadVersion(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: field \"version\" with value \"#####\" is invalid"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("field \"version\" with value \"#####\" is invalid"); assertThatThrownBy(() -> { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExVersion(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: an event definition for an event named " + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("an event definition for an event named " + "\"BasicEvent\" with version \"1.2.3\" not found in Apex model"); apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoNamespace(); event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0); @@ -179,13 +183,14 @@ public class JsonEventHandlerTest { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadNamespace(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: " + "field \"nameSpace\" with value \"hello.&&&&\" " - + "is invalid"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("field \"nameSpace\" with value \"hello.&&&&\" is invalid"); assertThatThrownBy(() -> { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExNamespace(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: namespace \"pie.in.the.sky\" " + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("namespace \"pie.in.the.sky\" " + "on event \"BasicEvent\" does not" + " match namespace \"org.onap.policy.apex.events\" " + "for that event in the Apex model"); apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoSource(); @@ -196,7 +201,8 @@ public class JsonEventHandlerTest { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadSource(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: field \"source\" with value \"%!@**@!\" is invalid"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("field \"source\" with value \"%!@**@!\" is invalid"); apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoTarget(); event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0); assertEquals("target", event.getTarget()); @@ -205,13 +211,14 @@ public class JsonEventHandlerTest { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadTarget(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: field \"target\" with value \"KNIO(*S)A(S)D\" " - + "is invalid"); + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("field \"target\" with value \"KNIO(*S)A(S)D\" is invalid"); assertThatThrownBy(() -> { String apexEventJsonStringIn = null; apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventMissingFields(); jsonEventConverter.toApexEvent(null, apexEventJsonStringIn); - }).hasMessageContaining("Failed to unmarshal JSON event: error parsing BasicEvent:0.0.1 " + }).hasMessageStartingWith("Failed to unmarshal JSON event") + .getCause().hasMessageStartingWith("error parsing BasicEvent:0.0.1 " + "event from Json. Field \"intPar\" is missing, but is mandatory."); apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNullFields(); event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0); |