From 2058cb12164f25c1d74b9208d7f464b34aa6e6bf Mon Sep 17 00:00:00 2001 From: Taka Cho Date: Mon, 15 Mar 2021 17:13:54 -0400 Subject: [PATCH] policy csit moved to policy repo removed all files related to policy csit. already moved csit to policy project level Issue-ID: POLICY-2895 Change-Id: I00312533e395a80972cf62da01a2a3723d5c9b8c Signed-off-by: Taka Cho --- plans/policy/apex-pdp/setup.sh | 55 - plans/policy/apex-pdp/teardown.sh | 23 - plans/policy/apex-pdp/testplan.txt | 3 - plans/policy/api/setup.sh | 64 - plans/policy/api/teardown.sh | 20 - plans/policy/api/testplan.txt | 3 - plans/policy/distribution/setup.sh | 66 - plans/policy/distribution/teardown.sh | 23 - plans/policy/distribution/testplan.txt | 3 - plans/policy/drools-applications/setup.sh | 68 - plans/policy/drools-applications/teardown.sh | 23 - plans/policy/drools-applications/testplan.txt | 3 - plans/policy/drools-pdp/setup.sh | 49 - plans/policy/drools-pdp/teardown.sh | 20 - plans/policy/drools-pdp/testplan.txt | 3 - plans/policy/pap/setup.sh | 55 - plans/policy/pap/teardown.sh | 21 - plans/policy/pap/testplan.txt | 3 - plans/policy/xacml-pdp/setup.sh | 64 - plans/policy/xacml-pdp/teardown.sh | 20 - plans/policy/xacml-pdp/testplan.txt | 3 - scripts/policy/config/apex-pdp/OnapPfConfig.json | 42 - scripts/policy/config/db/db.conf | 16 - scripts/policy/config/db/db.sh | 22 - .../policy/config/distribution/defaultConfig.json | 72 - .../config/drools-apps/custom/features.pre.sh | 18 - .../drools-apps/custom/standalone-settings.xml | 57 - scripts/policy/config/drools-apps/env/base.conf | 132 - .../drools-apps/env/feature-healthcheck.conf | 18 - .../drools-apps/env/feature-pooling-dmaap.conf | 17 - scripts/policy/config/drools/custom/noop.pre.sh | 22 - scripts/policy/config/drools/env/base.conf | 132 - scripts/policy/config/pap/defaultConfig.json | 64 - scripts/policy/config/policy-csit.conf | 7 - scripts/policy/config/sim-all/simParameters.json | 109 - scripts/policy/config/xacml-pdp/defaultConfig.json | 38 - scripts/policy/detmVers.sh | 80 - scripts/policy/docker-compose-all.yml | 190 - .../policy/drools-apps/deploy.drools.policies.json | 27 - .../policy/drools-apps/deploy.xacml.policies.json | 27 - scripts/policy/drools-apps/make_topic.sh | 33 - scripts/policy/drools-apps/onset.sh | 32 - scripts/policy/drools-apps/vcpeOnset.json | 16 - scripts/policy/drools-apps/vdnsOnset.json | 16 - scripts/policy/drools-apps/vfwOnset.json | 17 - scripts/policy/drools-apps/wait_topic.sh | 61 - scripts/policy/get-models-examples.sh | 27 - .../csar/sample_csar_with_apex_policy.csar | Bin 96868 -> 0 bytes scripts/policy/wait_for_port.sh | 39 - tests/policy/apex-pdp/apex-pdp-test.robot | 58 - tests/policy/apex-pdp/data/event.json | 11 - .../data/onap.policies.native.Apex.tosca.json | 7436 -------------------- tests/policy/apex-pdp/data/pdp_update.json | 17 - tests/policy/api/api-test.robot | 204 - .../data/onap.policy.monitoring.tcagen2.v1.json | 211 - .../data/onap.policy.monitoring.tcagen2.v2.json | 206 - tests/policy/distribution/data/event.json | 11 - tests/policy/distribution/distribution-test.robot | 45 - .../drools-applications-test.robot | 275 - tests/policy/drools-pdp/drools-pdp-test.robot | 17 - tests/policy/pap/data/create.group.request.json | 37 - tests/policy/pap/data/deploy.group.request.json | 19 - tests/policy/pap/pap-test.robot | 137 - .../data/onap.policy.guard.decision.request.json | 16 - .../onap.policy.monitoring.decision.request.json | 9 - .../data/onap.policy.naming.decision.request.json | 13 - .../onap.policy.optimization.decision.request.json | 15 - .../data/vCPE.policy.input.tosca.deploy.json | 5 - tests/policy/xacml-pdp/xacml-pdp-test.robot | 217 - 69 files changed, 10882 deletions(-) delete mode 100644 plans/policy/apex-pdp/setup.sh delete mode 100644 plans/policy/apex-pdp/teardown.sh delete mode 100644 plans/policy/apex-pdp/testplan.txt delete mode 100644 plans/policy/api/setup.sh delete mode 100755 plans/policy/api/teardown.sh delete mode 100644 plans/policy/api/testplan.txt delete mode 100644 plans/policy/distribution/setup.sh delete mode 100644 plans/policy/distribution/teardown.sh delete mode 100644 plans/policy/distribution/testplan.txt delete mode 100755 plans/policy/drools-applications/setup.sh delete mode 100755 plans/policy/drools-applications/teardown.sh delete mode 100644 plans/policy/drools-applications/testplan.txt delete mode 100755 plans/policy/drools-pdp/setup.sh delete mode 100755 plans/policy/drools-pdp/teardown.sh delete mode 100644 plans/policy/drools-pdp/testplan.txt delete mode 100644 plans/policy/pap/setup.sh delete mode 100644 plans/policy/pap/teardown.sh delete mode 100644 plans/policy/pap/testplan.txt delete mode 100644 plans/policy/xacml-pdp/setup.sh delete mode 100644 plans/policy/xacml-pdp/teardown.sh delete mode 100644 plans/policy/xacml-pdp/testplan.txt delete mode 100644 scripts/policy/config/apex-pdp/OnapPfConfig.json delete mode 100644 scripts/policy/config/db/db.conf delete mode 100755 scripts/policy/config/db/db.sh delete mode 100644 scripts/policy/config/distribution/defaultConfig.json delete mode 100755 scripts/policy/config/drools-apps/custom/features.pre.sh delete mode 100644 scripts/policy/config/drools-apps/custom/standalone-settings.xml delete mode 100644 scripts/policy/config/drools-apps/env/base.conf delete mode 100644 scripts/policy/config/drools-apps/env/feature-healthcheck.conf delete mode 100644 scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf delete mode 100755 scripts/policy/config/drools/custom/noop.pre.sh delete mode 100644 scripts/policy/config/drools/env/base.conf delete mode 100644 scripts/policy/config/pap/defaultConfig.json delete mode 100644 scripts/policy/config/policy-csit.conf delete mode 100644 scripts/policy/config/sim-all/simParameters.json delete mode 100644 scripts/policy/config/xacml-pdp/defaultConfig.json delete mode 100644 scripts/policy/detmVers.sh delete mode 100644 scripts/policy/docker-compose-all.yml delete mode 100644 scripts/policy/drools-apps/deploy.drools.policies.json delete mode 100644 scripts/policy/drools-apps/deploy.xacml.policies.json delete mode 100755 scripts/policy/drools-apps/make_topic.sh delete mode 100755 scripts/policy/drools-apps/onset.sh delete mode 100644 scripts/policy/drools-apps/vcpeOnset.json delete mode 100644 scripts/policy/drools-apps/vdnsOnset.json delete mode 100644 scripts/policy/drools-apps/vfwOnset.json delete mode 100755 scripts/policy/drools-apps/wait_topic.sh delete mode 100644 scripts/policy/get-models-examples.sh delete mode 100644 scripts/policy/policy-distribution/config/distribution/csar/sample_csar_with_apex_policy.csar delete mode 100755 scripts/policy/wait_for_port.sh delete mode 100644 tests/policy/apex-pdp/apex-pdp-test.robot delete mode 100644 tests/policy/apex-pdp/data/event.json delete mode 100644 tests/policy/apex-pdp/data/onap.policies.native.Apex.tosca.json delete mode 100644 tests/policy/apex-pdp/data/pdp_update.json delete mode 100644 tests/policy/api/api-test.robot delete mode 100644 tests/policy/api/data/onap.policy.monitoring.tcagen2.v1.json delete mode 100644 tests/policy/api/data/onap.policy.monitoring.tcagen2.v2.json delete mode 100644 tests/policy/distribution/data/event.json delete mode 100644 tests/policy/distribution/distribution-test.robot delete mode 100644 tests/policy/drools-applications/drools-applications-test.robot delete mode 100644 tests/policy/drools-pdp/drools-pdp-test.robot delete mode 100644 tests/policy/pap/data/create.group.request.json delete mode 100644 tests/policy/pap/data/deploy.group.request.json delete mode 100644 tests/policy/pap/pap-test.robot delete mode 100644 tests/policy/xacml-pdp/data/onap.policy.guard.decision.request.json delete mode 100644 tests/policy/xacml-pdp/data/onap.policy.monitoring.decision.request.json delete mode 100644 tests/policy/xacml-pdp/data/onap.policy.naming.decision.request.json delete mode 100644 tests/policy/xacml-pdp/data/onap.policy.optimization.decision.request.json delete mode 100644 tests/policy/xacml-pdp/data/vCPE.policy.input.tosca.deploy.json delete mode 100644 tests/policy/xacml-pdp/xacml-pdp-test.robot diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh deleted file mode 100644 index 02238e90..00000000 --- a/plans/policy/apex-pdp/setup.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2018 Ericsson. All rights reserved. -# -# Modifications 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. -# 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========================================================= -source ${SCRIPTS}/policy/config/policy-csit.conf - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -sudo apt-get -y install libxml2-utils - -source ${SCRIPTS}/policy/detmVers.sh - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d apex-pdp - -unset http_proxy https_proxy - -POLICY_API_IP=`get-instance-ip.sh policy-api` -POLICY_PAP_IP=`get-instance-ip.sh policy-pap` -MARIADB_IP=`get-instance-ip.sh mariadb` -APEX_IP=`get-instance-ip.sh policy-apex-pdp` -DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` - -echo PAP IP IS ${POLICY_PAP_IP} -echo MARIADB IP IS ${MARIADB_IP} -echo API IP IS ${POLICY_API_IP} -echo APEX IP IS ${APEX_IP} -echo DMAAP_IP IS ${DMAAP_IP} - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${APEX_IP} 6969 - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:${APEX_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}" diff --git a/plans/policy/apex-pdp/teardown.sh b/plans/policy/apex-pdp/teardown.sh deleted file mode 100644 index 86416e6e..00000000 --- a/plans/policy/apex-pdp/teardown.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2018 Ericsson. All rights reserved. -# -# Modifications 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. -# 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========================================================= - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/apex-pdp/testplan.txt b/plans/policy/apex-pdp/testplan.txt deleted file mode 100644 index 07096cfa..00000000 --- a/plans/policy/apex-pdp/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/apex-pdp/apex-pdp-test.robot diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh deleted file mode 100644 index 550337e9..00000000 --- a/plans/policy/api/setup.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2019-2020 AT&T Intellectual Property. 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 -# -# 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========================================================= - -# Select branch -source ${SCRIPTS}/policy/config/policy-csit.conf - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - - -sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/get-models-examples.sh - -source ${SCRIPTS}/policy/detmVers.sh - -DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies - -# create a couple of variations of the policy definitions -sed -e 's!Measurement_vGMUX!ADifferentValue!' \ - ${DATA}/vCPE.policy.monitoring.input.tosca.json \ - >${DATA}/vCPE.policy.monitoring.input.tosca.v1_2.json - -sed -e 's!"version": "1.0.0"!"version": "2.0.0"!' \ - -e 's!"policy-version": 1!"policy-version": 2!' \ - ${DATA}/vCPE.policy.monitoring.input.tosca.json \ - >${DATA}/vCPE.policy.monitoring.input.tosca.v2.json - -echo ${POLICY_API_VERSION} - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d api - - -unset http_proxy https_proxy - -POLICY_API_IP=`get-instance-ip.sh policy-api` -MARIADB_IP=`get-instance-ip.sh mariadb` - -echo API IP IS ${POLICY_API_IP} -echo MARIADB IP IS ${MARIADB_IP} - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${POLICY_API_IP} 6969 - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}" diff --git a/plans/policy/api/teardown.sh b/plans/policy/api/teardown.sh deleted file mode 100755 index 6942e353..00000000 --- a/plans/policy/api/teardown.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2019-2020 AT&T Intellectual Property. 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 -# -# 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========================================================= - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/api/testplan.txt b/plans/policy/api/testplan.txt deleted file mode 100644 index 1bfec142..00000000 --- a/plans/policy/api/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/api/api-test.robot diff --git a/plans/policy/distribution/setup.sh b/plans/policy/distribution/setup.sh deleted file mode 100644 index 73226140..00000000 --- a/plans/policy/distribution/setup.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2018 Ericsson. All rights reserved. -# -# Modifications 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. -# 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========================================================= -source ${SCRIPTS}/policy/config/policy-csit.conf - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -sudo apt-get -y install libxml2-utils - -source ${SCRIPTS}/policy/detmVers.sh - -SCRIPT_DIR=${SCRIPTS}/policy/policy-distribution - -# Remaking the csar file in case if the file got corrupted -zip -F ${SCRIPT_DIR}/config/distribution/csar/sample_csar_with_apex_policy.csar --out ${SCRIPT_DIR}/config/distribution/csar/csar_temp.csar - -# Remake temp directory -rm -rf ${SCRIPT_DIR}/config/distribution/temp -mkdir ${SCRIPT_DIR}/config/distribution/temp - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d distribution - -unset http_proxy https_proxy - -POLICY_API_IP=`get-instance-ip.sh policy-api` -POLICY_PAP_IP=`get-instance-ip.sh policy-pap` -MARIADB_IP=`get-instance-ip.sh mariadb` -APEX_IP=`get-instance-ip.sh policy-apex-pdp` -DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` -POLICY_DISTRIBUTION_IP=`get-instance-ip.sh policy-distribution` - -echo PAP IP IS ${POLICY_PAP_IP} -echo MARIADB IP IS ${MARIADB_IP} -echo API IP IS ${POLICY_API_IP} -echo APEX IP IS ${APEX_IP} -echo DMAAP_IP IS ${DMAAP_IP} -echo POLICY_DISTRIBUTION_IP IS ${POLICY_DISTRIBUTION_IP} - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${POLICY_DISTRIBUTION_IP} 6969 - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:${APEX_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCRIPT_DIR:${SCRIPT_DIR}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_DISTRIBUTION_IP:${POLICY_DISTRIBUTION_IP}" diff --git a/plans/policy/distribution/teardown.sh b/plans/policy/distribution/teardown.sh deleted file mode 100644 index 86416e6e..00000000 --- a/plans/policy/distribution/teardown.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2018 Ericsson. All rights reserved. -# -# Modifications 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. -# 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========================================================= - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/distribution/testplan.txt b/plans/policy/distribution/testplan.txt deleted file mode 100644 index bfd8192e..00000000 --- a/plans/policy/distribution/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/distribution/distribution-test.robot diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh deleted file mode 100755 index c4cbfa60..00000000 --- a/plans/policy/drools-applications/setup.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2019-2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -# OS upgrades - -source ${SCRIPTS}/policy/config/policy-csit.conf - -SCR2=${WORKSPACE}/scripts/policy/drools-apps - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/get-models-examples.sh - -source ${SCRIPTS}/policy/detmVers.sh - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d drools-apps - -unset http_proxy https_proxy - -DROOLS_IP=`get-instance-ip.sh drools-apps` -API_IP=`get-instance-ip.sh policy-api` -PAP_IP=`get-instance-ip.sh policy-pap` -XACML_IP=`get-instance-ip.sh policy-xacml-pdp` -SIM_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` -export SIM_IP - -echo DROOLS IP IS ${DROOLS_IP} -echo API IP IS ${API_IP} -echo PAP IP IS ${PAP_IP} -echo XACML IP IS ${XACML_IP} -echo SIMULATORS IP IS ${SIM_IP} - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${DROOLS_IP} 6969 - -# give enough time for the controllers to come up -sleep 15 - -DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR2:${SCR2}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DROOLS_IP:${DROOLS_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v API_IP:${API_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v PAP_IP:${PAP_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v XACML_IP:${XACML_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SIM_IP:${SIM_IP}" diff --git a/plans/policy/drools-applications/teardown.sh b/plans/policy/drools-applications/teardown.sh deleted file mode 100755 index 67de4a1a..00000000 --- a/plans/policy/drools-applications/teardown.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -mkdir -p $WORKSPACE/archives/ -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/drools-applications/testplan.txt b/plans/policy/drools-applications/testplan.txt deleted file mode 100644 index 3878a4e2..00000000 --- a/plans/policy/drools-applications/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/drools-applications diff --git a/plans/policy/drools-pdp/setup.sh b/plans/policy/drools-pdp/setup.sh deleted file mode 100755 index 6b951356..00000000 --- a/plans/policy/drools-pdp/setup.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright 2017-2020 AT&T Intellectual Property. 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 -# -# 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========================================================= - -# OS upgrades - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -# Component Versions - -source ${SCRIPTS}/policy/config/policy-csit.conf - -sudo apt-get -y install libxml2-utils - -source ${SCRIPTS}/policy/detmVers.sh - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d drools - -POLICY_DROOLS_IP=`get-instance-ip.sh drools` -MARIADB_IP=`get-instance-ip.sh mariadb` - -echo DROOLS IP IS ${POLICY_DROOLS_IP} -echo MARIADB IP IS ${MARIADB_IP} - -# wait for the app to start up - looking for telemtry service on port 9696 -${SCRIPTS}/policy/wait_for_port.sh ${POLICY_DROOLS_IP} 9696 - -# give enough time for the controllers to come up -sleep 15 - -ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}" diff --git a/plans/policy/drools-pdp/teardown.sh b/plans/policy/drools-pdp/teardown.sh deleted file mode 100755 index 5a3f16e5..00000000 --- a/plans/policy/drools-pdp/teardown.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# -# Copyright 2017-2020 AT&T Intellectual Property. 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 -# -# 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. -# - -mkdir -p $WORKSPACE/archives/ -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml logs > $WORKSPACE/archives/docker-compose-drools.log -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/drools-pdp/testplan.txt b/plans/policy/drools-pdp/testplan.txt deleted file mode 100644 index ccdc8ff9..00000000 --- a/plans/policy/drools-pdp/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/drools-pdp diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh deleted file mode 100644 index a1d153f8..00000000 --- a/plans/policy/pap/setup.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# Modifications Copyright (C) 2019-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. -# 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========================================================= - -source ${SCRIPTS}/policy/config/policy-csit.conf - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/get-models-examples.sh - -source ${SCRIPTS}/policy/detmVers.sh - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d pap - -unset http_proxy https_proxy - -POLICY_PAP_IP=`get-instance-ip.sh policy-pap` -POLICY_API_IP=`get-instance-ip.sh policy-api` -MARIADB_IP=`get-instance-ip.sh mariadb` - -echo PAP IP IS ${POLICY_PAP_IP} -echo API IP IS ${POLICY_API_IP} -echo MARIADB IP IS ${MARIADB_IP} - - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${POLICY_PAP_IP} 6969 - - -DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}" diff --git a/plans/policy/pap/teardown.sh b/plans/policy/pap/teardown.sh deleted file mode 100644 index cfed2097..00000000 --- a/plans/policy/pap/teardown.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# Modifications Copyright (C) 2019-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. -# 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========================================================= - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/pap/testplan.txt b/plans/policy/pap/testplan.txt deleted file mode 100644 index 6a5aa205..00000000 --- a/plans/policy/pap/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/pap/pap-test.robot diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh deleted file mode 100644 index 6842e634..00000000 --- a/plans/policy/xacml-pdp/setup.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2020-2021 AT&T Intellectual Property. 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 -# -# 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========================================================= - -source ${SCRIPTS}/policy/config/policy-csit.conf - -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -SCR_DMAAP=${SCRIPTS}/policy/drools-apps - -sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/get-models-examples.sh - -source ${SCRIPTS}/policy/detmVers.sh - -docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d xacml-pdp - - -unset http_proxy https_proxy - -POLICY_API_IP=`get-instance-ip.sh policy-api` -MARIADB_IP=`get-instance-ip.sh mariadb` -POLICY_PDPX_IP=`get-instance-ip.sh policy-xacml-pdp` -SIM_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` -POLICY_PAP_IP=`get-instance-ip.sh policy-pap` - -export SIM_IP - -echo PDP IP IS ${POLICY_PDPX_IP} -echo API IP IS ${POLICY_API_IP} -echo PAP IP IS ${POLICY_PAP_IP} -echo MARIADB IP IS ${MARIADB_IP} -echo SIM_IP IS ${SIM_IP} - -# wait for the app to start up -${SCRIPTS}/policy/wait_for_port.sh ${POLICY_PDPX_IP} 6969 - -DATA2=${WORKSPACE}/models/models-examples/src/main/resources/policies - -ROBOT_VARIABLES="" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR_DMAAP:${SCR_DMAAP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA2:${DATA2}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PDPX_IP:${POLICY_PDPX_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}" -ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SIM_IP:${SIM_IP}" diff --git a/plans/policy/xacml-pdp/teardown.sh b/plans/policy/xacml-pdp/teardown.sh deleted file mode 100644 index 6942e353..00000000 --- a/plans/policy/xacml-pdp/teardown.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# Copyright (C) 2019-2020 AT&T Intellectual Property. 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 -# -# 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========================================================= - -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/xacml-pdp/testplan.txt b/plans/policy/xacml-pdp/testplan.txt deleted file mode 100644 index 2b641dfd..00000000 --- a/plans/policy/xacml-pdp/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -policy/xacml-pdp/xacml-pdp-test.robot diff --git a/scripts/policy/config/apex-pdp/OnapPfConfig.json b/scripts/policy/config/apex-pdp/OnapPfConfig.json deleted file mode 100644 index 59ba604d..00000000 --- a/scripts/policy/config/apex-pdp/OnapPfConfig.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name":"OnapPfParameterGroup", - "restServerParameters": { - "host": "0.0.0.0", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34", - "https": true - }, - "pdpStatusParameters":{ - "pdpGroup": "defaultGroup", - "timeIntervalMs": 120000, - "pdpType":"apex", - "description":"Pdp Heartbeat", - "supportedPolicyTypes": [ - { - "name": "onap.policies.controlloop.operational.common.Apex", - "version": "1.0.0" - }, - { - "name": "onap.policies.native.Apex", - "version": "1.0.0" - } - ] - }, - "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps" : true, - "allowSelfSignedCerts" : true - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps" : true, - "allowSelfSignedCerts" : true - }] - } -} diff --git a/scripts/policy/config/db/db.conf b/scripts/policy/config/db/db.conf deleted file mode 100644 index d6764f97..00000000 --- a/scripts/policy/config/db/db.conf +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2019 AT&T Intellectual Property. 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 -# -# 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. -MYSQL_ROOT_PASSWORD=secret -MYSQL_USER=policy_user -MYSQL_PASSWORD=policy_user diff --git a/scripts/policy/config/db/db.sh b/scripts/policy/config/db/db.sh deleted file mode 100755 index 24b04003..00000000 --- a/scripts/policy/config/db/db.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -xv -# Copyright 2019 AT&T Intellectual Property. 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 -# -# 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. - -for db in support onap_sdk log migration operationshistory10 pooling policyadmin operationshistory -do - mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};" - mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;" -done - -mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;" diff --git a/scripts/policy/config/distribution/defaultConfig.json b/scripts/policy/config/distribution/defaultConfig.json deleted file mode 100644 index facee9bc..00000000 --- a/scripts/policy/config/distribution/defaultConfig.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name":"SDCDistributionGroup", - "restServerParameters":{ - "host":"0.0.0.0", - "port":6969, - "userName":"healthcheck", - "password":"zb!XztG34", - "https": true - }, - "receptionHandlerParameters":{ - "FileReceptionHandler":{ - "receptionHandlerType":"File", - "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.file.FileSystemReceptionHandler", - "receptionHandlerConfigurationName":"fileConfiguration", - "pluginHandlerParameters":{ - "policyDecoders":{ - "ApexDecoder":{ - "decoderType":"ApexDecoder", - "decoderClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy", - "decoderConfigurationName": "apexDecoderConfiguration" - } - }, - "policyForwarders":{ - "LifeCycleApiForwarder":{ - "forwarderType":"LifeCycleAPI", - "forwarderClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiPolicyForwarder", - "forwarderConfigurationName": "lifecycleApiConfiguration" - } - } - } - } - }, - "receptionHandlerConfigurationParameters":{ - "fileConfiguration":{ - "parameterClassName":"org.onap.policy.distribution.reception.handling.file.FileSystemReceptionHandlerConfigurationParameterGroup", - "parameters":{ - "watchPath": "/opt/app/policy/distribution/etc/temp/", - "maxThread": 1 - } - } - }, - "policyDecoderConfigurationParameters":{ - "apexDecoderConfiguration":{ - "parameterClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup", - "parameters":{ - "policyFileName": "apex_policy.json", - "policyTypeFileName": "apex_policy_type.json" - } - } - }, - "policyForwarderConfigurationParameters":{ - "lifecycleApiConfiguration":{ - "parameterClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters", - "parameters":{ - "apiParameters": { - "hostName": "policy-api", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34" - }, - "papParameters": { - "hostName": "policy-pap", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34" - }, - "isHttps": true, - "deployPolicies": true - } - } - } -} diff --git a/scripts/policy/config/drools-apps/custom/features.pre.sh b/scripts/policy/config/drools-apps/custom/features.pre.sh deleted file mode 100755 index fd7b5b91..00000000 --- a/scripts/policy/config/drools-apps/custom/features.pre.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# ============LICENSE_START=================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== - -sh -c "features disable distributed-locking" diff --git a/scripts/policy/config/drools-apps/custom/standalone-settings.xml b/scripts/policy/config/drools-apps/custom/standalone-settings.xml deleted file mode 100644 index ebd6dd2a..00000000 --- a/scripts/policy/config/drools-apps/custom/standalone-settings.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - true - - - - - policy-local - - - - file-repository - file:${user.home}/.m2/file-repository - - true - always - - - true - always - - - - - - - - - - policy-local - - - diff --git a/scripts/policy/config/drools-apps/env/base.conf b/scripts/policy/config/drools-apps/env/base.conf deleted file mode 100644 index 673cfaf3..00000000 --- a/scripts/policy/config/drools-apps/env/base.conf +++ /dev/null @@ -1,132 +0,0 @@ -# ============LICENSE_START================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END==================================================== - -# JVM options - -JVM_OPTIONS=-server -Xms512m -Xmx512m - -# SYSTEM software configuration - -DEBUG=y -POLICY_HOME=/opt/app/policy -POLICY_LOGS=/var/log/onap/policy/pdpd -KEYSTORE_PASSWD=Pol1cy_0nap -TRUSTSTORE_PASSWD=Pol1cy_0nap - -# Telemetry credentials - -TELEMETRY_PORT=9696 -TELEMETRY_HOST=0.0.0.0 -TELEMETRY_USER=demo@people.osaaf.org -TELEMETRY_PASSWORD=demo123456! - -# nexus repository - -SNAPSHOT_REPOSITORY_ID= -SNAPSHOT_REPOSITORY_URL= -RELEASE_REPOSITORY_ID= -RELEASE_REPOSITORY_URL= -REPOSITORY_USERNAME= -REPOSITORY_PASSWORD= -REPOSITORY_OFFLINE=true - -# Relational (SQL) DB access - -SQL_HOST=mariadb -SQL_USER=policy_user -SQL_PASSWORD=policy_user - -# AAF - -AAF=false -AAF_NAMESPACE=org.onap.policy -AAF_HOST=aaf.api.simpledemo.onap.org - -# PDP-D DMaaP configuration channel - -PDPD_CONFIGURATION_TOPIC=PDPD-CONFIGURATION -PDPD_CONFIGURATION_API_KEY= -PDPD_CONFIGURATION_API_SECRET= -PDPD_CONFIGURATION_CONSUMER_GROUP= -PDPD_CONFIGURATION_CONSUMER_INSTANCE= -PDPD_CONFIGURATION_PARTITION_KEY= - -# PAP-PDP configuration channel - -POLICY_PDP_PAP_TOPIC=POLICY-PDP-PAP -POLICY_PDP_PAP_API_KEY= -POLICY_PDP_PAP_API_SECRET= - -# PAP - -PAP_HOST=pap -PAP_USERNAME=testpap -PAP_PASSWORD=alpha123 - -# PDP-X - -GUARD_DISABLED=false -PDP_HOST=policy-xacml-pdp -PDP_PORT=6969 -PDP_CONTEXT_URI=policy/pdpx/v1/ -PDP_USERNAME=healthcheck -PDP_PASSWORD=zb!XztG34 -PDP_CLIENT_USERNAME=python -PDP_CLIENT_PASSWORD=test -PDP_ENVIRONMENT=TEST - -# DCAE DMaaP - -DCAE_TOPIC=unauthenticated.DCAE_CL_OUTPUT -DCAE_SERVERS=policy.api.simpledemo.onap.org -DCAE_CONSUMER_GROUP=dcae.policy.shared - -# Open DMaaP - -DMAAP_SERVERS=policy.api.simpledemo.onap.org - -# AAI - -AAI_HOST=policy.api.simpledemo.onap.org -AAI_PORT=6666 -AAI_CONTEXT_URI= -AAI_USERNAME=policy@policy.onap.org -AAI_PASSWORD=demo123456! - -# MSO - -SO_HOST=policy.api.simpledemo.onap.org -SO_PORT=6669 -SO_CONTEXT_URI= -SO_URL=https://policy.api.simpledemo.onap.org:6669/ -SO_USERNAME=InfraPortalClient -SO_PASSWORD=password1$ - -# VFC - -VFC_HOST=policy.api.simpledemo.onap.org -VFC_PORT=6670 -VFC_CONTEXT_URI= -VFC_USERNAME= -VFC_PASSWORD= - -# SDNC - -SDNC_HOST=policy.api.simpledemo.onap.org -SDNC_PORT=6668 -SDNC_CONTEXT_URI= -SDNC_USERNAME= -SDNC_PASSWORD= diff --git a/scripts/policy/config/drools-apps/env/feature-healthcheck.conf b/scripts/policy/config/drools-apps/env/feature-healthcheck.conf deleted file mode 100644 index 1c710547..00000000 --- a/scripts/policy/config/drools-apps/env/feature-healthcheck.conf +++ /dev/null @@ -1,18 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END========================================================= - -HEALTHCHECK_USER=demo@people.osaaf.org -HEALTHCHECK_PASSWORD=demo123456! diff --git a/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf b/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf deleted file mode 100644 index 3808e3d9..00000000 --- a/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf +++ /dev/null @@ -1,17 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END========================================================= - -POOLING_TOPIC=POOLING diff --git a/scripts/policy/config/drools/custom/noop.pre.sh b/scripts/policy/config/drools/custom/noop.pre.sh deleted file mode 100755 index 63bdc4cf..00000000 --- a/scripts/policy/config/drools/custom/noop.pre.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -x -# ============LICENSE_START======================================================= -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END========================================================= - -sed -i "s/^dmaap/noop/g" \ - ${POLICY_HOME}/config/engine.properties \ - ${POLICY_HOME}/config/feature-lifecycle.properties - -chmod 644 ${POLICY_HOME}/config/engine.properties ${POLICY_HOME}/config/feature-lifecycle.properties diff --git a/scripts/policy/config/drools/env/base.conf b/scripts/policy/config/drools/env/base.conf deleted file mode 100644 index 891de49f..00000000 --- a/scripts/policy/config/drools/env/base.conf +++ /dev/null @@ -1,132 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END========================================================= - -# JVM options - -JVM_OPTIONS=-server -Xms512m -Xmx512m - -# SYSTEM software configuration - -DEBUG=y -POLICY_HOME=/opt/app/policy -POLICY_LOGS=/var/log/onap/policy/pdpd -KEYSTORE_PASSWD=Pol1cy_0nap -TRUSTSTORE_PASSWD=Pol1cy_0nap - -# Telemetry credentials - -TELEMETRY_PORT=9696 -TELEMETRY_HOST=0.0.0.0 -TELEMETRY_USER=demo@people.osaaf.org -TELEMETRY_PASSWORD=demo123456! - -# nexus repository - -SNAPSHOT_REPOSITORY_ID=policy-nexus-snapshots -SNAPSHOT_REPOSITORY_URL=http://nexus:8081/nexus/content/repositories/snapshots/ -RELEASE_REPOSITORY_ID=policy-nexus-releases -RELEASE_REPOSITORY_URL=http://nexus:8081/nexus/content/repositories/releases/ -REPOSITORY_USERNAME=admin -REPOSITORY_PASSWORD=admin123 -REPOSITORY_OFFLINE=false - -# Relational (SQL) DB access - -SQL_HOST=mariadb -SQL_USER=policy_user -SQL_PASSWORD=policy_user - -# AAF - -AAF=false -AAF_NAMESPACE=org.onap.policy -AAF_HOST=aaf.api.simpledemo.onap.org - -# PDP-D DMaaP configuration channel - -PDPD_CONFIGURATION_TOPIC=PDPD-CONFIGURATION -PDPD_CONFIGURATION_API_KEY= -PDPD_CONFIGURATION_API_SECRET= -PDPD_CONFIGURATION_CONSUMER_GROUP= -PDPD_CONFIGURATION_CONSUMER_INSTANCE= -PDPD_CONFIGURATION_PARTITION_KEY= - -# PAP-PDP configuration channel - -POLICY_PDP_PAP_TOPIC=POLICY-PDP-PAP -POLICY_PDP_PAP_API_KEY= -POLICY_PDP_PAP_API_SECRET= - -# PAP - -PAP_HOST= -PAP_USERNAME= -PAP_PASSWORD= - -# PDP-X - -PDP_HOST= -PDP_PORT= -PDP_CONTEXT_URI=policy/pdpx/v1/ -PDP_USERNAME= -PDP_PASSWORD= -PDP_CLIENT_USERNAME= -PDP_CLIENT_PASSWORD= -PDP_ENVIRONMENT= -GUARD_DISABLED=false - -# DCAE DMaaP - -DCAE_TOPIC=unauthenticated.DCAE_CL_OUTPUT -DCAE_SERVERS= -DCAE_CONSUMER_GROUP=dcae.policy.shared - -# Open DMaaP - -DMAAP_SERVERS=mr.api.simpledemo.onap.org - -# AAI - -AAI_HOST=aai.api.simpledemo.onap.org -AAI_PORT=8443 -AAI_CONTEXT_URI= -AAI_USERNAME=policy@policy.onap.org -AAI_PASSWORD=demo123456! - -# MSO - -SO_HOST=vm1.mso.simpledemo.onap.org -SO_PORT=8080 -SO_CONTEXT_URI=onap/so/infra/ -SO_URL=http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra -SO_USERNAME=InfraPortalClient -SO_PASSWORD=password1$ - -# VFC - -VFC_HOST= -VFC_PORT= -VFC_CONTEXT_URI=api/nslcm/v1/ -VFC_USERNAME= -VFC_PASSWORD= - -# SDNC - -SDNC_HOST= -SDNC_PORT= -SDNC_CONTEXT_URI=restconf/operations/ -SDNC_USERNAME= -SDNC_PASSWORD= diff --git a/scripts/policy/config/pap/defaultConfig.json b/scripts/policy/config/pap/defaultConfig.json deleted file mode 100644 index 1e47c7e7..00000000 --- a/scripts/policy/config/pap/defaultConfig.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "PapGroup", - "restServerParameters": { - "host": "0.0.0.0", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34", - "https": true, - "aaf": false - }, - "pdpParameters": { - "heartBeatMs": 120000, - "updateParameters": { - "maxRetryCount": 1, - "maxWaitMs": 30000 - }, - "stateChangeParameters": { - "maxRetryCount": 1, - "maxWaitMs": 30000 - } - }, - "databaseProviderParameters": { - "name": "PolicyProviderParameterGroup", - "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl", - "databaseDriver": "org.mariadb.jdbc.Driver", - "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin", - "databaseUser": "policy_user", - "databasePassword": "policy_user", - "persistenceUnit": "PolicyMariaDb" - }, - "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": true, - "allowSelfSignedCerts" : true - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": true, - "allowSelfSignedCerts" : true - }, - { - "topic" : "POLICY-NOTIFICATION", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": true, - "allowSelfSignedCerts" : true - }] - }, - "healthCheckRestClientParameters":[{ - "clientName": "api", - "hostname": "policy-api", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34", - "useHttps": true, - "allowSelfSignedCerts" : true, - "basePath": "policy/api/v1/healthcheck" - }] -} diff --git a/scripts/policy/config/policy-csit.conf b/scripts/policy/config/policy-csit.conf deleted file mode 100644 index 95c14504..00000000 --- a/scripts/policy/config/policy-csit.conf +++ /dev/null @@ -1,7 +0,0 @@ -POLICY_MARIADB_VER=10.2.25 -NEXUS_URL=https://nexus.onap.org/content/repositories/snapshots - -GIT_TOP=$(git rev-parse --show-toplevel) -GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' \ - "${GIT_TOP}"/.gitreview) -echo GERRIT_BRANCH=${GERRIT_BRANCH} diff --git a/scripts/policy/config/sim-all/simParameters.json b/scripts/policy/config/sim-all/simParameters.json deleted file mode 100644 index 4b009b6f..00000000 --- a/scripts/policy/config/sim-all/simParameters.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "dmaapProvider": { - "name": "DMaaP simulator", - "topicSweepSec": 300 - }, - "restServers": [ - { - "name": "DMaaP simulator", - "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", - "host": "0.0.0.0", - "port": 3905, - "https": true - }, - { - "name": "A&AI simulator", - "providerClass": "org.onap.policy.simulators.AaiSimulatorJaxRs", - "host": "0.0.0.0", - "port": 6666, - "https": true, - "userName": "policy@policy.onap.org", - "password": "demo123456!" - }, - { - "name": "SDNC simulator", - "providerClass": "org.onap.policy.simulators.SdncSimulatorJaxRs", - "host": "0.0.0.0", - "port": 6668, - "https": true - }, - { - "name": "SO simulator", - "providerClass": "org.onap.policy.simulators.SoSimulatorJaxRs", - "host": "0.0.0.0", - "port": 6669, - "https": false, - "userName": "InfraPortalClient", - "password": "password1$" - }, - { - "name": "VFC simulator", - "providerClass": "org.onap.policy.simulators.VfcSimulatorJaxRs", - "host": "0.0.0.0", - "port": 6670, - "https": true - } - ], - "topicSinks": [ - { - "topic": "APPC-CL", - "servers": ["${HOST_NAME}"], - "topicCommInfrastructure": "DMAAP", - "useHttps": true, - "apiKey": "some-key", - "apiSecret": "some-secret" - }, - { - "topic": "APPC-LCM-WRITE", - "servers": ["${HOST_NAME}"], - "topicCommInfrastructure": "DMAAP", - "useHttps": true, - "apiKey": "some-key", - "apiSecret": "some-secret" - } - ], - "topicSources": [ - { - "topic": "APPC-CL", - "servers": ["${HOST_NAME}"], - "topicCommInfrastructure": "DMAAP", - "useHttps": true, - "apiKey": "some-key", - "apiSecret": "some-secret" - }, - { - "topic": "APPC-LCM-READ", - "servers": ["${HOST_NAME}"], - "topicCommInfrastructure": "DMAAP", - "useHttps": true, - "apiKey": "some-key", - "apiSecret": "some-secret" - } - ], - "topicServers": [ - { - "name": "APPC Legacy simulator", - "providerClass": "org.onap.policy.simulators.AppcLegacyTopicServer", - "sink": "APPC-CL", - "source": "APPC-CL" - }, - { - "name": "APPC-LCM simulator", - "providerClass": "org.onap.policy.simulators.AppcLcmTopicServer", - "sink": "APPC-LCM-WRITE", - "source": "APPC-LCM-READ" - } - ], - "grpcServer": { - "name": "CDS simulator", - "providerClass": "org.onap.policy.simulators.CdsSimulator", - "host": "0.0.0.0", - "port": 6680, - "timeout": 30, - "username": "ccsdkapps", - "password": "ccsdkapps", - "resourceLocation": "org/onap/policy/simulators/cds/", - "successRepeatCount": 0, - "requestedResponseDelayMs": 0 - } -} diff --git a/scripts/policy/config/xacml-pdp/defaultConfig.json b/scripts/policy/config/xacml-pdp/defaultConfig.json deleted file mode 100644 index f489919a..00000000 --- a/scripts/policy/config/xacml-pdp/defaultConfig.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "XacmlPdpParameters", - "pdpGroup": "defaultGroup", - "pdpType": "xacml", - "restServerParameters": { - "host": "0.0.0.0", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34", - "https": true, - "aaf": false - }, - "policyApiParameters": { - "host": "policy-api", - "port": 6969, - "userName": "healthcheck", - "password": "zb!XztG34", - "https": true, - "aaf": false - }, - "applicationPath": "/opt/app/policy/pdpx/apps", - "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps" : true, - "allowSelfSignedCerts" : true - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "policy.api.simpledemo.onap.org" ], - "topicCommInfrastructure" : "dmaap", - "useHttps" : true, - "allowSelfSignedCerts" : true - }] - } -} diff --git a/scripts/policy/detmVers.sh b/scripts/policy/detmVers.sh deleted file mode 100644 index d37b4792..00000000 --- a/scripts/policy/detmVers.sh +++ /dev/null @@ -1,80 +0,0 @@ -# ============LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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====================================================== - -SCRIPTS="${SCRIPTS-scripts}" - -source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER - -echo POLICY_MARIADB_VER=${POLICY_MARIADB_VER} - -POLICY_MODELS_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/models/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_MODELS_VERSION=${POLICY_MODELS_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_MODELS_VERSION=${POLICY_MODELS_VERSION} - -POLICY_API_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_API_VERSION=${POLICY_API_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_API_VERSION=${POLICY_API_VERSION} - -POLICY_PAP_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_PAP_VERSION=${POLICY_PAP_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_PAP_VERSION=${POLICY_PAP_VERSION} - -POLICY_XACML_PDP_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_XACML_PDP_VERSION=${POLICY_XACML_PDP_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_XACML_PDP_VERSION=${POLICY_XACML_PDP_VERSION} - -POLICY_DROOLS_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/drools-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_DROOLS_VERSION=${POLICY_DROOLS_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_DROOLS_VERSION=${POLICY_DROOLS_VERSION} - -POLICY_DROOLS_APPS_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_DROOLS_APPS_VERSION=${POLICY_DROOLS_APPS_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_DROOLS_APPS_VERSION=${POLICY_DROOLS_APPS_VERSION} - -POLICY_APEX_PDP_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_APEX_PDP_VERSION=${POLICY_APEX_PDP_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_APEX_PDP_VERSION=${POLICY_APEX_PDP_VERSION} - -POLICY_DISTRIBUTION_VERSION=$( - curl -q --silent \ - https://git.onap.org/policy/distribution/plain/pom.xml?h=${GERRIT_BRANCH} | - xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -) -export POLICY_DISTRIBUTION_VERSION=${POLICY_DISTRIBUTION_VERSION:0:3}-SNAPSHOT-latest -echo POLICY_DISTRIBUTION_VERSION=${POLICY_DISTRIBUTION_VERSION} diff --git a/scripts/policy/docker-compose-all.yml b/scripts/policy/docker-compose-all.yml deleted file mode 100644 index 00f76350..00000000 --- a/scripts/policy/docker-compose-all.yml +++ /dev/null @@ -1,190 +0,0 @@ -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# -version: '2' -services: - mariadb: - image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER} - container_name: mariadb - hostname: mariadb - command: ['--lower-case-table-names=1', '--wait_timeout=28800'] - env_file: config/db/db.conf - volumes: - - ./config/db:/docker-entrypoint-initdb.d:ro - expose: - - 3306 - policy.api.simpledemo.onap.org: - image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_VERSION} - container_name: policy.api.simpledemo.onap.org - hostname: policy.api.simpledemo.onap.org - volumes: - - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro - expose: - - 6666 - - 6668 - - 6669 - - 6670 - - 3905 - api: - image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION} - container_name: policy-api - depends_on: - - mariadb - hostname: policy-api - expose: - - 6969 - volumes: - - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro - entrypoint: ./wait_for_port.sh - command: [ - '-c', './policy-api.sh', - 'mariadb', '3306' - ] - pap: - image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION} - container_name: policy-pap - depends_on: - - mariadb - - policy.api.simpledemo.onap.org - - api - hostname: policy-pap - expose: - - 6969 - volumes: - - ./config/pap/defaultConfig.json:/opt/app/policy/pap/etc/defaultConfig.json:ro - - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro - entrypoint: ./wait_for_port.sh - command: [ - '-c', './policy-pap.sh', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905', - 'api', '6969' - ] - xacml-pdp: - image: nexus3.onap.org:10001/onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION} - container_name: policy-xacml-pdp - depends_on: - - mariadb - - policy.api.simpledemo.onap.org - - pap - hostname: policy-xacml-pdp - expose: - - 6969 - volumes: - - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro - - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro - entrypoint: ./wait_for_port.sh - command: [ - '-c', './policy-pdpx.sh', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905', - 'pap', '6969' - ] - drools: - image: nexus3.onap.org:10001/onap/policy-drools:${POLICY_DROOLS_VERSION} - container_name: drools - depends_on: - - mariadb - - policy.api.simpledemo.onap.org - - pap - hostname: drools - expose: - - 6969 - - 9696 - volumes: - - ./config/drools/custom:/tmp/policy-install/config:ro - - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - env_file: - - config/drools/env/base.conf - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905' - ] - drools-apps: - image: nexus3.onap.org:10001/onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION} - container_name: drools-apps - depends_on: - - mariadb - - policy.api.simpledemo.onap.org - - pap - - xacml-pdp - hostname: drools-apps - expose: - - 6969 - - 9696 - volumes: - - ./config/drools-apps/custom:/tmp/policy-install/config:ro - - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - env_file: - - config/drools-apps/env/base.conf - - config/drools-apps/env/feature-healthcheck.conf - - config/drools-apps/env/feature-pooling-dmaap.conf - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905', - 'pap', '6969', - 'policy.api.simpledemo.onap.org', '6666', - 'policy.api.simpledemo.onap.org', '6668', - 'policy.api.simpledemo.onap.org', '6669', - 'policy.api.simpledemo.onap.org', '6670' - ] - apex-pdp: - image: nexus3.onap.org:10001/onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION} - container_name: policy-apex-pdp - depends_on: - - mariadb - - policy.api.simpledemo.onap.org - - pap - hostname: policy-apex-pdp - expose: - - 6969 - - 23324 - volumes: - - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro - - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905', - 'pap', '6969' - ] - distribution: - image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION} - container_name: policy-distribution - depends_on: - - mariadb - - api - - pap - - apex-pdp - hostname: policy-distribution - volumes: - - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro - - ./policy-distribution/config/distribution/temp/:/opt/app/policy/distribution/etc/temp/:ro - - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', './policy-dist.sh', - 'mariadb', '3306', - 'policy.api.simpledemo.onap.org', '3905', - 'pap', '6969', - 'apex-pdp', '6969' - ] diff --git a/scripts/policy/drools-apps/deploy.drools.policies.json b/scripts/policy/drools-apps/deploy.drools.policies.json deleted file mode 100644 index 24c90d0d..00000000 --- a/scripts/policy/drools-apps/deploy.drools.policies.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "groups": [ - { - "name": "defaultGroup", - "deploymentSubgroups": [ - { - "pdpType": "drools", - "action": "POST", - "policies": [ - { - "name": "operational.restart", - "version": "1.0.0" - }, - { - "name": "operational.scaleout", - "version": "1.0.0" - }, - { - "name": "operational.modifyconfig", - "version": "1.0.0" - } - ] - } - ] - } - ] -} diff --git a/scripts/policy/drools-apps/deploy.xacml.policies.json b/scripts/policy/drools-apps/deploy.xacml.policies.json deleted file mode 100644 index 46da9021..00000000 --- a/scripts/policy/drools-apps/deploy.xacml.policies.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "groups": [ - { - "name": "defaultGroup", - "deploymentSubgroups": [ - { - "pdpType": "xacml", - "action": "POST", - "policies": [ - { - "name": "onap.restart.tca", - "version": "1.0.0" - }, - { - "name": "onap.scaleout.tca", - "version": "1.0.0" - }, - { - "name": "onap.vfirewall.tca", - "version": "1.0.0" - } - ] - } - ] - } - ] -} diff --git a/scripts/policy/drools-apps/make_topic.sh b/scripts/policy/drools-apps/make_topic.sh deleted file mode 100755 index 36d43e9d..00000000 --- a/scripts/policy/drools-apps/make_topic.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -# -# Creates a topic, which happens as a side-effect of polling it. -# - -if [ $# -ne 1 ] -then - echo "arg(s): topic-name" >&2 - exit 1 -fi - -topic="${1}" - -curl -s -k "https://${SIM_IP}:3905/events/${topic}/script/1?limit=1&timeout=0" -echo diff --git a/scripts/policy/drools-apps/onset.sh b/scripts/policy/drools-apps/onset.sh deleted file mode 100755 index f2918a68..00000000 --- a/scripts/policy/drools-apps/onset.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -# -# Injects an ONSET event on the DCAE_CL_OUTPUT topic. -# - -if [ $# -ne 1 ] -then - echo "arg(s): json-message-file-name" >&2 - exit 1 -fi - -curl -k -H "Content-type: application/json" --data-binary @$1 \ - https://${SIM_IP}:3905/events/unauthenticated.DCAE_CL_OUTPUT -echo diff --git a/scripts/policy/drools-apps/vcpeOnset.json b/scripts/policy/drools-apps/vcpeOnset.json deleted file mode 100644 index 7dd9d5a0..00000000 --- a/scripts/policy/drools-apps/vcpeOnset.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", - "closedLoopAlarmStart": 1463679805324, - "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", - "closedLoopEventStatus": "ONSET", - "requestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", - "target_type": "VNF", - "target": "generic-vnf.vnf-id", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "vserver.prov-status": "ACTIVE", - "generic-vnf.vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/scripts/policy/drools-apps/vdnsOnset.json b/scripts/policy/drools-apps/vdnsOnset.json deleted file mode 100644 index 13f69095..00000000 --- a/scripts/policy/drools-apps/vdnsOnset.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", - "closedLoopAlarmStart": 1463679805324, - "closedLoopEventClient": "microservice.stringmatcher", - "closedLoopEventStatus": "ONSET", - "requestID": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65", - "target_type": "VNF", - "target": "vserver.vserver-name", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "vserver.prov-status": "ACTIVE", - "vserver.vserver-name": "OzVServer" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/scripts/policy/drools-apps/vfwOnset.json b/scripts/policy/drools-apps/vfwOnset.json deleted file mode 100644 index 7782867a..00000000 --- a/scripts/policy/drools-apps/vfwOnset.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", - "closedLoopAlarmStart": 1463679805324, - "closedLoopEventClient": "microservice.stringmatcher", - "closedLoopEventStatus": "ONSET", - "requestID": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65", - "target_type": "VNF", - "target": "generic-vnf.vnf-name", - "AAI": { - "vserver.is-closed-loop-disabled": "false", - "vserver.prov-status": "ACTIVE", - "generic-vnf.vnf-name": "fw0002vm002fw002", - "vserver.vserver-name": "OzVServer" - }, - "from": "DCAE", - "version": "1.0.2" -} diff --git a/scripts/policy/drools-apps/wait_topic.sh b/scripts/policy/drools-apps/wait_topic.sh deleted file mode 100755 index 4271abc6..00000000 --- a/scripts/policy/drools-apps/wait_topic.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# -# ===========LICENSE_START==================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -# -# Polls a topic for a message. Additional text items can be specified, -# in which case, it discards messages that do not contain all of the -# specified text items. -# -# Exits with a non-zero status if no matching message is received on the -# topic before the timeout. -# - -if [ $# -lt 1 ] -then - echo "arg(s): topic-name [text-to-match1 [text-to-match2 ...]]" >&2 - exit 1 -fi - -topic="${1}" -shift - -matched=no - -while [ ${matched} = "no" ] -do - msg=`curl -s -k "https://${SIM_IP}:3905/events/${topic}/script/1?limit=1"` - if [ $? -ne 0 -o "${msg}" = "[]" ] - then - echo not found >&2 - exit 2 - fi - - matched=yes - for text in "$@" - do - echo "${msg}" | grep -q "${text}" - if [ $? -ne 0 ] - then - matched=no - break - fi - done -done - -echo "${msg}" diff --git a/scripts/policy/get-models-examples.sh b/scripts/policy/get-models-examples.sh deleted file mode 100644 index 1860511e..00000000 --- a/scripts/policy/get-models-examples.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START=================================================== -# Copyright (C) 2020 AT&T Intellectual Property. 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 -# -# 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. -# ============LICENSE_END===================================================== -# - -source ${SCRIPTS}/policy/config/policy-csit.conf - -rm -rf ${WORKSPACE}/models -mkdir ${WORKSPACE}/models -cd ${WORKSPACE} - -# download models examples -git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH} diff --git a/scripts/policy/policy-distribution/config/distribution/csar/sample_csar_with_apex_policy.csar b/scripts/policy/policy-distribution/config/distribution/csar/sample_csar_with_apex_policy.csar deleted file mode 100644 index 4d293e42e9499ad69261bf94a41f0fe898262a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96868 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

p5$8|74Cjlg%(|mZEzykd@&6 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 diff --git a/scripts/policy/wait_for_port.sh b/scripts/policy/wait_for_port.sh deleted file mode 100755 index 1d2f5155..00000000 --- a/scripts/policy/wait_for_port.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -tmout=120 -cmd= -while getopts c:t: opt; do - case "$opt" in - c) cmd="$OPTARG" ;; - t) tmout="$OPTARG" ;; - esac -done -nargs=$(expr $OPTIND - 1) -shift $nargs - -even_args=$(expr $# % 2) -if [ $# -lt 2 -o $even_args -ne 0 ]; then - echo "args: [-t timeout] [-c command] hostname1 port1 hostname2 port2 ..." >&2 - exit 1 -fi - -while [ $# -ge 2 ]; do - export host=$1 - export port=$2 - shift - shift - - echo "Waiting for $host port $port..." - timeout $tmout sh -c 'until nc -vz "$host" "$port"; do echo -n "."; - sleep 1; done' - rc=$? - - if [ $rc != 0 ]; then - echo "$host port $port cannot be reached" - exit $rc - fi -done - -$cmd - -exit 0 diff --git a/tests/policy/apex-pdp/apex-pdp-test.robot b/tests/policy/apex-pdp/apex-pdp-test.robot deleted file mode 100644 index 54838a39..00000000 --- a/tests/policy/apex-pdp/apex-pdp-test.robot +++ /dev/null @@ -1,58 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json - -*** Test Cases *** - -Healthcheck - [Documentation] Runs Apex PDP Health check - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${APEX_IP}:6969 - ${session}= Create Session policy https://${APEX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/apex-pdp/v1/healthcheck headers=${headers} - Log Received response from policy1 ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -ExecuteApexPolicy - Wait Until Keyword Succeeds 2 min 5 sec CreatePolicy - Wait Until Keyword Succeeds 2 min 5 sec DeployPolicy - Wait Until Keyword Succeeds 4 min 10 sec RunEventOnApexEngine - -*** Keywords *** - -CreatePolicy - [Documentation] Create a new Apex policy - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policies.native.Apex.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from policy4 ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()} tosca_definitions_version - Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version - -DeployPolicy - [Documentation] Deploy the policy in apex-pdp engine - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/pdp_update.json - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} - Log Received response from policy5 ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 202 - -RunEventOnApexEngine - Create Session apexSession http://${APEX_IP}:23324 max_retries=1 - ${data}= Get Binary File ${CURDIR}${/}data${/}event.json - &{headers}= Create Dictionary Content-Type=application/json Accept=application/json - ${resp}= Put Request apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 diff --git a/tests/policy/apex-pdp/data/event.json b/tests/policy/apex-pdp/data/event.json deleted file mode 100644 index 9dbf2790..00000000 --- a/tests/policy/apex-pdp/data/event.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "nameSpace": "org.onap.policy.apex.sample.events", - "name": "Event0000", - "version": "0.0.1", - "source": "REST_0", - "target": "apex", - "TestSlogan": "Test slogan for External Event0", - "TestMatchCase": 3, - "TestTimestamp": 1536363522018, - "TestTemperature": 9080.866 -} diff --git a/tests/policy/apex-pdp/data/onap.policies.native.Apex.tosca.json b/tests/policy/apex-pdp/data/onap.policies.native.Apex.tosca.json deleted file mode 100644 index d90ae08d..00000000 --- a/tests/policy/apex-pdp/data/onap.policies.native.Apex.tosca.json +++ /dev/null @@ -1,7436 +0,0 @@ -{ - "tosca_definitions_version": "tosca_simple_yaml_1_1_0", - "topology_template": { - "policies": [ - { - "onap.policies.native.apex.Sampledomain": { - "type": "onap.policies.native.Apex", - "type_version": "1.0.0", - "version": "1.0.0", - "name": "onap.policies.native.apex.Sampledomain", - "properties": { - "engineServiceParameters": { - "name": "MyApexEngine", - "version": "0.0.1", - "id": 45, - "instanceCount": 4, - "deploymentPort": 12561, - "policy_type_impl": { - "apexPolicyModel": { - "key": { - "name": "SamplePolicyModelJAVASCRIPT", - "version": "0.0.1" - }, - "keyInformation": { - "key": { - "name": "KeyInformation", - "version": "0.0.1" - }, - "keyInfoMap": { - "entry": [ - { - "key": { - "name": "Context", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Context", - "version": "0.0.1" - }, - "UUID": "ca36bfd8-6042-3633-8c85-89c66507c3bf", - "description": "Generated description for concept referred to by key \"Context:0.0.1\"" - } - }, - { - "key": { - "name": "Event0000", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0000", - "version": "0.0.1" - }, - "UUID": "465a81cc-885f-3a4d-bc4e-1508da92b236", - "description": "Generated description for concept referred to by key \"Event0000:0.0.1\"" - } - }, - { - "key": { - "name": "Event0001", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0001", - "version": "0.0.1" - }, - "UUID": "36b2d570-fff7-3a4b-bab2-6bf492f5129a", - "description": "Generated description for concept referred to by key \"Event0001:0.0.1\"" - } - }, - { - "key": { - "name": "Event0002", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0002", - "version": "0.0.1" - }, - "UUID": "ff6160a7-fb5e-379c-a6d2-2cd28053eacf", - "description": "Generated description for concept referred to by key \"Event0002:0.0.1\"" - } - }, - { - "key": { - "name": "Event0003", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0003", - "version": "0.0.1" - }, - "UUID": "5899e216-2abf-3781-abc4-2c257b92721e", - "description": "Generated description for concept referred to by key \"Event0003:0.0.1\"" - } - }, - { - "key": { - "name": "Event0004", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0004", - "version": "0.0.1" - }, - "UUID": "7c2692a7-4587-3d09-abf9-d96b339a316f", - "description": "Generated description for concept referred to by key \"Event0004:0.0.1\"" - } - }, - { - "key": { - "name": "Event0100", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0100", - "version": "0.0.1" - }, - "UUID": "b696048c-c0b0-34c1-8dbe-32ab6c8bc0c7", - "description": "Generated description for concept referred to by key \"Event0100:0.0.1\"" - } - }, - { - "key": { - "name": "Event0101", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0101", - "version": "0.0.1" - }, - "UUID": "edbfa868-2ab2-30fd-8078-4c7f67ca6122", - "description": "Generated description for concept referred to by key \"Event0101:0.0.1\"" - } - }, - { - "key": { - "name": "Event0102", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0102", - "version": "0.0.1" - }, - "UUID": "6b6ad2ff-ef63-3f7b-aabb-fba44f8de9d4", - "description": "Generated description for concept referred to by key \"Event0102:0.0.1\"" - } - }, - { - "key": { - "name": "Event0103", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0103", - "version": "0.0.1" - }, - "UUID": "c2550912-10d9-3000-8826-377288cd6cb1", - "description": "Generated description for concept referred to by key \"Event0103:0.0.1\"" - } - }, - { - "key": { - "name": "Event0104", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0104", - "version": "0.0.1" - }, - "UUID": "f6d75b71-c8a7-3337-a121-88d68c389f5a", - "description": "Generated description for concept referred to by key \"Event0104:0.0.1\"" - } - }, - { - "key": { - "name": "Events", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Events", - "version": "0.0.1" - }, - "UUID": "0215644c-4531-375c-8335-d558b4de8c03", - "description": "Generated description for concept referred to by key \"Events:0.0.1\"" - } - }, - { - "key": { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - "UUID": "976a79e7-5c80-3c03-9503-da3f41fec395", - "description": "Generated description for concept referred to by key \"ExternalContextAlbum:0.0.1\"" - } - }, - { - "key": { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - "UUID": "c95e9e5f-d2c7-3ac7-a205-ea3574530cb7", - "description": "Generated description for concept referred to by key \"GlobalContextAlbum:0.0.1\"" - } - }, - { - "key": { - "name": "KeyInformation", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "KeyInformation", - "version": "0.0.1" - }, - "UUID": "1ff2f905-685c-3caf-95bc-0bbc90345888", - "description": "Generated description for concept referred to by key \"KeyInformation:0.0.1\"" - } - }, - { - "key": { - "name": "Policies", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policies", - "version": "0.0.1" - }, - "UUID": "f54c3b2b-be76-31c4-adfc-87c494c06808", - "description": "Generated description for concept referred to by key \"Policies:0.0.1\"" - } - }, - { - "key": { - "name": "Policy0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy0", - "version": "0.0.1" - }, - "UUID": "3410e939-30ca-32c4-a2d8-c30b6fee6eec", - "description": "Generated description for concept referred to by key \"Policy0:0.0.1\"" - } - }, - { - "key": { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - "UUID": "e27564c4-3cbf-3db2-9bf3-83ae80a2f907", - "description": "Generated description for concept referred to by key \"Policy0ContextAlbum:0.0.1\"" - } - }, - { - "key": { - "name": "Policy1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy1", - "version": "0.0.1" - }, - "UUID": "d0b2b585-f344-33b8-af9e-250e7f4cfbce", - "description": "Generated description for concept referred to by key \"Policy1:0.0.1\"" - } - }, - { - "key": { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - }, - "UUID": "815d74ae-6fc0-3221-87b9-2bb1dfdfa7f0", - "description": "Generated description for concept referred to by key \"Policy1ContextAlbum:0.0.1\"" - } - }, - { - "key": { - "name": "SamplePolicyModelJAVASCRIPT", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "SamplePolicyModelJAVASCRIPT", - "version": "0.0.1" - }, - "UUID": "bc8ee312-81ce-3c4a-92d5-4a73b8077148", - "description": "Generated description for concept referred to by key \"SamplePolicyModelJAVASCRIPT:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "UUID": "0589ff20-adcc-3ce5-95fe-8d7978ed54ed", - "description": "Generated description for concept referred to by key \"Task_Act0:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "UUID": "095b126d-ca8b-32c9-ad52-d744e817a79c", - "description": "Generated description for concept referred to by key \"Task_Act1:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "UUID": "3d786b4c-d9ee-3367-ab71-c67271a4ea2f", - "description": "Generated description for concept referred to by key \"Task_Act2:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "UUID": "9231753e-20c5-3436-982f-9100340cc570", - "description": "Generated description for concept referred to by key \"Task_Act3:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "UUID": "502383d3-483f-3a56-a426-2f0406674c8d", - "description": "Generated description for concept referred to by key \"Task_Decide0:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "UUID": "16598106-41c8-3b5a-99c6-5fcf6d1a5ddf", - "description": "Generated description for concept referred to by key \"Task_Decide1:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "UUID": "ad3a89f5-e369-3c66-b22c-669f7b3653b8", - "description": "Generated description for concept referred to by key \"Task_Decide2:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "UUID": "56815939-1164-3867-9ed1-0a27ff8aafb3", - "description": "Generated description for concept referred to by key \"Task_Decide3:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "UUID": "0db0c566-ecd7-3e27-9865-4b82c893abdb", - "description": "Generated description for concept referred to by key \"Task_Establish0:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "UUID": "6944a4c1-6201-317c-8d7e-eaa7f2ee0ea0", - "description": "Generated description for concept referred to by key \"Task_Establish1:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "UUID": "0f766ea9-11cd-3e7d-a8c8-28c8dee6a85a", - "description": "Generated description for concept referred to by key \"Task_Establish2:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "UUID": "c3237a38-cc6d-3418-b1e1-0dc8b4bdcc66", - "description": "Generated description for concept referred to by key \"Task_Establish3:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "UUID": "051bcfd5-cf73-3c89-8ee7-ea6e005ec059", - "description": "Generated description for concept referred to by key \"Task_Match0:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "UUID": "3754fe19-98f2-34a1-9f45-db31052208d8", - "description": "Generated description for concept referred to by key \"Task_Match1:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "UUID": "8c200709-a180-3c8b-916f-275ff49ce194", - "description": "Generated description for concept referred to by key \"Task_Match2:0.0.1\"" - } - }, - { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "UUID": "a1a879c6-4510-33b0-bbd0-ad6256189a37", - "description": "Generated description for concept referred to by key \"Task_Match3:0.0.1\"" - } - }, - { - "key": { - "name": "Tasks", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Tasks", - "version": "0.0.1" - }, - "UUID": "a7fab96b-ce1c-37ce-bbb2-556b6db524a5", - "description": "Generated description for concept referred to by key \"Tasks:0.0.1\"" - } - }, - { - "key": { - "name": "TestCase", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestCase", - "version": "0.0.1" - }, - "UUID": "0a652886-c88d-3f8c-8994-ae9161e7c963", - "description": "Generated description for concept referred to by key \"TestCase:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem000", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem000", - "version": "0.0.1" - }, - "UUID": "8efba9fa-371e-33df-a7d6-88b0284e7fd0", - "description": "Generated description for concept referred to by key \"TestContextItem000:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem001", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem001", - "version": "0.0.1" - }, - "UUID": "3740077c-a2b3-356b-81dc-5ded2118a951", - "description": "Generated description for concept referred to by key \"TestContextItem001:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem002", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem002", - "version": "0.0.1" - }, - "UUID": "b5c7df95-9af5-322f-9ea8-eb440a2bf926", - "description": "Generated description for concept referred to by key \"TestContextItem002:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem003", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem003", - "version": "0.0.1" - }, - "UUID": "b36f0aa5-0fb9-3e2c-8fa2-fddb7fd05f4b", - "description": "Generated description for concept referred to by key \"TestContextItem003:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem004", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem004", - "version": "0.0.1" - }, - "UUID": "093cda11-eaeb-3a46-a5b6-d5e30c00935b", - "description": "Generated description for concept referred to by key \"TestContextItem004:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem005", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem005", - "version": "0.0.1" - }, - "UUID": "569a758d-ba40-37c0-aebb-7ad138df25ac", - "description": "Generated description for concept referred to by key \"TestContextItem005:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem006", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem006", - "version": "0.0.1" - }, - "UUID": "252818d9-b61f-3962-a905-8865fb00fb04", - "description": "Generated description for concept referred to by key \"TestContextItem006:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem007", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem007", - "version": "0.0.1" - }, - "UUID": "fe1a5f7c-c083-377b-a797-752b01fc6c73", - "description": "Generated description for concept referred to by key \"TestContextItem007:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem008", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem008", - "version": "0.0.1" - }, - "UUID": "aa87d007-d07e-3f67-8c6d-0ebc3d85479d", - "description": "Generated description for concept referred to by key \"TestContextItem008:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem009", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem009", - "version": "0.0.1" - }, - "UUID": "126e7a3a-11b6-3f88-9397-c21d8819f859", - "description": "Generated description for concept referred to by key \"TestContextItem009:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem00A", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00A", - "version": "0.0.1" - }, - "UUID": "0e0e3dec-e03d-3379-a87b-1ecd4aa3d8cc", - "description": "Generated description for concept referred to by key \"TestContextItem00A:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem00B", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00B", - "version": "0.0.1" - }, - "UUID": "dbdc98df-3ff4-360c-b8d3-a7a836ac3de6", - "description": "Generated description for concept referred to by key \"TestContextItem00B:0.0.1\"" - } - }, - { - "key": { - "name": "TestContextItem00C", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00C", - "version": "0.0.1" - }, - "UUID": "32a2f355-77f3-3b25-ace6-7a9c5763a5ad", - "description": "Generated description for concept referred to by key \"TestContextItem00C:0.0.1\"" - } - }, - { - "key": { - "name": "TestDatatypes", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestDatatypes", - "version": "0.0.1" - }, - "UUID": "3f95472c-973e-30e2-95f1-bf00cbef909a", - "description": "Generated description for concept referred to by key \"TestDatatypes:0.0.1\"" - } - }, - { - "key": { - "name": "TestExternalContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestExternalContextItem", - "version": "0.0.1" - }, - "UUID": "610dbbd4-9149-3b3c-9af4-819056f0e169", - "description": "Generated description for concept referred to by key \"TestExternalContextItem:0.0.1\"" - } - }, - { - "key": { - "name": "TestGlobalContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestGlobalContextItem", - "version": "0.0.1" - }, - "UUID": "07fa8f68-55f1-3fd0-81c1-749a379753a7", - "description": "Generated description for concept referred to by key \"TestGlobalContextItem:0.0.1\"" - } - }, - { - "key": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - }, - "UUID": "d9c93cd1-539e-35c5-aaec-bb711ceb1251", - "description": "Generated description for concept referred to by key \"TestPolicyContextItem:0.0.1\"" - } - }, - { - "key": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "UUID": "683fe492-7eae-3ac7-9924-bb7850208d05", - "description": "Generated description for concept referred to by key \"TestSlogan:0.0.1\"" - } - }, - { - "key": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "UUID": "bba25b6f-e3cd-3060-9022-4ef3a79f8eb0", - "description": "Generated description for concept referred to by key \"TestTemperature:0.0.1\"" - } - }, - { - "key": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "UUID": "97b73937-c344-33c0-924c-4d26b6449564", - "description": "Generated description for concept referred to by key \"TestTimestamp:0.0.1\"" - } - } - ] - } - }, - "policies": { - "key": { - "name": "Policies", - "version": "0.0.1" - }, - "policyMap": { - "entry": [ - { - "key": { - "name": "Policy0", - "version": "0.0.1" - }, - "value": { - "policyKey": { - "name": "Policy0", - "version": "0.0.1" - }, - "template": "MEDA", - "state": { - "entry": [ - { - "key": "Act", - "value": { - "stateKey": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Act" - }, - "trigger": { - "name": "Event0003", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Act_NULL", - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - }, - "outgoingEvent": { - "name": "Event0004", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "NULL", - "parentKeyVersion": "0.0.0", - "parentLocalName": "NULL", - "localName": "NULL" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act0_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act1_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act2_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act3_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - } - ] - } - } - }, - { - "key": "Decide", - "value": { - "stateKey": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Decide" - }, - "trigger": { - "name": "Event0002", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Decide_Act", - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - }, - "outgoingEvent": { - "name": "Event0003", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Act" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide0_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide1_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide2_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide3_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - } - ] - } - } - }, - { - "key": "Establish", - "value": { - "stateKey": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Establish" - }, - "trigger": { - "name": "Event0001", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Establish_Decide", - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - }, - "outgoingEvent": { - "name": "Event0002", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Decide" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish0_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish1_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish2_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish3_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - } - ] - } - } - }, - { - "key": "Match", - "value": { - "stateKey": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Match" - }, - "trigger": { - "name": "Event0000", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Match_Establish", - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - }, - "outgoingEvent": { - "name": "Event0001", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Establish" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match0_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match1_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match2_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match3_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - } - ] - } - } - } - ] - }, - "firstState": "Match" - } - }, - { - "key": { - "name": "Policy1", - "version": "0.0.1" - }, - "value": { - "policyKey": { - "name": "Policy1", - "version": "0.0.1" - }, - "template": "MEDA", - "state": { - "entry": [ - { - "key": "Act", - "value": { - "stateKey": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Act" - }, - "trigger": { - "name": "Event0103", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Act_NULL", - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - }, - "outgoingEvent": { - "name": "Event0104", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "NULL", - "parentKeyVersion": "0.0.0", - "parentLocalName": "NULL", - "localName": "NULL" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act0_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act1_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act2_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - }, - { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Task_Act3_DIRECT_Act_NULL" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Act", - "localName": "Act_NULL" - } - } - } - ] - } - } - }, - { - "key": "Decide", - "value": { - "stateKey": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Decide" - }, - "trigger": { - "name": "Event0102", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Decide_Act", - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - }, - "outgoingEvent": { - "name": "Event0103", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Act" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide0_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide1_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide2_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - }, - { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Task_Decide3_DIRECT_Decide_Act" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Decide", - "localName": "Decide_Act" - } - } - } - ] - } - } - }, - { - "key": "Establish", - "value": { - "stateKey": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Establish" - }, - "trigger": { - "name": "Event0101", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Establish_Decide", - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - }, - "outgoingEvent": { - "name": "Event0102", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Decide" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish0_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish1_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish2_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - }, - { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Task_Establish3_DIRECT_Establish_Decide" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Establish", - "localName": "Establish_Decide" - } - } - } - ] - } - } - }, - { - "key": "Match", - "value": { - "stateKey": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Match" - }, - "trigger": { - "name": "Event0100", - "version": "0.0.1" - }, - "stateOutputs": { - "entry": [ - { - "key": "Match_Establish", - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - }, - "outgoingEvent": { - "name": "Event0101", - "version": "0.0.1" - }, - "nextState": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Establish" - } - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskSelectionLogic": { - "key": "TaskSelectionLigic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\ntrue;" - }, - "stateFinalizerLogicMap": { - "entry": [] - }, - "defaultTask": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "taskReferences": { - "entry": [ - { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match0_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match1_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match2_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - }, - { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "value": { - "key": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Task_Match3_DIRECT_Match_Establish" - }, - "outputType": "DIRECT", - "output": { - "parentKeyName": "Policy1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "Match", - "localName": "Match_Establish" - } - } - } - ] - } - } - } - ] - }, - "firstState": "Match" - } - } - ] - } - }, - "tasks": { - "key": { - "name": "Tasks", - "version": "0.0.1" - }, - "taskMap": { - "entry": [ - { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act0", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Act0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Act0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - }, - { - "key": "Parameter2", - "value": { - "key": { - "parentKeyName": "Task_Act0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter2" - }, - "defaultValue": "DefaultValue2" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act1", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Act1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Act1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act2", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Act2", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Act3", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Act3", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide0", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Decide0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Decide0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - }, - { - "key": "Parameter2", - "value": { - "key": { - "parentKeyName": "Task_Decide0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter2" - }, - "defaultValue": "DefaultValue2" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide1", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Decide1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Decide1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide2", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Decide2", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Decide3", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Decide3", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish0", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Establish0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Establish0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - }, - { - "key": "Parameter2", - "value": { - "key": { - "parentKeyName": "Task_Establish0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter2" - }, - "defaultValue": "DefaultValue2" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish1", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Establish1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Establish1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish2", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Establish2", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Establish3", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Establish3", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match0", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Match0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Match0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - }, - { - "key": "Parameter2", - "value": { - "key": { - "parentKeyName": "Task_Match0", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter2" - }, - "defaultValue": "DefaultValue2" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match1", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Match1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - }, - { - "key": "Parameter1", - "value": { - "key": { - "parentKeyName": "Task_Match1", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter1" - }, - "defaultValue": "DefaultValue1" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match2", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Match2", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - }, - { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Task_Match3", - "version": "0.0.1" - }, - "inputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "outputFields": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - }, - "taskParameters": { - "entry": [ - { - "key": "Parameter0", - "value": { - "key": { - "parentKeyName": "Task_Match3", - "parentKeyVersion": "0.0.1", - "parentLocalName": "NULL", - "localName": "Parameter0" - }, - "defaultValue": "DefaultValue0" - } - } - ] - }, - "contextAlbumReference": [ - { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - { - "name": "GlobalContextAlbum", - "version": "0.0.1" - } - ], - "taskLogic": { - "key": "_TaskLogic", - "logicFlavour": "JAVASCRIPT", - "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = java.lang.Byte;\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = java.util.Date;\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\ntrue;" - } - } - } - ] - } - }, - "events": { - "key": { - "name": "Events", - "version": "0.0.1" - }, - "eventMap": { - "entry": [ - { - "key": { - "name": "Event0000", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0000", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Outside", - "target": "Match", - "parameter": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0001", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0001", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Match", - "target": "Establish", - "parameter": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0002", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0002", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Establish", - "target": "Decide", - "parameter": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0003", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0003", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Decide", - "target": "Act", - "parameter": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0004", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0004", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Act", - "target": "Outside", - "parameter": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0100", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0100", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Outside", - "target": "Match", - "parameter": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0101", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0101", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Match", - "target": "Establish", - "parameter": { - "entry": [ - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0102", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0102", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Establish", - "target": "Decide", - "parameter": { - "entry": [ - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0103", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0103", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Decide", - "target": "Act", - "parameter": { - "entry": [ - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - }, - { - "key": { - "name": "Event0104", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Event0104", - "version": "0.0.1" - }, - "nameSpace": "org.onap.policy.apex.sample.events", - "source": "Act", - "target": "Outside", - "parameter": { - "entry": [ - { - "key": "TestActCaseSelected", - "value": { - "key": "TestActCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestActStateTime", - "value": { - "key": "TestActStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideCaseSelected", - "value": { - "key": "TestDecideCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestDecideStateTime", - "value": { - "key": "TestDecideStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishCaseSelected", - "value": { - "key": "TestEstablishCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestEstablishStateTime", - "value": { - "key": "TestEstablishStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCase", - "value": { - "key": "TestMatchCase", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchCaseSelected", - "value": { - "key": "TestMatchCaseSelected", - "fieldSchemaKey": { - "name": "TestCase", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestMatchStateTime", - "value": { - "key": "TestMatchStateTime", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestSlogan", - "value": { - "key": "TestSlogan", - "fieldSchemaKey": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTemperature", - "value": { - "key": "TestTemperature", - "fieldSchemaKey": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "optional": false - } - }, - { - "key": "TestTimestamp", - "value": { - "key": "TestTimestamp", - "fieldSchemaKey": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "optional": false - } - } - ] - } - } - } - ] - } - }, - "albums": { - "key": { - "name": "Context", - "version": "0.0.1" - }, - "albums": { - "entry": [ - { - "key": { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "ExternalContextAlbum", - "version": "0.0.1" - }, - "scope": "EXTERNAL", - "isWritable": false, - "itemSchema": { - "name": "TestExternalContextItem", - "version": "0.0.1" - } - } - }, - { - "key": { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "GlobalContextAlbum", - "version": "0.0.1" - }, - "scope": "GLOBAL", - "isWritable": true, - "itemSchema": { - "name": "TestGlobalContextItem", - "version": "0.0.1" - } - } - }, - { - "key": { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy0ContextAlbum", - "version": "0.0.1" - }, - "scope": "APPLICATION", - "isWritable": true, - "itemSchema": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - } - } - }, - { - "key": { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "Policy1ContextAlbum", - "version": "0.0.1" - }, - "scope": "APPLICATION", - "isWritable": true, - "itemSchema": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - } - } - } - ] - } - }, - "schemas": { - "key": { - "name": "TestDatatypes", - "version": "0.0.1" - }, - "schemas": { - "entry": [ - { - "key": { - "name": "TestCase", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestCase", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "java.lang.Byte" - } - }, - { - "key": { - "name": "TestContextItem000", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem000", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem000" - } - }, - { - "key": { - "name": "TestContextItem001", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem001", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem001" - } - }, - { - "key": { - "name": "TestContextItem002", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem002", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem002" - } - }, - { - "key": { - "name": "TestContextItem003", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem003", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem003" - } - }, - { - "key": { - "name": "TestContextItem004", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem004", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem004" - } - }, - { - "key": { - "name": "TestContextItem005", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem005", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem005" - } - }, - { - "key": { - "name": "TestContextItem006", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem006", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem006" - } - }, - { - "key": { - "name": "TestContextItem007", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem007", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem007" - } - }, - { - "key": { - "name": "TestContextItem008", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem008", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem008" - } - }, - { - "key": { - "name": "TestContextItem009", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem009", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem009" - } - }, - { - "key": { - "name": "TestContextItem00A", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00A", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00A" - } - }, - { - "key": { - "name": "TestContextItem00B", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00B", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00B" - } - }, - { - "key": { - "name": "TestContextItem00C", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestContextItem00C", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00C" - } - }, - { - "key": { - "name": "TestExternalContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestExternalContextItem", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestExternalContextItem" - } - }, - { - "key": { - "name": "TestGlobalContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestGlobalContextItem", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem" - } - }, - { - "key": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestPolicyContextItem", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem" - } - }, - { - "key": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestSlogan", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "java.lang.String" - } - }, - { - "key": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestTemperature", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "java.lang.Double" - } - }, - { - "key": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "value": { - "key": { - "name": "TestTimestamp", - "version": "0.0.1" - }, - "schemaFlavour": "Java", - "schemaDefinition": "java.lang.Long" - } - } - ] - } - } - } - }, - "engineParameters": { - "executorParameters": { - "JAVASCRIPT": { - "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" - } - } - } - }, - "eventInputParameters": { - "FirstConsumer": { - "carrierTechnologyParameters": { - "carrierTechnology": "RESTSERVER", - "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RestServerCarrierTechnologyParameters", - "parameters": { - "standalone": true, - "host": "0.0.0.0", - "port": 23324 - } - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - }, - "synchronousMode": true, - "synchronousPeer": "FirstProducer", - "synchronousTimeout": 2000 - } - }, - "eventOutputParameters": { - "FirstProducer": { - "carrierTechnologyParameters": { - "carrierTechnology": "RESTSERVER", - "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RestServerCarrierTechnologyParameters" - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - }, - "synchronousMode": true, - "synchronousPeer": "FirstConsumer", - "synchronousTimeout": 2000 - } - } - } - } - } - ] - } -} diff --git a/tests/policy/apex-pdp/data/pdp_update.json b/tests/policy/apex-pdp/data/pdp_update.json deleted file mode 100644 index 51c3573d..00000000 --- a/tests/policy/apex-pdp/data/pdp_update.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "groups": [ - { - "name": "defaultGroup", - "deploymentSubgroups": [ - { - "pdpType": "apex", - "action": "POST", - "policies": [{ - "name": "onap.policies.native.apex.Sampledomain", - "version": "1.0.0" - }] - } - ] - } - ] -} diff --git a/tests/policy/api/api-test.robot b/tests/policy/api/api-test.robot deleted file mode 100644 index 2f5c6972..00000000 --- a/tests/policy/api/api-test.robot +++ /dev/null @@ -1,204 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json - -*** Test Cases *** -Healthcheck - [Documentation] Runs Policy Api Health check - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/healthcheck headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -Statistics - [Documentation] Runs Policy Api Statistics - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -RetrievePolicyTypes - [Documentation] Gets Policy Types - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/policytypes headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['version']} 1.0.0 - -CreateTCAPolicyTypeV1 - [Documentation] Create TCA Policy Type Version 1. Trying to create an existing policy type with any change and same version should cause error. - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.tcagen2.v1.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 406 - -CreateTCAPolicyTypeV2 - [Documentation] Create TCA Policy Type Version 2 - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.tcagen2.v2.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - ${postjsonobject} To Json ${postjson} - Dictionary Should Contain Key ${resp.json()} tosca_definitions_version - Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version - -RetrieveMonitoringPolicyTypes - [Documentation] Retrieve Monitoring related Policy Types - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/policytypes/onap.policies.Monitoring headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - List Should Contain Value ${resp.json()['policy_types']} onap.policies.Monitoring - - -CreateNewMonitoringPolicyV1 - [Documentation] Create a new Monitoring TCA policy version 1 - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca - Dictionary Should Contain Key ${postjsonobject['topology_template']['policies'][0]} onap.restart.tca - -SimpleCreateNewMonitoringPolicyV1 - [Documentation] Create a new Monitoring TCA policiy version 1 using simple endpoint. Trying to create an existing policy with any change and same version should cause error. - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.v1_2.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 406 - -SimpleCreateNewMonitoringPolicyV2 - [Documentation] Create a new Monitoring TCA policiy version 2 using simple endpoint - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.v2.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca - Dictionary Should Contain Key ${postjsonobject['topology_template']['policies'][0]} onap.restart.tca - -RetrievePoliciesOfType - [Documentation] Retrieve all Policies Created for a specific Policy Type - ${auth}= Create List healthcheck zb!XztG34 - ${expjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies headers=${headers} - Log Received response from policy ${resp.text} - ${expjsonobject} To Json ${expjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca - Dictionary Should Contain Key ${expjsonobject['topology_template']['policies'][0]} onap.restart.tca - -RetrieveAllPolicies - [Documentation] Retrieve all Policies - ${auth}= Create List healthcheck zb!XztG34 - ${expjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/policies headers=${headers} - Log Received response from policy ${resp.text} - ${expjsonobject} To Json ${expjson} - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${expjsonobject['topology_template']['policies'][0]} onap.restart.tca - -RetrieveSpecificPolicy - [Documentation] Retrieve a specific Policy named 'onap.restart.tca' and version '1.0.0' - ${auth}= Create List healthcheck zb!XztG34 - ${expjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/api/v1/policies/onap.restart.tca/versions/1.0.0/ headers=${headers} - Log Received response from policy ${resp.text} - ${expjsonobject} To Json ${expjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca - Dictionary Should Contain Key ${expjsonobject['topology_template']['policies'][0]} onap.restart.tca - -DeleteSpecificPolicy - [Documentation] Delete a specific Policy named 'onap.restart.tca' and version '1.0.0' - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/api/v1/policies/onap.restart.tca/versions/1.0.0 headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= Delete Request policy /policy/api/v1/policies/onap.restart.tca/versions/1.0.0 headers=${headers} - Should Be Equal As Strings ${resp.status_code} 404 - -DeleteSpecificPolicyV2 - [Documentation] Delete the Monitoring Policy Version 2 of the TCA Policy Type - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies/onap.restart.tca/versions/2.0.0 headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies/onap.restart.tca/versions/2.0.0 headers=${headers} - Should Be Equal As Strings ${resp.status_code} 404 - -DeleteSpecificPolicyTypeV1 - [Documentation] Delete the TCA Policy Type Version 1 - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0 headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0 headers=${headers} - Should Be Equal As Strings ${resp.status_code} 404 - -DeleteSpecificPolicyTypeV2 - [Documentation] Delete the TCA Policy Type Version 2 - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/2.0.0 headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/2.0.0 headers=${headers} - Should Be Equal As Strings ${resp.status_code} 404 diff --git a/tests/policy/api/data/onap.policy.monitoring.tcagen2.v1.json b/tests/policy/api/data/onap.policy.monitoring.tcagen2.v1.json deleted file mode 100644 index a2e2ddc9..00000000 --- a/tests/policy/api/data/onap.policy.monitoring.tcagen2.v1.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "tosca_definitions_version": "tosca_simple_yaml_1_1_0", - "policy_types": { - "onap.policies.Monitoring": { - "derived_from": "tosca.policies.Root", - "version": "1.0.0", - "description": "a base policy type for all policies that governs monitoring provisioning" - }, - "onap.policies.monitoring.tcagen2": { - "derived_from": "onap.policies.Monitoring", - "version": "1.0.0", - "properties": { - "tca.policy": { - "type": "onap.datatypes.monitoring.tca_policy", - "description": "TCA Policy JSON" - } - } - } - }, - "data_types": { - "onap.datatypes.monitoring.metricsPerEventName": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "controlLoopSchemaType": { - "type": "string", - "required": true, - "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", - "constraints": [ - { - "valid_values": [ - "VM", - "VNF" - ] - } - ] - }, - "eventName": { - "type": "string", - "required": true, - "description": "Event name to which thresholds need to be applied" - }, - "policyName": { - "type": "string", - "required": true, - "description": "TCA Policy Scope Name" - }, - "policyScope": { - "type": "string", - "required": true, - "description": "TCA Policy Scope" - }, - "policyVersion": { - "type": "string", - "required": true, - "description": "TCA Policy Scope Version" - }, - "thresholds": { - "type": "list", - "required": true, - "description": "Thresholds associated with eventName", - "entry_schema": { - "type": "onap.datatypes.monitoring.thresholds" - } - } - } - }, - "onap.datatypes.monitoring.tca_policy": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "domain": { - "type": "string", - "required": true, - "description": "Domain name to which TCA needs to be applied", - "default": "measurementsForVfScaling", - "constraints": [ - { - "equal": "measurementsForVfScaling" - } - ] - }, - "metricsPerEventName": { - "type": "list", - "required": true, - "description": "Contains eventName and threshold details that need to be applied to given eventName", - "entry_schema": { - "type": "onap.datatypes.monitoring.metricsPerEventName" - } - } - } - }, - "onap.datatypes.monitoring.thresholds": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "closedLoopControlName": { - "type": "string", - "required": true, - "description": "Closed Loop Control Name associated with the threshold" - }, - "closedLoopEventStatus": { - "type": "string", - "required": true, - "description": "Closed Loop Event Status of the threshold", - "constraints": [ - { - "valid_values": [ - "ONSET", - "ABATED" - ] - } - ] - }, - "direction": { - "type": "string", - "required": true, - "description": "Direction of the threshold", - "constraints": [ - { - "valid_values": [ - "LESS", - "LESS_OR_EQUAL", - "GREATER", - "GREATER_OR_EQUAL", - "EQUAL" - ] - } - ] - }, - "fieldPath": { - "type": "string", - "required": true, - "description": "Json field Path as per CEF message which needs to be analyzed for TCA", - "constraints": [ - { - "valid_values": [ - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", - "$.event.measurementsForVfScalingFields.meanRequestLatency", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" - ] - } - ] - }, - "severity": { - "type": "string", - "required": true, - "description": "Threshold Event Severity", - "constraints": [ - { - "valid_values": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - } - ] - }, - "thresholdValue": { - "type": "integer", - "required": true, - "description": "Threshold value for the field Path inside CEF message" - }, - "version": { - "type": "string", - "required": true, - "description": "Version number associated with the threshold" - } - } - } - } -} diff --git a/tests/policy/api/data/onap.policy.monitoring.tcagen2.v2.json b/tests/policy/api/data/onap.policy.monitoring.tcagen2.v2.json deleted file mode 100644 index d86749ef..00000000 --- a/tests/policy/api/data/onap.policy.monitoring.tcagen2.v2.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "tosca_definitions_version": "tosca_simple_yaml_1_1_0", - "policy_types": { - "onap.policies.monitoring.tcagen2": { - "derived_from": "onap.policies.Monitoring", - "version": "2.0.0", - "properties": { - "tca.policy": { - "type": "onap.datatypes.monitoring.tca_policy", - "description": "TCA Policy JSON" - } - } - } - }, - "data_types": { - "onap.datatypes.monitoring.metricsPerEventName": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "controlLoopSchemaType": { - "type": "string", - "required": true, - "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", - "constraints": [ - { - "valid_values": [ - "VM", - "VNF" - ] - } - ] - }, - "eventName": { - "type": "string", - "required": true, - "description": "Event name to which thresholds need to be applied" - }, - "policyName": { - "type": "string", - "required": true, - "description": "TCA Policy Scope Name" - }, - "policyScope": { - "type": "string", - "required": true, - "description": "TCA Policy Scope" - }, - "policyVersion": { - "type": "string", - "required": true, - "description": "TCA Policy Scope Version" - }, - "thresholds": { - "type": "list", - "required": true, - "description": "Thresholds associated with eventName", - "entry_schema": { - "type": "onap.datatypes.monitoring.thresholds" - } - } - } - }, - "onap.datatypes.monitoring.tca_policy": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "domain": { - "type": "string", - "required": true, - "description": "Domain name to which TCA needs to be applied", - "default": "measurementsForVfScaling", - "constraints": [ - { - "equal": "measurementsForVfScaling" - } - ] - }, - "metricsPerEventName": { - "type": "list", - "required": true, - "description": "Contains eventName and threshold details that need to be applied to given eventName", - "entry_schema": { - "type": "onap.datatypes.monitoring.metricsPerEventName" - } - } - } - }, - "onap.datatypes.monitoring.thresholds": { - "derived_from": "tosca.datatypes.Root", - "properties": { - "closedLoopControlName": { - "type": "string", - "required": true, - "description": "Closed Loop Control Name associated with the threshold" - }, - "closedLoopEventStatus": { - "type": "string", - "required": true, - "description": "Closed Loop Event Status of the threshold", - "constraints": [ - { - "valid_values": [ - "ONSET", - "ABATED" - ] - } - ] - }, - "direction": { - "type": "string", - "required": true, - "description": "Direction of the threshold", - "constraints": [ - { - "valid_values": [ - "LESS", - "LESS_OR_EQUAL", - "GREATER", - "GREATER_OR_EQUAL", - "EQUAL" - ] - } - ] - }, - "fieldPath": { - "type": "string", - "required": true, - "description": "Json field Path as per CEF message which needs to be analyzed for TCA", - "constraints": [ - { - "valid_values": [ - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", - "$.event.measurementsForVfScalingFields.meanRequestLatency", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" - ] - } - ] - }, - "severity": { - "type": "string", - "required": true, - "description": "Threshold Event Severity", - "constraints": [ - { - "valid_values": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - } - ] - }, - "thresholdValue": { - "type": "integer", - "required": true, - "description": "Threshold value for the field Path inside CEF message" - }, - "version": { - "type": "string", - "required": true, - "description": "Version number associated with the threshold" - } - } - } - } -} diff --git a/tests/policy/distribution/data/event.json b/tests/policy/distribution/data/event.json deleted file mode 100644 index 9dbf2790..00000000 --- a/tests/policy/distribution/data/event.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "nameSpace": "org.onap.policy.apex.sample.events", - "name": "Event0000", - "version": "0.0.1", - "source": "REST_0", - "target": "apex", - "TestSlogan": "Test slogan for External Event0", - "TestMatchCase": 3, - "TestTimestamp": 1536363522018, - "TestTemperature": 9080.866 -} diff --git a/tests/policy/distribution/distribution-test.robot b/tests/policy/distribution/distribution-test.robot deleted file mode 100644 index 2b1c6d64..00000000 --- a/tests/policy/distribution/distribution-test.robot +++ /dev/null @@ -1,45 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json - -*** Test Cases *** - -Healthcheck - [Documentation] Runs Policy Distribution Health check - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_DISTRIBUTION_IP}:6969 - ${session}= Create Session policy https://${POLICY_DISTRIBUTION_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /healthcheck headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -Statistics - [Documentation] Runs Policy Distribution Statistics - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_DISTRIBUTION_IP}:6969 - ${session}= Create Session policy https://${POLICY_DISTRIBUTION_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -InvokeDistributionAndRunEventOnEngine - Wait Until Keyword Succeeds 5 min 30 sec InvokeDistributionUsingFile And RunEventOnApexEngine - -*** Keywords *** - -InvokeDistributionUsingFile And RunEventOnApexEngine - Copy File ${SCRIPT_DIR}/config/distribution/csar/csar_temp.csar ${SCRIPT_DIR}/config/distribution/csar/temp.csar - Move File ${SCRIPT_DIR}/config/distribution/csar/temp.csar ${SCRIPT_DIR}/config/distribution/temp/sample_csar_with_apex_policy.csar - Sleep 20 seconds "Waiting for the Policy Distribution to call Policy API and PAP" - Create Session apexSession http://${APEX_IP}:23324 max_retries=1 - ${data}= Get Binary File ${CURDIR}${/}data${/}event.json - &{headers}= Create Dictionary Content-Type=application/json Accept=application/json - ${resp}= Put Request apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - Remove Files ${SCRIPT_DIR}/config/distribution/temp/sample_csar_with_apex_policy.csar diff --git a/tests/policy/drools-applications/drools-applications-test.robot b/tests/policy/drools-applications/drools-applications-test.robot deleted file mode 100644 index 2ab05810..00000000 --- a/tests/policy/drools-applications/drools-applications-test.robot +++ /dev/null @@ -1,275 +0,0 @@ -*** Settings *** -Library Collections -Library String -Library RequestsLibrary -Library OperatingSystem -Library Process -Library json - -*** Test Cases *** -Alive - [Documentation] Runs Policy PDP Alive Check - ${auth}= Create List demo@people.osaaf.org demo123456! - Log Creating session https://${DROOLS_IP}:9696 - ${session}= Create Session policy https://${DROOLS_IP}:9696 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdp/engine headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['alive']} True - -Healthcheck - [Documentation] Runs Policy PDP-D Health check - ${auth}= Create List demo@people.osaaf.org demo123456! - Log Creating session https://${DROOLS_IP}:6969/healthcheck - ${session}= Create Session policy https://${DROOLS_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /healthcheck headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['healthy']} True - -Controller - [Documentation] Checks controller is up - ${auth}= Create List demo@people.osaaf.org demo123456! - Log Creating session https://${DROOLS_IP}:9696 - ${session}= Create Session policy https://${DROOLS_IP}:9696 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdp/engine/controllers/usecases/drools/facts headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['usecases']} 0 - -MakeTopics - [Documentation] Creates the Policy topics - ${result}= Run Process ${SCR2}/make_topic.sh POLICY-PDP-PAP - Should Be Equal As Integers ${result.rc} 0 - ${result}= Run Process ${SCR2}/make_topic.sh POLICY-CL-MGT - Should Be Equal As Integers ${result.rc} 0 - -CreateVcpeXacmlPolicy - [Documentation] Create VCPE Policy for Xacml - ${auth}= Create List healthcheck zb!XztG34 - ${postyaml}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.yaml - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -CreateVcpeDroolsPolicy - [Documentation] Create VCPE Policy for Drools - ${auth}= Create List healthcheck zb!XztG34 - ${postyaml}= Get file ${DATA}/vCPE.policy.operational.input.tosca.yaml - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -CreateVdnsXacmlPolicy - [Documentation] Create VDNS Policy for Xacml - ${auth}= Create List healthcheck zb!XztG34 - ${postyaml}= Get file ${DATA}/vDNS.policy.monitoring.input.tosca.yaml - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -CreateVdnsDroolsPolicy - [Documentation] Create VDNS Policy for Drools - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA}/vDNS.policy.operational.input.tosca.json - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -CreateVfwXacmlPolicy - [Documentation] Create VFW Policy for Xacml - ${auth}= Create List healthcheck zb!XztG34 - ${postyaml}= Get file ${DATA}/vFirewall.policy.monitoring.input.tosca.yaml - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml - ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -CreateVfwDroolsPolicy - [Documentation] Create VFW Policy for Drools - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA}/vFirewall.policy.operational.input.tosca.json - Log Creating session https://${API_IP}:6969 - ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} - Log Received response from api ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -DeployXacmlPolicies - [Documentation] Deploys the Policies to Xacml - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${PAP_IP}:6969 - ${postjson}= Get file ${SCR2}/deploy.xacml.policies.json - ${session}= Create Session policy https://${PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} - Log Received response from pap ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-PDP-PAP - ... responseTo xacml ACTIVE restart - Log Received status ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} onap.restart.tca - Should Contain ${result.stdout} onap.scaleout.tca - Should Contain ${result.stdout} onap.vfirewall.tca - -DeployDroolsPolicies - [Documentation] Deploys the Policies to Drools - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${PAP_IP}:6969 - ${postjson}= Get file ${SCR2}/deploy.drools.policies.json - ${session}= Create Session policy https://${PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} - Log Received response from pap ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-PDP-PAP - ... responseTo drools ACTIVE - Log Received status ${result.stdout} - Sleep 3s - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} operational.restart - Should Contain ${result.stdout} operational.scaleout - Should Contain ${result.stdout} operational.modifyconfig - -VcpeExecute - [Documentation] Executes VCPE Policy - ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vcpeOnset.json - Should Be Equal As Integers ${result.rc} 0 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} ACTIVE - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Sending guard query for APPC Restart - Should Be Equal As Integers ${result.rc} 0 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Guard result for APPC Restart is Permit - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} actor=APPC,operation=Restart - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION: SUCCESS - Should Contain ${result.stdout} actor=APPC,operation=Restart - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} FINAL: SUCCESS - Should Contain ${result.stdout} APPC - Should Contain ${result.stdout} Restart - -VdnsExecute - [Documentation] Executes VDNS Policy - ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vdnsOnset.json - Should Be Equal As Integers ${result.rc} 0 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} ACTIVE - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Sending guard query for SO VF Module Create - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Guard result for SO VF Module Create is Permit - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} actor=SO,operation=VF Module Create - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION: SUCCESS - Should Contain ${result.stdout} actor=SO,operation=VF Module Create - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} FINAL: SUCCESS - Should Contain ${result.stdout} SO - Should Contain ${result.stdout} VF Module Create - -VfwExecute - [Documentation] Executes VFW Policy - ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vfwOnset.json - Should Be Equal As Integers ${result.rc} 0 - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} ACTIVE - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Sending guard query for APPC ModifyConfig - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} Guard result for APPC ModifyConfig is Permit - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION - Should Contain ${result.stdout} actor=APPC,operation=ModifyConfig - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} OPERATION: SUCCESS - Should Contain ${result.stdout} actor=APPC,operation=ModifyConfig - ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT - ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a - Log Received notification ${result.stdout} - Should Be Equal As Integers ${result.rc} 0 - Should Contain ${result.stdout} FINAL: SUCCESS - Should Contain ${result.stdout} APPC - Should Contain ${result.stdout} ModifyConfig diff --git a/tests/policy/drools-pdp/drools-pdp-test.robot b/tests/policy/drools-pdp/drools-pdp-test.robot deleted file mode 100644 index cf4d3cea..00000000 --- a/tests/policy/drools-pdp/drools-pdp-test.robot +++ /dev/null @@ -1,17 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json - -*** Test Cases *** -Alive - [Documentation] Runs Policy PDP Alive Check - ${auth}= Create List demo@people.osaaf.org demo123456! - Log Creating session https://${POLICY_DROOLS_IP}:9696 - ${session}= Create Session policy https://${POLICY_DROOLS_IP}:9696 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdp/engine headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['alive']} True diff --git a/tests/policy/pap/data/create.group.request.json b/tests/policy/pap/data/create.group.request.json deleted file mode 100644 index 1b63563f..00000000 --- a/tests/policy/pap/data/create.group.request.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "groups": [ - { - "name": "create.group.request", - "pdpGroupState": "PASSIVE", - "properties": { - "hello": "world" - }, - "pdpSubgroups": [ - { - "pdpType": "pdpTypeA", - "desiredInstanceCount": 2, - "properties": {}, - "supportedPolicyTypes": [ - { - "name": "onap.policies.monitoring.tcagen2", - "version": "1.0.0" - } - ], - "policies": [] - }, - { - "pdpType": "pdpTypeB", - "desiredInstanceCount": 1, - "properties": {}, - "supportedPolicyTypes": [ - { - "name": "onap.policies.monitoring.tcagen2", - "version": "1.0.0" - } - ], - "policies": [] - } - ] - } - ] -} diff --git a/tests/policy/pap/data/deploy.group.request.json b/tests/policy/pap/data/deploy.group.request.json deleted file mode 100644 index 7f3694de..00000000 --- a/tests/policy/pap/data/deploy.group.request.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "groups": [ - { - "name": "create.group.request", - "deploymentSubgroups": [ - { - "pdpType": "pdpTypeA", - "action": "POST", - "policies": [ - { - "name": "onap.restart.tca", - "version": "1.0.0" - } - ] - } - ] - } - ] -} diff --git a/tests/policy/pap/pap-test.robot b/tests/policy/pap/pap-test.robot deleted file mode 100644 index d0837fa9..00000000 --- a/tests/policy/pap/pap-test.robot +++ /dev/null @@ -1,137 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json - -*** Test Cases *** -LoadPolicy - [Documentation] Loads prerequisite Policy via API - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${postjson}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from API ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -Healthcheck - [Documentation] Runs Policy PAP Health check - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pap/v1/healthcheck headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -Statistics - [Documentation] Runs Policy PAP Statistics - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pap/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -CreatePdpGroups - [Documentation] Runs Policy PAP Create PDP Groups - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${postjson}= Get file ${CURDIR}/data/create.group.request.json - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/groups/batch data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -ActivatePdpGroup - [Documentation] Runs Policy PAP Change PDP Group State to ACTIVE - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Put Request policy /policy/pap/v1/pdps/groups/create.group.request?state=ACTIVE headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -QueryPdpGroups - [Documentation] Runs Policy PAP Query PDP Groups - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pap/v1/pdps headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['groups'][0]['name']} create.group.request - Should Be Equal As Strings ${resp.json()['groups'][0]['pdpGroupState']} ACTIVE - Should Be Equal As Strings ${resp.json()['groups'][1]['name']} defaultGroup - -DeployPdpGroups - [Documentation] Runs Policy PAP Deploy Policies to PDP Groups - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${postjson}= Get file ${CURDIR}/data/deploy.group.request.json - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - -UndeployPolicy - [Documentation] Runs Policy PAP Undeploy a Policy from PDP Groups - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/pap/v1/pdps/policies/onap.restart.tca headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - -QueryPdpGroupsAfterUndeploy - [Documentation] Runs Policy PAP Query PDP Groups after Undeploy - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pap/v1/pdps headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['groups'][0]['name']} create.group.request - Should Be Equal As Strings ${resp.json()['groups'][0]['pdpSubgroups'][0]['policies']} [] - -DeactivatePdpGroup - [Documentation] Runs Policy PAP Change PDP Group State to PASSIVE - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Put Request policy /policy/pap/v1/pdps/groups/create.group.request?state=PASSIVE headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -DeletePdpGroups - [Documentation] Runs Policy PAP Delete PDP Groups - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/pap/v1/pdps/groups/create.group.request headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - -QueryPdpGroupsAfterDelete - [Documentation] Runs Policy PAP Query PDP Groups after Delete - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pap/v1/pdps headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['groups'][0]['name']} defaultGroup diff --git a/tests/policy/xacml-pdp/data/onap.policy.guard.decision.request.json b/tests/policy/xacml-pdp/data/onap.policy.guard.decision.request.json deleted file mode 100644 index ee90feaa..00000000 --- a/tests/policy/xacml-pdp/data/onap.policy.guard.decision.request.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ONAPName": "Guard", - "ONAPComponent": "Guard-component", - "ONAPInstance": "Guard-component-instance", - "requestId": "unique-request-guard-1", - "action": "guard", - "resource": { - "guard": { - "actor": "APPC", - "operation": "ModifyConfig", - "target": "f17face5-69cb-4c88-9e0b-7426db7edddd", - "requestId": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65", - "clname": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a" - } - } -} diff --git a/tests/policy/xacml-pdp/data/onap.policy.monitoring.decision.request.json b/tests/policy/xacml-pdp/data/onap.policy.monitoring.decision.request.json deleted file mode 100644 index f79f4eb6..00000000 --- a/tests/policy/xacml-pdp/data/onap.policy.monitoring.decision.request.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ONAPName": "DCAE", - "ONAPComponent": "PolicyHandler", - "ONAPInstance": "622431a4-9dea-4eae-b443-3b2164639c64", - "action": "configure", - "resource": { - "policy-id": "onap.restart.tca" - } -} \ No newline at end of file diff --git a/tests/policy/xacml-pdp/data/onap.policy.naming.decision.request.json b/tests/policy/xacml-pdp/data/onap.policy.naming.decision.request.json deleted file mode 100644 index 3833a241..00000000 --- a/tests/policy/xacml-pdp/data/onap.policy.naming.decision.request.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ONAPName": "SDNC", - "ONAPComponent": "SDNC-component", - "ONAPInstance": "SDNC-component-instance", - "requestId": "unique-request-sdnc-1", - "action": "naming", - "resource": { - "nfRole": [], - "naming-type": [], - "property-name": [], - "policy-type": ["onap.policies.Naming"] - } -} diff --git a/tests/policy/xacml-pdp/data/onap.policy.optimization.decision.request.json b/tests/policy/xacml-pdp/data/onap.policy.optimization.decision.request.json deleted file mode 100644 index d997099c..00000000 --- a/tests/policy/xacml-pdp/data/onap.policy.optimization.decision.request.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "ONAPName": "OOF", - "ONAPComponent": "OOF-component", - "ONAPInstance": "OOF-component-instance", - "context" : { - "subscriberName": [] - }, - "action": "optimize", - "resource": { - "scope": [], - "services": [], - "resources": [], - "geography": [] - } -} diff --git a/tests/policy/xacml-pdp/data/vCPE.policy.input.tosca.deploy.json b/tests/policy/xacml-pdp/data/vCPE.policy.input.tosca.deploy.json deleted file mode 100644 index 7ace047b..00000000 --- a/tests/policy/xacml-pdp/data/vCPE.policy.input.tosca.deploy.json +++ /dev/null @@ -1,5 +0,0 @@ -{"policies":[ - {"policy-id":"onap.restart.tca"}, - {"policy-id":"OSDF_CASABLANCA.Affinity_Default"} - ] -} diff --git a/tests/policy/xacml-pdp/xacml-pdp-test.robot b/tests/policy/xacml-pdp/xacml-pdp-test.robot deleted file mode 100644 index 03b0ca7a..00000000 --- a/tests/policy/xacml-pdp/xacml-pdp-test.robot +++ /dev/null @@ -1,217 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library Process -Library json - -*** Test Cases *** -Healthcheck - [Documentation] Runs Policy Xacml PDP Health check - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdpx/v1/healthcheck headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -Statistics - [Documentation] Runs Policy Xacml PDP Statistics - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdpx/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - -MakeTopics - [Documentation] Creates the Policy topics - ${result}= Run Process ${SCR_DMAAP}/make_topic.sh POLICY-PDP-PAP - Should Be Equal As Integers ${result.rc} 0 - -ExecuteXacmlPolicy - Wait Until Keyword Succeeds 0 min 15 sec CreateMonitorPolicy - Wait Until Keyword Succeeds 0 min 15 sec CreateOptimizationPolicy - Wait Until Keyword Succeeds 0 min 15 sec GetDefaultDecision - Wait Until Keyword Succeeds 0 min 15 sec DeployPolicies - Wait Until Keyword Succeeds 0 min 15 sec GetAbbreviatedDecisionResult - Wait Until Keyword Succeeds 0 min 15 sec GetMonitoringDecision - Wait Until Keyword Succeeds 0 min 15 sec GetNamingDecision - Wait Until Keyword Succeeds 0 min 15 sec GetOptimizationDecision - -*** Keywords *** - -CreateMonitorPolicy - [Documentation] Create a Monitoring policy - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA2}/vCPE.policy.monitoring.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from policy4 ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()} tosca_definitions_version - Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version - -CreateOptimizationPolicy - [Documentation] Create an Optimization policy - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${DATA2}/vCPE.policies.optimization.input.tosca.json - Log Creating session https://${POLICY_API_IP}:6969 - ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from policy4 ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.json()} tosca_definitions_version - Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version - -DeployPolicies - [Documentation] Runs Policy PAP to deploy a policy - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/vCPE.policy.input.tosca.deploy.json - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pap/v1/pdps/policies data=${postjson} headers=${headers} - Log Received response from policy5 ${resp.text} - ${postjsonobject} To Json ${postjson} - Should Be Equal As Strings ${resp.status_code} 202 - ${result}= Run Process ${SCR_DMAAP}/wait_topic.sh POLICY-PDP-PAP - ... responseTo xacml ACTIVE onap.restart.tca - -GetStatisticsAfterDeployed - [Documentation] Runs Policy Xacml PDP Statistics after policy is deployed - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdpx/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - Should Be Equal As Strings ${resp.json()['totalPoliciesCount'] 1 - -GetDefaultDecision - [Documentation] Get Default Decision with no policies in Xacml PDP - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.guard.decision.request.json - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${params}= Create Dictionary abbrev=true - ${resp}= Post Request policy /policy/pdpx/v1/decision params=${params} data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${status}= Get From Dictionary ${resp.json()} status - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${status} Permit - -GetAbbreviatedDecisionResult - [Documentation] Get Decision with abbreviated results from Policy Xacml PDP - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.decision.request.json - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${params}= Create Dictionary abbrev=true - ${resp}= Post Request policy /policy/pdpx/v1/decision params=${params} data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${policy}= Get From Dictionary ${resp.json()['policies']} onap.restart.tca - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${policy} type - Dictionary Should Contain Key ${policy} metadata - Dictionary Should Not Contain Key ${policy} type_version - Dictionary Should Not Contain Key ${policy} properties - Dictionary Should Not Contain Key ${policy} name - Dictionary Should Not Contain Key ${policy} version - -GetMonitoringDecision - [Documentation] Get Decision from Monitoring Policy Xacml PDP - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.decision.request.json - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pdpx/v1/decision data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${policy}= Get From Dictionary ${resp.json()['policies']} onap.restart.tca - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${policy} type - Dictionary Should Contain Key ${policy} metadata - Dictionary Should Contain Key ${policy} type_version - Dictionary Should Contain Key ${policy} properties - Dictionary Should Contain Key ${policy} name - Dictionary Should Contain Key ${policy} version - -GetNamingDecision - [Documentation] Get Decision from Naming Policy Xacml PDP - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.naming.decision.request.json - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pdpx/v1/decision data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${policy}= Get From Dictionary ${resp.json()['policies']} SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${policy} type - Dictionary Should Contain Key ${policy} type_version - Dictionary Should Contain Key ${policy} properties - Dictionary Should Contain Key ${policy} name - -GetOptimizationDecision - [Documentation] Get Decision from Optimization Policy Xacml PDP - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.optimization.decision.request.json - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/pdpx/v1/decision data=${postjson} headers=${headers} - Log Received response from policy ${resp.text} - ${policy}= Get From Dictionary ${resp.json()['policies']} OSDF_CASABLANCA.Affinity_Default - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${policy} type - Dictionary Should Contain Key ${policy} type_version - Dictionary Should Contain Key ${policy} properties - Dictionary Should Contain Key ${policy} name - -GetStatisticsAfterDecision - [Documentation] Runs Policy Xacml PDP Statistics after Decision request - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdpx/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - Should Be Equal As Strings ${resp.json()['totalDecisionsCount'] 1 - -UndeployMonitorPolicy - [Documentation] Runs Policy PAP to undeploy a policy - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PAP_IP}:6969 - ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request policy /policy/pap/v1/pdps/policies/onap.restart.tca headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 202 - -GetStatisticsAfterUndeploy - [Documentation] Runs Policy Xacml PDP Statistics after policy is undeployed - ${auth}= Create List healthcheck zb!XztG34 - Log Creating session https://${POLICY_PDPX_IP}:6969 - ${session}= Create Session policy https://${POLICY_PDPX_IP}:6969 auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/pdpx/v1/statistics headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['code']} 200 - Should Be Equal As Strings ${resp.json()['totalPoliciesCount'] 0 -- 2.16.6