From: Marco Platania Date: Wed, 18 Mar 2020 12:55:26 +0000 (+0000) Subject: Merge "change made to enable https mode" X-Git-Tag: 6.0.0-ONAP~42 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=b258b58b33348a7665628669e688b33baf3a6e1d;hp=01b6334e5016d87ee7182e22b0b38beb42fe4978;p=integration%2Fcsit.git Merge "change made to enable https mode" --- diff --git a/.gitattributes b/.gitattributes index 6313b56c..21a4e0a7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ * text=auto eol=lf +*.csar -text diff --git a/INFO.yaml b/INFO.yaml index e26c1f41..063dcf0d 100644 --- a/INFO.yaml +++ b/INFO.yaml @@ -2,6 +2,7 @@ project: 'integration-csit' project_creation_date: '2017-02-10' lifecycle_state: 'Incubation' +project_category: '' project_lead: &onap_releng_ptl name: 'Morgan Richomme' email: 'morgan.richomme@orange.com' @@ -13,16 +14,21 @@ issue_tracking: type: 'jira' url: 'https://jira.onap.org/projects/INT' key: 'INT' +mailing_list: + type: 'groups.io' + url: 'lists.onap.org' + tag: '<[sub-project_name]>' +realtime_discussion: '' meetings: - type: 'zoom' - agenda: 'https://wiki.onap.org/display/DW/Integration+Meeting+Minutes' + agenda: 'https://wiki.onap.org/pages/viewpage.action?pageId=6593670' url: 'https://wiki.onap.org/pages/viewpage.action?pageId=6593670' server: 'n/a' channel: 'n/a' repeats: 'weekly' time: '14:00 UTC' repositories: - - 'csit' + - 'integration/csit' committers: - <<: *onap_releng_ptl - name: 'Christophe Closset' @@ -39,12 +45,12 @@ committers: email: 'fu.jinhua@zte.com.cn' company: 'ZTE' id: 'fujinhua' - timezone: 'China' + timezone: 'China/Beijing' - name: 'Catherine Lefevre' email: 'cl664y@att.com' company: 'AT&T' id: 'Katel34' - timezone: 'Belgium' + timezone: 'Belgium/Namur' - name: 'Marco Platania' email: 'platania@research.att.com' company: 'ATT' @@ -55,11 +61,6 @@ committers: company: 'AT&T' id: 'bdfreeman1421' timezone: 'America/New York' - - name: 'Mariusz Wagner' - email: 'mariusz.wagner@nokia.com' - company: 'Nokia' - id: 'mwagner9' - timezone: 'Poland/Wroclaw' - name: 'Morgan Richomme' email: 'morgan.richomme@orange.com' company: 'orange' @@ -68,12 +69,12 @@ committers: - name: 'Bartek Grzybowski' email: 'b.grzybowski@partner.samsung.com' company: 'samsung' - id: 'b.grzybowski' + id: 'bgrzybowski' timezone: 'Poland/Warsaw' - name: 'Marcin Przybysz' email: 'marcin.przybysz@nokia.com' company: 'nokia' - id: 'mprzybysz' + id: 'mprzybys' timezone: 'Poland/Warsaw' - name: 'Eric Multanen' email: 'eric.w.multanen@intel.com' diff --git a/plans/aaf/certservice/cmpServers.json b/plans/aaf/certservice/cmpServers.json new file mode 100644 index 00000000..d6557c52 --- /dev/null +++ b/plans/aaf/certservice/cmpServers.json @@ -0,0 +1,24 @@ +{ + "cmpv2Servers": [ + { + "caName": "Client", + "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmp", + "issuerDN": "CN=ManagementCA", + "caMode": "CLIENT", + "authentication": { + "iak": "mypassword", + "rv": "mypassword" + } + }, + { + "caName": "RA", + "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmpRA", + "issuerDN": "CN=ManagementCA", + "caMode": "RA", + "authentication": { + "iak": "mypassword", + "rv": "mypassword" + } + } + ] +} diff --git a/plans/aaf/certservice/docker-compose.yml b/plans/aaf/certservice/docker-compose.yml new file mode 100644 index 00000000..ae7ee878 --- /dev/null +++ b/plans/aaf/certservice/docker-compose.yml @@ -0,0 +1,41 @@ +version: "2.1" + +services: + ejbca: + image: primekey/ejbca-ce:6.15.2.5 + hostname: cahostname + container_name: aafcert-ejbca + ports: + - "80:8080" + - "443:8443" + volumes: + - $SCRIPTS_PATH:/opt/primekey/scripts + command: bash -c " + /opt/primekey/bin/start.sh + " + healthcheck: + test: ["CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth"] + interval: 20s + timeout: 3s + retries: 9 + networks: + - certservice + + certservice: + image: nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-api:latest + volumes: + - $CONFIGURATION_PATH:/etc/onap/aaf/certservice/cmpServers.json + container_name: aafcert + ports: + - "8080:8080" + depends_on: + ejbca: + condition: service_healthy + networks: + - certservice + + +networks: + certservice: + driver: bridge + diff --git a/plans/aaf/certservice/scripts/ejbca-configuration.sh b/plans/aaf/certservice/scripts/ejbca-configuration.sh new file mode 100755 index 00000000..77f5c555 --- /dev/null +++ b/plans/aaf/certservice/scripts/ejbca-configuration.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +configureEjbca() { + ejbca.sh config cmp addalias --alias cmpRA + ejbca.sh config cmp updatealias --alias cmpRA --key operationmode --value ra + ejbca.sh ca editca --caname ManagementCA --field cmpRaAuthSecret --value mypassword + ejbca.sh config cmp updatealias --alias cmpRA --key responseprotection --value pbe + ejbca.sh config cmp dumpalias --alias cmpRA + ejbca.sh config cmp addalias --alias cmp + ejbca.sh config cmp updatealias --alias cmp --key allowautomatickeyupdate --value true + ejbca.sh config cmp updatealias --alias cmp --key responseprotection --value pbe + ejbca.sh ra addendentity --username Node123 --dn "CN=Node123" --caname ManagementCA --password mypassword --type 1 --token USERGENERATED + ejbca.sh ra setclearpwd --username Node123 --password mypassword + ejbca.sh config cmp updatealias --alias cmp --key extractusernamecomponent --value CN + ejbca.sh config cmp dumpalias --alias cmp + ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout > cacert.pem +} + +configureEjbca diff --git a/plans/aaf/certservice/setup.sh b/plans/aaf/certservice/setup.sh new file mode 100644 index 00000000..76d9730e --- /dev/null +++ b/plans/aaf/certservice/setup.sh @@ -0,0 +1,87 @@ +#!/bin/bash +# +# Copyright 2020 Nokia. +# +# 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. +# + +# ------------------------------------ +# Resolve path to script's directory and cmp servers configuration + +SCRIPT=`realpath $0` +CURRENT_WORKDIR_PATH=`dirname $SCRIPT` +PROJECT_DIRECTORY="plans/aaf/certservice" + +SCRIPTS_DIRECTORY="scripts" + +JENKINS_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$SCRIPTS_DIRECTORY" +LOCAL_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$SCRIPTS_DIRECTORY" + +# ------------------------------------ +#Prepare enviroment for client +#install docker sdk +echo "Uninstall docker-py and reinstall docker." +pip uninstall -y docker-py +pip uninstall -y docker +pip install -U docker==2.7.0 + +#export container name +export ClientContainerName=CertServiceClient +# ------------------------------------ + +if test -d "$JENKINS_SCRIPTS_PATH"; then + SCRIPTS_PATH=$JENKINS_SCRIPTS_PATH +else test -f "$LOCAL_SCRIPTS_PATH"; + SCRIPTS_PATH=$LOCAL_SCRIPTS_PATH +fi +echo "Use scripts from: $SCRIPTS_PATH" + +CONFIGURATION_FILE="cmpServers.json" + +JENKINS_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$CONFIGURATION_FILE" +LOCAL_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$CONFIGURATION_FILE" + +if test -f "$JENKINS_CONFIGURATION_PATH"; then + CONFIGURATION_PATH="$JENKINS_CONFIGURATION_PATH" +else test -f "$LOCAL_CONFIGURATION_PATH"; + CONFIGURATION_PATH=$LOCAL_CONFIGURATION_PATH +fi +echo "Use configuration from: $CONFIGURATION_PATH" + +# ------------------------------------- + +export CONFIGURATION_PATH=${CONFIGURATION_PATH} +export SCRIPTS_PATH=${SCRIPTS_PATH} + +docker-compose up -d + +AAFCERT_IP='none' +# Wait container ready +for i in {1..9} +do + AAFCERT_IP=`get-instance-ip.sh aafcert` + RESP_CODE=$(curl -I -s -o /dev/null -w "%{http_code}" http://${AAFCERT_IP}:8080/actuator/health) + if [[ "$RESP_CODE" == '200' ]]; then + echo 'AAF Cert Service is ready' + export AAFCERT_IP=${AAFCERT_IP} + docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh + break + fi + echo 'Waiting for AAF Cert Service to start up...' + sleep 30s +done + +if [ "$AAFCERT_IP" == 'none' -o "$AAFCERT_IP" == '' ]; then + echo "AAF Cert Service is not ready!" + exit 1 # Return error code +fi diff --git a/plans/policy/health/teardown.sh b/plans/aaf/certservice/teardown.sh old mode 100755 new mode 100644 similarity index 58% rename from plans/policy/health/teardown.sh rename to plans/aaf/certservice/teardown.sh index 303ccff1..0a9e0734 --- a/plans/policy/health/teardown.sh +++ b/plans/aaf/certservice/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2017 AT&T Intellectual Property. All rights reserved. +# Copyright 2017 ZTE, Inc. and others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,21 +15,8 @@ # limitations under the License. # -function kill_instance() { -local name=$1 -docker logs "${name}" >> "${WORKSPACE}"/archives/"${name}".log -docker kill "${name}" -docker rm -v "${name}" -} - -mkdir -p "${WORKSPACE}"/archives - -kill_instance drools -kill_instance pdp -kill_instance brmsgw -kill_instance pap -kill_instance nexus -kill_instance mariadb - -rm -fr "${WORK_DIR}" +docker-compose down +kill-instance.sh aafcert +kill-instance.sh aafcert-ejbca +kill-instance.sh ${ClientContainerName} \ No newline at end of file diff --git a/plans/policy/health/testplan.txt b/plans/aaf/certservice/testplan.txt old mode 100644 new mode 100755 similarity index 86% rename from plans/policy/health/testplan.txt rename to plans/aaf/certservice/testplan.txt index 6bad34fc..270fc6d4 --- a/plans/policy/health/testplan.txt +++ b/plans/aaf/certservice/testplan.txt @@ -1,3 +1,3 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -policy/engine +aaf/certservice diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/collector/configuration/secure.json b/plans/dcaegen2-collectors-hv-ves/testsuites/collector/configuration/secure.json index 018f590a..9461eeea 100644 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/collector/configuration/secure.json +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/collector/configuration/secure.json @@ -5,8 +5,8 @@ "server.maxPayloadSizeBytes": 1048576, "cbs.firstRequestDelaySec": 3, "cbs.requestIntervalSec": 5, - "security.keys.keyStoreFile": "/etc/hv-ves/ssl/server.p12", - "security.keys.keyStorePasswordFile": "/etc/hv-ves/ssl/server.pass", - "security.keys.trustStoreFile": "/etc/hv-ves/ssl/trust.p12", - "security.keys.trustStorePasswordFile": "/etc/hv-ves/ssl/trust.pass" + "security.keys.keyStoreFile": "/etc/ves-hv/ssl/server.p12", + "security.keys.keyStorePasswordFile": "/etc/ves-hv/ssl/server.pass", + "security.keys.trustStoreFile": "/etc/ves-hv/ssl/trust.p12", + "security.keys.trustStorePasswordFile": "/etc/ves-hv/ssl/trust.pass" } \ No newline at end of file diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/gen-certs.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/gen-certs.sh index 33e3b32b..555590c7 100755 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/gen-certs.sh +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/gen-certs.sh @@ -48,7 +48,7 @@ function gen_key() { function gen_ca() { local ca="$1" - keytool -genkeypair ${store_opts} -alias ${ca} -dname "${DNAME_PREFIX}-${ca}" -keystore ${ca}.p12 + keytool -genkeypair ${store_opts} -alias ${ca} -dname "${DNAME_PREFIX}-${ca}" -keystore ${ca}.p12 -ext bc:c keytool -export -alias ${ca} -file ${ca}.crt ${store_opts} -keystore ${ca}.p12 } diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml index 6f5f2ee1..d89e82bb 100644 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml @@ -103,7 +103,7 @@ services: ports: - "6060:6060" - "6061:6061/tcp" - command: ["--configuration-file", "/etc/hv-ves/configuration/secure.json"] + command: ["--configuration-file", "/etc/ves-hv/configuration/secure.json"] environment: - JAVA_OPTS - HOSTNAME=${HV_VES_HOSTNAME} @@ -116,7 +116,7 @@ services: retries: 2 test: ${HV_VES_HEALTHCHECK_CMD} volumes: - - ./collector/:/etc/hv-ves/ + - ./collector/:/etc/ves-hv/ depends_on: - config-binding-service - kafka @@ -128,7 +128,7 @@ services: ports: - "7060:6060" - "7061:6061/tcp" - command: ["--configuration-file", "/etc/hv-ves/configuration/insecure.json"] + command: ["--configuration-file", "/etc/ves-hv/configuration/insecure.json"] environment: - JAVA_OPTS - HOSTNAME=${HV_VES_HOSTNAME} @@ -141,7 +141,7 @@ services: retries: 2 test: ${HV_VES_HEALTHCHECK_CMD} volumes: - - ./collector/:/etc/hv-ves/ + - ./collector/:/etc/ves-hv/ depends_on: - config-binding-service - kafka diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh index a93df5d2..1bd0ba1f 100755 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/env_local.sh @@ -26,8 +26,8 @@ export CONFIG_BINDING_SERVICE="config-binding-service" export CONFIG_BINDING_SERVICE_SERVICE_PORT="10000" export ONAP_NEXUS_REGISTRY="nexus3.onap.org:10001" -export DOCKER_REGISTRY="docker.io" -export DOCKER_REGISTRY_PREFIX="" +export DOCKER_REGISTRY=${ONAP_NEXUS_REGISTRY} +export DOCKER_REGISTRY_PREFIX="${DOCKER_REGISTRY}/" export KAFKA_IMAGE_FULL_NAME="${ONAP_NEXUS_REGISTRY}/onap/dmaap/kafka111:0.0.6" export ZOOKEEPER_IMAGE_FULL_NAME="${ONAP_NEXUS_REGISTRY}/onap/dmaap/zookeeper:4.0.0" diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt b/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt new file mode 100644 index 00000000..60544d97 --- /dev/null +++ b/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt @@ -0,0 +1,44 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START================================================== +# * org.onap.dmaap +# * =========================================================================== +# * Copyright © 2017 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==================================================== +# * +# * ECOMP is a trademark and service mark of AT&T Intellectual Property. +# * +#------------------------------------------------------------------------------- +{ + "name": "Jettydemo", + "version": "m1.0", + "description": "Jettydemo", + "business_description": "Jettydemo", + "suspend": false, + "deleted": false, + "changeowner": true, + "authorization": { + "classification": "unclassified", + "endpoint_addrs": [ + "", + ], + "endpoint_ids": [ + { + "password": "rs873m", + "id": "rs873m" + } + ] + }, +} + diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt b/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt new file mode 100644 index 00000000..95cc2afb --- /dev/null +++ b/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt @@ -0,0 +1,35 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START================================================== +# * org.onap.dmaap +# * =========================================================================== +# * Copyright © 2017 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==================================================== +# * +# * ECOMP is a trademark and service mark of AT&T Intellectual Property. +# * +#------------------------------------------------------------------------------- +{ +"delivery" : + { + "url" : "http://:7070/", + "user" : "datarouter", + "password" : "datarouter", + "use100" : true + }, +"metadataOnly" : false, +"suspend" : false, +"groupid" : 29, +"subscriber" : "sg481n" +} diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks b/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks new file mode 100644 index 00000000..33dc9a31 Binary files /dev/null and b/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks differ diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 b/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 deleted file mode 100644 index 66a81155..00000000 --- a/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 +++ /dev/null @@ -1,82 +0,0 @@ -/u3+7QAAAAIAAAABAAAAAQASZGNhZUBkY2FlLm9uYXAub3JnAAABaYCR6Y0AAAUCMIIE/jAOBgor -BgEEASoCEQEBBQAEggTqMMIAZ9fYH2ZvhbcY9q2XvR4OftQ8+YWRYRikzelzHB8UWsI8WKD8LF50 -MB8r+vF7/a5xsBnnJykD8Tel32JsiQFpAPpTwP/5RsDnC7S7w1WlHhn2YHJS/Rt0jm/Qn5L0tnzc -wkcdJbUjwhIZBZ7UCpCe4BFwbEFooSdTxQXZJCtF50tTYL+LvBRv/Bfxno88XqMFmNkaxnOHIrnN -2YYW0aLoeCw5TiEcuzY/pOhUprqLfEDK2xa/M20oyjvcnq/zU/W4U8f5fXYwVh3jfeu9aukSecP0 -ABr7tcdKE02i6UdpFEfYR39j8s8PtwLPIbnRWwvB89H587z90vYW+bs5A3kyhBpapBrbd0Iwo1Bj -6dQn+/RcFGdxM8yVHarfwAtq353Lgta/OedqsybCrkF8jKwMUfnCFSorILPg1moBggPOXs6qezqE -QNLhaqk4C33wN74Mu+0sNszlfmkMfo7uSXD2Ak0nmDfV+AHj5iepvnHMr1ziixOToLYliuSHpPr+ -SbzR3iyiqylgpG+Jx6/jEkcU6FKJRXciTHeHdBuSULNrgX1KKSFtMm/s1I446OcoJgyTwCx9RU5Y -Je2XdIXwBX2OdDE0jPjRySHZPrk4z2cACrJcKQ+10/bZu0fCUPPnkOW5XQbDEA6EwSsg23vqqQJw -yFhlUb1UsVRW3GIgnGtQRsk2+ajQ2Vj2mW+waUWSpzKdPtEGsAXMyrvu/xqB6hzPndaivyaXHU2J -qAAM3BFLygIDNKyCz7vAPCfx8qU+pWCWdtccPyu2+byJmZEAy4E1mGXSBmZ96LFuicPT1un/HXnL -a9fTrcsGgmXf2ipyXm6qJAzObxUjWE02VEph1jeOD2FaRvR+F0Fsxi0rL5yf/dkXSEEWnJnnpgrm -GCLfUvKKJgMLlB38KfQPgg003DHv9uRb5/f06jpBjSnItwS8aLPL3JrT6OU5zS7bXOkcKKg6yDYa -vTpQYvfaJXm+ZTUvdu+A3toSrkcNeNEcZV0dPUUCjIStOlb+lt6lV3GawTxilDTkczeFigCw5lYF -MgLEGgq56cXRaRD7GImuVRrsjZE/1k77fCjqYlZDq+6jPuSV9a9Rsy4CycdJj43UPceOlHQc2kKs -LWvAKFzn2JiakLoCXFnUT0nZ0O5ismC6FL+QHDZLFM+XCbFTOuDx5p2ze8PQIM9wXq7/ODTFW+WH -9v9ISkbDFhYF4evsc55s5PlSMyB3scB95j8yKeIIMPrMhae1YIGmRVRqmoWRCNLRHag28Ql9ubrq -mghZrQdhf6hLP8nvdCoktSBiimBz5aO6tes03eh/gZnhLC6QV827vzmiz+aIE3XBJ1Jbju2r8xVF -RPqz4J5TnufP9WOOjUSD4oDE0x0+ZelV9XH/Ijyp5a7P5t08H2HWyf6rOn30BHAluL3EcWy6ZyxS -H0rciEfpJd67Ta+FlfoYDLS2Sls/+9mW88Yte4sAfI7PKHz3p/ia2KmKmZxqdoeRFGaASpMQmmHM -OKZzZ4rYPV7E8+/RfngVA1EdGr1Xa4wddnYg4M3TacBenvBnQ22T3TQwX9rbuLE4/4MBPsCBgfXi -5fUFSCXH0jXthipn3rDp0XtnoBqPCY2mQl5jxVl6Ilw076ttaLxrKHfPpaZmRSIBgAJwGWNt3PsD -2dRGdFQEI9ZOSfesMmORh2uwcwAAAAIABVguNTA5AAAIVTCCCFEwggc5oAMCAQICCEqPeevfzuAj -MA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVP -U0FBRjEZMBcGA1UEAwwQaW50ZXJtZWRpYXRlQ0FfOTAeFw0xOTAzMTUwODU3MTlaFw0yMDAzMTUw -ODU3MTlaMGkxDTALBgNVBAMMBGRjYWUxDzANBgkqhkiG9w0BCQEWADEbMBkGA1UECwwSZGNhZUBk -Y2FlLm9uYXAub3JnMQ4wDAYDVQQLDAVPU0FBRjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVMw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCDOQyJWZx2RJbPTI+krOHi8CBstWYZZ79D -1Gz/sHcgqeKMH8cW0eeKGNGJ3lh98leLk7Kb/qkZ1Mvk34GkYGm7q3tsN/03yu4gzIRFQHU901e6 -wSwETpmnXloRUjV5hivuY60jCo3rvOsWZdKmLWuDxp8nks8CA3hMp12URny7W9rgJ2nIUIeD2cEo -j50s7AgzmxCgYC1TXuSN4I3OF9kvD3DXkIRGHRDnSXx5Whp73iwK6Svj5DrHf3Y170AY3JHGHXTn -3haW4qVTErmtg6QpLdOZttFLB/LQ4VgF/QulvYGHx2ZASSaxwXquH+vahEHGJOeeL60E0bTuMDsF -mkZRAgMBAAGjggUdMIIFGTAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIF4DAgBgNVHSUBAf8EFjAU -BggrBgEFBQcDAQYIKwYBBQUHAwIwVAYDVR0jBE0wS4AUgfeZWxC5yIze81Je6k5poEM+rN2hMKQu -MCwxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQMQswCQYDVQQGEwJVU4IBBzAdBgNVHQ4E -FgQUF60XVghHsdXv1Nqzuwh086jAtrEwggRjBgNVHREEggRaMIIEVoIEZGNhZYIWY29uZmlnLWJp -bmRpbmctc2VydmljZYIbY29uZmlnLWJpbmRpbmctc2VydmljZS5vbmFwgi1jb25maWctYmluZGlu -Zy1zZXJ2aWNlLm9uYXAuc3ZjLmNsdXN0ZXIubG9jYWyCFWRjYWUtY2xvdWRpZnktbWFuYWdlcoIa -ZGNhZS1jbG91ZGlmeS1tYW5hZ2VyLm9uYXCCLGRjYWUtY2xvdWRpZnktbWFuYWdlci5vbmFwLnN2 -Yy5jbHVzdGVyLmxvY2FsghdkY2FlLWRhdGFmaWxlLWNvbGxlY3RvcoIcZGNhZS1kYXRhZmlsZS1j -b2xsZWN0b3Iub25hcIIuZGNhZS1kYXRhZmlsZS1jb2xsZWN0b3Iub25hcC5zdmMuY2x1c3Rlci5s -b2NhbIIVZGNhZS1odi12ZXMtY29sbGVjdG9yghpkY2FlLWh2LXZlcy1jb2xsZWN0b3Iub25hcIIs -ZGNhZS1odi12ZXMtY29sbGVjdG9yLm9uYXAuc3ZjLmNsdXN0ZXIubG9jYWyCDmRjYWUtcG0tbWFw -cGVyghNkY2FlLXBtLW1hcHBlci5vbmFwgiVkY2FlLXBtLW1hcHBlci5vbmFwLnN2Yy5jbHVzdGVy -LmxvY2FsgghkY2FlLXByaIINZGNhZS1wcmgub25hcIIfZGNhZS1wcmgub25hcC5zdmMuY2x1c3Rl -ci5sb2NhbIISZGNhZS10Y2EtYW5hbHl0aWNzghdkY2FlLXRjYS1hbmFseXRpY3Mub25hcIIpZGNh -ZS10Y2EtYW5hbHl0aWNzLm9uYXAuc3ZjLmNsdXN0ZXIubG9jYWyCEmRjYWUtdmVzLWNvbGxlY3Rv -coIXZGNhZS12ZXMtY29sbGVjdG9yLm9uYXCCKWRjYWUtdmVzLWNvbGxlY3Rvci5vbmFwLnN2Yy5j -bHVzdGVyLmxvY2FsghJkZXBsb3ltZW50LWhhbmRsZXKCF2RlcGxveW1lbnQtaGFuZGxlci5vbmFw -gilkZXBsb3ltZW50LWhhbmRsZXIub25hcC5zdmMuY2x1c3Rlci5sb2NhbIISaG9sbWVzLWVuZ2lu -ZS1tZ210ghdob2xtZXMtZW5naW5lLW1nbXQub25hcIIpaG9sbWVzLWVuZ2luZS1tZ210Lm9uYXAu -c3ZjLmNsdXN0ZXIubG9jYWyCEGhvbG1lcy1ydWxlLW1nbXSCFmhvbG1lcy1ydWxlcy1tZ210Lm9u -YXCCKGhvbG1lcy1ydWxlcy1tZ210Lm9uYXAuc3ZjLmNsdXN0ZXIubG9jYWyCCWludmVudG9yeYIO -aW52ZW50b3J5Lm9uYXCCIGludmVudG9yeS5vbmFwLnN2Yy5jbHVzdGVyLmxvY2Fsgg5wb2xpY3kt -aGFuZGxlcoITcG9saWN5LWhhbmRsZXIub25hcIIlcG9saWN5LWhhbmRsZXIub25hcC5zdmMuY2x1 -c3Rlci5sb2NhbDANBgkqhkiG9w0BAQsFAAOCAQEAljxv74DI50X+LGglF6yGgnTiG6d6aTrbdFji -+HiV06jtSKXIf4enMGKJ2AUWXbnxw8105fTeS8tiTohaHCpNjNpliDCwia7p1xFJGuDamsvcy31S -Ihqunuy/UkImgRhq63xMUGivoSYy0rIzVGp3WMvdrKGYbeI8iHomAJGwHw3T3gUFvf+4Rivrb2MI -39eqao9vUDVtN8mOyEU7Kdd0nqob35Uc/jsE8KJmhI9sJC96SzwfmtfENfcWfpAv5Pq8fPCA4J5m -pDJ2XbRMIR5bTMXwKC9/85FKRVH4SJPey22Y7IwfRDLJYHGsSK73yrs7ZBzbBKFJOHvIPPQz19Hu -uwAFWC41MDkAAAR5MIIEdTCCAl2gAwIBAgIBBzANBgkqhkiG9w0BAQsFADAsMQ4wDAYDVQQLDAVP -U0FBRjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVMwHhcNMTgwODE3MTg1MTM3WhcNMjMwODE3 -MTg1MTM3WjBHMQswCQYDVQQGEwJVUzENMAsGA1UECgwET05BUDEOMAwGA1UECwwFT1NBQUYxGTAX -BgNVBAMMEGludGVybWVkaWF0ZUNBXzkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv -0HHUkba3uNtNI3jPKimUcd6RNwmhSCJLneMWpnjqp5/A+HCKyNsEaT4y177hNLmCm/aMm1u2JIfi -kc+8wEqLCSBBPz+P0h+do+sZ7U+4oeQizdYYpEdzHJ2SieHHa8vtu80rU3nO2NEIkuYC20HcKSEt -l8fFKsk3nqlhY+tGfYJPTXcDOQAO40BTcgat3C3uIJHkWJJ4RivunE4LEuRv9QyKgAw7rkJVv+f7 -guqpZlXy6dzAkuU7XULWcgo55MkZlssoiErMvEZJad5aWKvRY3g7qUjaQ6wO15wOAUoRBW96eeZZ -bytgn8kybcBy++Ue49gPtgm1MF/KlAsp0MD5AgMBAAGjgYYwgYMwHQYDVR0OBBYEFIH3mVsQuciM -3vNSXupOaaBDPqzdMB8GA1UdIwQYMBaAFFNVM/JL69BRscF4msEoMXvv6u1JMBIGA1UdEwEB/wQI -MAYBAf8CAQEwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAN -BgkqhkiG9w0BAQsFAAOCAgEADxNymiCNr2e37iLReoaxKmZvwox0cTiNAaj7iafRzmwIoY3VXO8Q -ix5IYcp4FaQ7fV1jyp/AmaSnyHf6Osl0sx8PxsQkO7ALttxKUrjfbvNSVUA2C/vlu5m7UVJLIUtF -DZBWanzUSmkTsYLHpiANFQKd2c/cU1qXcyzgJVFEFVyyHNkF7Is++pjG9M1hwQHOoTnEuU013P7X -1mHek+RXEfhJWwe7UsZnBKZaZKbQZu7hEtqKWYp/QsHgnjoLYXsh0WD5rz/mBxdTdDLGpFqWDzDq -b8rsYnqBzoowvsasV8X8OSkov0Ht8Yka0ckFH9yf8j1Cwmbl6ttuonOhky3N/gwLEozuhy7TPcZG -VyzevF70kXy7g1CXkpFGJyEHXoprlNi8FR4I+NFzbDe6a2cFow1JN19AJ9Z5Rk5m7M0mQPaQ4Rci -kjB3aoLsASCJTm1OpOFHfxEKiBW4Lsp3Uc5/Rb9ZNbfLrwqWZRM7buW1e3ekLqntgbkyuKKISHqV -Juw/vXHl1jNibEo9+JuQ88VNuAcm7WpGUogeCa2iAlPTckPZei+MwZ8wtpvxTyYlZEC8DWzY1VC2 -9+W2N5cvh01e2E3Ql08W1zL63dqrgdEZ3VWjzooYi4epBmMXTvouW+Flyvcw/0oTcfN0biDIt0mC -kZ5CQVjfGL9DTOYteR5hw+nBBe/JRrAcRd4SbmfuQxonDjDymA== diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/config.json b/plans/dcaegen2-pmmapper/pmmapper/assets/config.json index aacbb5b0..3f1009d4 100644 --- a/plans/dcaegen2-pmmapper/pmmapper/assets/config.json +++ b/plans/dcaegen2-pmmapper/pmmapper/assets/config.json @@ -1,9 +1,9 @@ { "pm-mapper-filter": { "filters":[]}, - "key_store_path": "/opt/app/pm-mapper/etc/cert.jks.b64", - "key_store_pass_path": "/opt/app/pm-mapper/etc/jks.pass", - "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks.b64", - "trust_store_pass_path": "/opt/app/pm-mapper/etc/trust.pass", + "key_store_path": "/opt/app/pm-mapper/etc/certs/cert.jks", + "key_store_pass_path": "/opt/app/pm-mapper/etc/certs/jks.pass", + "trust_store_path": "/opt/app/pm-mapper/etc/certs/trust.jks", + "trust_store_pass_path": "/opt/app/pm-mapper/etc/certs/trust.pass", "dmaap_dr_delete_endpoint": "https://dmaap-dr-node:8443/delete", "dmaap_dr_feed_name": "1", "aaf_identity": "aaf_admin@people.osaaf.org", diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties b/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties new file mode 100644 index 00000000..ddd4ebc8 --- /dev/null +++ b/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties @@ -0,0 +1,87 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START================================================== +# * org.onap.dmaap +# * =========================================================================== +# * Copyright � 2017 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==================================================== +# * +# * ECOMP is a trademark and service mark of AT&T Intellectual Property. +# * +#------------------------------------------------------------------------------- +# +# Configuration parameters set at startup for the DataRouter node +# +# URL to retrieve dynamic configuration +ProvisioningURL = https://dmaap-dr-prov:8443/internal/prov +# +# URL to upload PUB/DEL/EXP logs +LogUploadURL = https://dmaap-dr-prov:8443/internal/logs +# +# The port number for http as seen within the server +IntHttpPort = 8080 +# +# The port number for https as seen within the server +IntHttpsPort = 8443 +# +# The external port number for https taking port mapping into account +ExtHttpsPort = 443 +# +# The minimum interval between fetches of the dynamic configuration from the provisioning server +MinProvFetchInterval = 10000 +# +# The minimum interval between saves of the redirection data file +MinRedirSaveInterval = 10000 +# +# The path to the directory where log files are stored +LogDir = /opt/app/datartr/logs +# +# The retention interval (in days) for log files +LogRetention = 30 +# +# The path to the directories where data and meta data files are stored +SpoolDir = /opt/app/datartr/spool +# +# The path to the redirection data file +RedirectionFile = etc/redirections.dat +# +# The type of keystore for https +KeyStoreType = PKCS12 +# +# The type of truststore for https +TrustStoreType = jks +# +# The path to the file used to trigger an orderly shutdown +QuiesceFile = etc/SHUTDOWN +# +# The key used to generate passwords for node to node transfers +NodeAuthKey = Node123! +# +# DR_NODE DEFAULT ENABLED TLS PROTOCOLS +NodeHttpsProtocols = TLSv1.1|TLSv1.2 +# +# AAF type to generate permission string +AAFType = org.onap.dmaap-dr.feed +# +# AAF default instance to generate permission string - default should be legacy +AAFInstance = legacy +# +# AAF action to generate permission string - default should be publish +AAFAction = publish +# +# AAF CADI enabled flag +CadiEnabled = false +# +# AAF Props file path +AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props \ No newline at end of file diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties b/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties new file mode 100644 index 00000000..20b5cb92 --- /dev/null +++ b/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties @@ -0,0 +1,60 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START================================================== +# * org.onap.dmaap +# * =========================================================================== +# * Copyright � 2017 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==================================================== +# * +# * ECOMP is a trademark and service mark of AT&T Intellectual Property. +# * +#------------------------------------------------------------------------------- + +#Jetty Server properties +org.onap.dmaap.datarouter.provserver.http.port = 8080 +org.onap.dmaap.datarouter.provserver.https.port = 8443 +org.onap.dmaap.datarouter.provserver.https.relaxation = true + +org.onap.dmaap.datarouter.provserver.aafprops.path = /opt/app/osaaf/local/org.onap.dmaap-dr.props + +org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs +org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool +org.onap.dmaap.datarouter.provserver.dbscripts = /opt/app/datartr/etc/misc +org.onap.dmaap.datarouter.provserver.logretention = 30 + +#DMAAP-597 (Tech Dept) REST request source IP auth +# relaxation to accommodate OOM kubernetes deploy +org.onap.dmaap.datarouter.provserver.isaddressauthenabled = false + +#Localhost address config +org.onap.dmaap.datarouter.provserver.localhost = 127.0.0.1 + +# Database access +org.onap.dmaap.datarouter.db.driver = org.mariadb.jdbc.Driver +org.onap.dmaap.datarouter.db.url = jdbc:mariadb://datarouter-mariadb:3306/datarouter +org.onap.dmaap.datarouter.db.login = datarouter +org.onap.dmaap.datarouter.db.password = datarouter + +# PROV - DEFAULT ENABLED TLS PROTOCOLS +org.onap.dmaap.datarouter.provserver.https.include.protocols = TLSv1.1|TLSv1.2 + +# AAF config +org.onap.dmaap.datarouter.provserver.cadi.enabled = false + +org.onap.dmaap.datarouter.provserver.passwordencryption = PasswordEncryptionKey#@$%^&1234# +org.onap.dmaap.datarouter.provserver.aaf.feed.type = org.onap.dmaap-dr.feed +org.onap.dmaap.datarouter.provserver.aaf.sub.type = org.onap.dmaap-dr.sub +org.onap.dmaap.datarouter.provserver.aaf.instance = legacy +org.onap.dmaap.datarouter.provserver.aaf.action.publish = publish +org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe \ No newline at end of file diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks b/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks new file mode 100644 index 00000000..679c95a5 Binary files /dev/null and b/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks differ diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 b/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 deleted file mode 100644 index 14513277..00000000 --- a/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 +++ /dev/null @@ -1,25 +0,0 @@ -/u3+7QAAAAIAAAABAAAAAgAKY2FfbG9jYWxfMAAAAWmAkeoCAAVYLjUwOQAABUIwggU+MIIDJqAD -AgECAgkAnq7twKfOtZ0wDQYJKoZIhvcNAQELBQAwLDEOMAwGA1UECwwFT1NBQUYxDTALBgNVBAoM -BE9OQVAxCzAJBgNVBAYTAlVTMB4XDTE4MDQwNTE0MTUyOFoXDTM4MDMzMTE0MTUyOFowLDEOMAwG -A1UECwwFT1NBQUYxDTALBgNVBAoMBE9OQVAxCzAJBgNVBAYTAlVTMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEAwDmmSBGzs2EYbh7Dkmi6HJhqSBhTIVobXbX7+HyptJ23SFVC/nr4QDjV -irtcaJ7tFgNAr02YAUXeCu4T7pfvC8mIKGn4LJ3uwUydvrm5aHER3FZMzYEkWuB/NScfxkLGBoKj -dcfg/OUpHLYtBAkQkQLCX9FmZEJeKMy3l72Hxehlj98qQpxllSxY0IylOjbrrCO8D0xcuZ2BF5GP -T6+sKOs2rL6G3AkPO2iIdaJg+pPqjwS8ZyCM2qOVnHs1Q1/wx8sMHKooXr7BFse/UYqOff9WKN3j -kW/yuLJFhE6IVqe9tXqMh8GS/w9lteDZUNaxiyCnw0C8zEr6JXxw74KTeUEjYY49lsISqk9VNhst -TPqxzMCUJfBCg/MMhljBhrd5H+BgtjWA/aIRUc5FqDdss9qn1lfkTwNmTNM1OOi+8uTwpoKZ9xpQ -wmwG0N0ClxSK3PXRydHJlzWxfeATV/cOnNAzq30Lmw5XJGENxKsqqrBv2bRKzThcBL0Wyow/dRZh -DKoNdLGVQBhpfz3a7yZXWHGe3aCNvbZGWhcwzpOi8zexKslLTAf6XWfOd3poVd+1L8bhlUhVn8t9 -PWKzhK2jI9ZkLDDCXLXPyolD/OGKnk2BlPFDDiaLvDDfkNg90BA4KhqN9K8WOqyVD9w9GL8xEK7T -v2F5Vvl9CefNW2ekVBECAwEAAaNjMGEwHQYDVR0OBBYEFFNVM/JL69BRscF4msEoMXvv6u1JMB8G -A1UdIwQYMBaAFFNVM/JL69BRscF4msEoMXvv6u1JMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA/H8hor3ifTbA/GmdhPL4tUsjHB2r+RrA13ohuIzMv -zvOY0wOYdwZt+hEKPw6SG6CBf0vHX8KSGleKa5ixk4VCLluWv+76/iYhuyBuaL3uP5xQcM/TMvJy -9K/Eoe3LnUvCZpf1rjCQmXnMFTg7Wx38f21ZwSbAnf2W0qgEoHFz3hlzeIybnK1FYaP7SsrMsMBc -RamhnlsTk8slq4DpQMLEMt+zcXCFtLu4OCDFi9+PJIXkUI0RP3ign6byztV4e+hryI8Yq9esip13 -tcMeeokmVUqvub1LR8xvIQHxyLZG05cO33eJ9jW6GgS0TKSfh2oFKnx7O80yfChd1g8O9N324IAV -5YUtWt4EBbF3bmE+wFORkDmGlr+sD6Yq/oB/hUFWJivxzPh1kKwUKG6KhV5t72KCGt+MH/+op6kW -M8ULKPMo3W7Qkqb/bH85GrGRM40byne4PCgg7KKZRxO1My/jZt9gPzxEpqSpIVcT0b5nQuVooAGp -+Mrj2j+2wCn5zkug2ViWUqGd607dAB2tofB2YLfoGGiCHNHWOlfvnUBxmfZUfdDhcrKnTVwk0Iki -u5r4D5vHrOHdHJbrMgiRtEJsRP5QP7iavxYhxITea1FlWWeFQM7jP3/9YoxXPBL1GHz+S6zOsYUj -UpCjNcIcutx7dg/pFhl8553v0tdpHBd1hnsHnlbKPpawxer5hLDs2S++H7Xx diff --git a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml b/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml deleted file mode 100644 index bf28b9fa..00000000 --- a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml +++ /dev/null @@ -1,67 +0,0 @@ -version: '2.1' -services: - datarouter-prov: - image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov - container_name: datarouter-prov - hostname: dmaap-dr-prov - ports: - - "443:8443" - - "8443:8443" - - "8080:8080" - volumes: - - ../prov_data/provserver.properties:/opt/app/datartr/etc/provserver.properties - - ../prov_data/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt - - ../prov_data/addFeed3.txt:/opt/app/datartr/addFeed3.txt - depends_on: - mariadb_container: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"] - interval: 10s - timeout: 10s - retries: 5 - extra_hosts: - - "dmaap-dr-node:1.1.1.1" - - "dcae-pm-mapper:3.3.3.3" - - datarouter-node: - image: nexus3.onap.org:10001/onap/dmaap/datarouter-node - container_name: datarouter-node - hostname: dmaap-dr-node - ports: - - "9443:8443" - - "9090:8080" - volumes: - - ../node_data/node.properties:/opt/app/datartr/etc/node.properties - depends_on: - datarouter-prov: - condition: service_healthy - extra_hosts: - - "dmaap-dr-prov:2.2.2.2" - - "dcae-pm-mapper:3.3.3.3" - - mariadb_container: - image: mariadb:10.2.14 - container_name: mariadb - ports: - - "3306:3306" - environment: - MYSQL_ROOT_PASSWORD: datarouter - MYSQL_DATABASE: datarouter - MYSQL_USER: datarouter - MYSQL_PASSWORD: datarouter - healthcheck: - test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--silent"] - interval: 10s - timeout: 30s - retries: 5 - - consul: - container_name: consul - image: nexus3.onap.org:10001/consul:latest - - cbs: - container_name: cbs - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:latest - environment: - CONSUL_HOST: \ No newline at end of file diff --git a/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml b/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml new file mode 100644 index 00000000..c9f3e9ad --- /dev/null +++ b/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml @@ -0,0 +1,121 @@ +version: '3.3' + +services: + datarouter-prov: + image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov + container_name: datarouter-prov + hostname: dmaap-dr-prov + ports: + - "443:8443" + - "8443:8443" + - "8080:8080" + volumes: + - /var/tmp/provserver.properties:/opt/app/datartr/etc/provserver.properties + - /var/tmp/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt + - /var/tmp/addFeed3.txt:/opt/app/datartr/addFeed3.txt + depends_on: + - mariadb + healthcheck: + test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"] + interval: 10s + timeout: 10s + retries: 5 + networks: + pmmapper-network: + ipv4_address: $DR_PROV_IP + extra_hosts: + - "dmaap-dr-node:$DR_NODE_IP" + - "dcae-pm-mapper:$PMMAPPER_IP" + + datarouter-node: + image: nexus3.onap.org:10001/onap/dmaap/datarouter-node + container_name: datarouter-node + hostname: dmaap-dr-node + ports: + - "9443:8443" + - "9090:8080" + volumes: + - /var/tmp/node.properties:/opt/app/datartr/etc/node.properties + depends_on: + - datarouter-prov + networks: + pmmapper-network: + ipv4_address: $DR_NODE_IP + extra_hosts: + - "dmaap-dr-prov:$DR_PROV_IP" + - "dcae-pm-mapper:$PMMAPPER_IP" + + node: + image: node:10-slim + container_name: mr-simulator + volumes: + - /var/tmp/mrserver.js:/tmp/mrserver.js + command: + nodejs /tmp/mrserver.js + networks: + pmmapper-network: + ipv4_address: $NODE_IP + + mariadb: + image: mariadb:10.2.14 + container_name: mariadb + ports: + - "3306:3306" + environment: + MYSQL_ROOT_PASSWORD: datarouter + MYSQL_DATABASE: datarouter + MYSQL_USER: datarouter + MYSQL_PASSWORD: datarouter + healthcheck: + test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--silent"] + interval: 10s + timeout: 30s + retries: 5 + networks: + pmmapper-network: + ipv4_address: $MARIADB_IP + + consul: + container_name: consul + image: nexus3.onap.org:10001/consul:latest + networks: + pmmapper-network: + ipv4_address: $CONSUL_IP + + cbs: + container_name: cbs + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:latest + environment: + CONSUL_HOST: $CONSUL_IP + networks: + pmmapper-network: + ipv4_address: $CBS_IP + + pmmapper: + container_name: pmmapper + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest + ports: + - "8081:8081" + volumes: + - /var/tmp/:/opt/app/pm-mapper/etc/certs/ + depends_on: + - datarouter-prov + environment: + CONFIG_BINDING_SERVICE_SERVICE_HOST: $CBS_IP + CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000 + HOSTNAME: pmmapper + networks: + pmmapper-network: + ipv4_address: $PMMAPPER_IP + extra_hosts: + - "dmaap-dr-node:$DR_NODE_IP" + - "message-router:$NODE_IP" + + +networks: + pmmapper-network: + driver: bridge + ipam: + config: + - subnet: 172.18.0.0/16 + diff --git a/plans/dcaegen2-pmmapper/pmmapper/setup.sh b/plans/dcaegen2-pmmapper/pmmapper/setup.sh index 29b8d9c5..7d851738 100644 --- a/plans/dcaegen2-pmmapper/pmmapper/setup.sh +++ b/plans/dcaegen2-pmmapper/pmmapper/setup.sh @@ -2,136 +2,93 @@ # Place the scripts in run order: source ${SCRIPTS}/common_functions.sh -# Clone DMaaP Message Router repo -mkdir -p $WORKSPACE/archives/dmaapmr -cd $WORKSPACE/archives/dmaapmr -git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master -sed -i 's/enableCadi: false/enableCadi: "false"/g' /$WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose/docker-compose.yml -cd $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose -cp $WORKSPACE/archives/dmaapmr/messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/ - -# start DMaaP MR containers with docker compose and configuration from docker-compose.yml docker login -u docker -p docker nexus3.onap.org:10001 -docker-compose up -d -ZOOKEEPER=$(docker ps -a -q --filter="name=zookeeper_1") -KAFKA=$(docker ps -a -q --filter="name=kafka_1") -DMAAP=$(docker ps -a -q --filter="name=dmaap_1") +TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper -# Get IP address of KAFKA, Zookeeper -KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $KAFKA) -ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $ZOOKEEPER) +export GATEWAY_IP=172.18.0.1 +export DR_NODE_IP=172.18.0.2 +export DR_PROV_IP=172.18.0.3 +export CONSUL_IP=172.18.0.4 +export CBS_IP=172.18.0.5 +export MARIADB_IP=172.18.0.6 +export NODE_IP=172.18.0.7 +export PMMAPPER_IP=172.18.0.8 -# Shutdown DMAAP Container -docker kill $DMAAP +for asset in provserver.properties addSubscriber.txt addFeed3.txt node.properties cbs.json mrserver.js cert.jks jks.pass trust.jks trust.pass; do + cp $TEST_PLANS_DIR/assets/${asset} /var/tmp/ +done -# Initial docker-compose up and down is for populating kafka and zookeeper IPs in /var/tmp/MsgRtrApi.properites -sed -i -e '/config.zk.servers=/ s/=.*/='$ZOOKEEPER_IP'/' /var/tmp/MsgRtrApi.properties -sed -i -e '/kafka.metadata.broker.list=/ s/=.*/='$KAFKA_IP':9092/' /var/tmp/MsgRtrApi.properties +sed -i 's/datarouter-mariadb/'$MARIADB_IP'/g' /var/tmp/provserver.properties +#sed -i 's//'$KAFKA_IP'/g' /var/tmp/addSubscriber.txt +#sed -i 's//'$KAFKA_IP'/g' /var/tmp/addFeed3.txt +#sed -i 's/ipaddress/'$CBS_IP'/g' /var/tmp/cbs.json +sed -i 's/ipaddress//g' /var/tmp/cbs.json -# Start DMaaP MR containers with docker compose and configuration from docker-compose.yml -docker login -u docker -p docker nexus3.onap.org:10001 -docker-compose up -d -sleep 5 +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d mariadb consul cbs node -# Get IP address of DMAAP Message Router. -DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $DMAAP) - -# Clone DMaaP Data Router repo and Initialization of Data Router, Consul, Config Binding Service -mkdir -p $WORKSPACE/archives/dmaapdr -cd $WORKSPACE/archives/dmaapdr -git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources -mkdir docker-compose -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose -cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose.yml -docker login -u docker -p docker nexus3.onap.org:10001 -docker-compose up -d -echo "Disregard the message ERROR: for datarouter-node Container 1234456 is unhealthy, this is expected behaiour at this stage" -sleep 10 -docker kill cbs -CONSUL_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul ) -sed -i -e '/CONSUL_HOST:/ s/:.*/: '$CONSUL_IP'/' docker-compose.yml -MARIADB=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb ) -sed -i 's/datarouter-mariadb/'$MARIADB'/g' $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties -docker-compose up -d -DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov) -DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node) - -# Consul Configuration for PM Mapper -cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cbs.json /tmp/cbs.json -sed -i 's/ipaddress/'${CBS_IP}'/g' /tmp/cbs.json -curl --request PUT --data @/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register -curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/config.json +echo "Waiting for MariaDB to come up healthy..." +for i in {1..30}; do + mariadb_state=$(docker inspect --format='{{json .State.Health.Status}}' mariadb) + if [ $mariadb_state = '"healthy"' ] + then + break + else + sleep 2 + fi +done +[ "$mariadb_state" != '"healthy"' ] && echo "Error: MariaDB container state not healthy" && exit 1 -# PM Mapper startup and configuration -mkdir /tmp/docker-compose -cd /tmp/docker-compose -cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml /tmp/docker-compose/docker-compose.yml -CBS_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cbs) -sed -i 's/CBSIP/'$CBS_IP'/g' docker-compose.yml -sed -i 's/1.1.1.1/'$DR_NODE_IP'/g' docker-compose.yml -sed -i 's/4.4.4.4/'$MARIADB'/g' docker-compose.yml -docker-compose up -d +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d datarouter-node datarouter-prov -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose -PMMAPPER_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pmmapper) -docker kill datarouter-node -docker kill datarouter-prov -sed -i 's/1.1.1.1/'$DR_NODE_IP'/g' docker-compose.yml -sed -i 's/2.2.2.2/'$DR_PROV_IP'/g' docker-compose.yml -sed -i 's/3.3.3.3/'$PMMAPPER_IP'/g' docker-compose.yml -docker-compose up -d +curl --request PUT --data @/var/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register +curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT \ + -H 'Accept: application/json' \ + -H 'Content-Type: application/json' \ + -H 'X-Requested-With: XMLHttpRequest' \ + --data @$TEST_PLANS_DIR/assets/config.json -# Setting up PM Mapper certs. -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 pmmapper:opt/app/pm-mapper/etc/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/jks.pass pmmapper:opt/app/pm-mapper/etc/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 pmmapper:opt/app/pm-mapper/etc/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.pass pmmapper:opt/app/pm-mapper/etc/ -docker restart pmmapper +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d pmmapper +sleep 2 # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb, Consul, CBS +containers_ok=false for i in {1..5}; do if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \ [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \ [ $(docker inspect --format '{{ .State.Running }}' mariadb) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' mr-simulator) ] && \ [ $(docker inspect --format '{{ .State.Running }}' consul) ] && \ [ $(docker inspect --format '{{ .State.Running }}' cbs) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' pmmapper) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' $KAFKA) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' $ZOOKEEPER) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' $DMAAP) ] + [ $(docker inspect --format '{{ .State.Running }}' pmmapper) ] then - echo "Message Router, Data Router, Consul, Config Binding Service Running and PM Mapper services are running healthy" + echo "All required docker containers are up." + containers_ok=true break else - echo sleep $i sleep $i fi done +[ "$containers_ok" = "false" ] && echo "Error: required container not running." && exit 1 + # Data Router Configuration. -DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node) -DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov) -docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP" -docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP" +docker exec -i datarouter-prov sh -c \ + "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$GATEWAY_IP" +docker exec -i datarouter-prov sh -c \ + "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$GATEWAY_IP" # Create PM Mapper feed and create PM Mapper subscriber on data router -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" --data-ascii @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443 -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" --data-ascii @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 - -# Simulation setup for Message Router -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/mrserver.js mariadb:/ -docker exec mariadb /bin/bash -c "apt update" -sleep 2 -docker exec mariadb /bin/bash -c "apt install nodejs -y" +curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" \ + --data-ascii @$TEST_PLANS_DIR/assets/createFeed.json \ + --post301 --location-trusted -k https://${DR_PROV_IP}:8443 +curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" \ + --data-ascii @$TEST_PLANS_DIR/assets/addSubscriber.json \ + --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 + +docker cp pmmapper:/var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log /tmp/pmmapper.log sleep 10 -docker exec mariadb /bin/bash -c "nodejs mrserver.js &" & - -PMMAPPER_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pmmapper) -docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" > /tmp/pmmapper.log -cat /tmp/pmmapper.log docker exec -it datarouter-prov sh -c "curl http://dmaap-dr-node:8080/internal/fetchProv" -sleep 10 curl -k https://$DR_PROV_IP:8443/internal/prov + #Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}" \ No newline at end of file +ROBOT_VARIABLES="-v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}" diff --git a/plans/dcaegen2-pmmapper/pmmapper/teardown.sh b/plans/dcaegen2-pmmapper/pmmapper/teardown.sh index 45ef0d93..77bed8e0 100644 --- a/plans/dcaegen2-pmmapper/pmmapper/teardown.sh +++ b/plans/dcaegen2-pmmapper/pmmapper/teardown.sh @@ -1,12 +1,7 @@ #!/bin/bash echo "Starting teardown script" +TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper +mkdir -p $WORKSPACE/archives docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" -kill-instance.sh $DMAAP -kill-instance.sh $KAFKA -kill-instance.sh $ZOOKEEPER -kill-instance.sh datarouter-node -kill-instance.sh datarouter-prov -kill-instance.sh mariadb -kill-instance.sh cbs -kill-instance.sh consul -kill-instance.sh pmmapper \ No newline at end of file +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml logs > $WORKSPACE/archives/pmmapper-docker-compose.log +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml down -v diff --git a/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/setup.sh b/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/setup.sh index 9551ce43..2d631cc9 100644 --- a/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/setup.sh +++ b/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/setup.sh @@ -7,7 +7,7 @@ export BBS_SERVICE="bbs" export DMAAP_SIMULATOR="dmaap_simulator" export AAI_SIMULATOR="aai_simulator" -cd ${WORKSPACE}/tests/dcaegen2/bbs-testcases/resources/ +cd ${WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/ pip uninstall -y docker-py pip uninstall -y docker diff --git a/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/testplan.txt b/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/testplan.txt index 9f1794bd..2d774a6e 100644 --- a/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/testplan.txt +++ b/plans/dcaegen2-services-bbs-event-processor/bbs-testsuites/testplan.txt @@ -1,3 +1,3 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -dcaegen2/bbs-testcases +dcaegen2-services-bbs-event-processor/bbs-testcases diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/cert.pem b/plans/dcaegen2-services-pmsh/testsuite/assets/cert.pem new file mode 100644 index 00000000..1f789ba2 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/cert.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFbTCCA1WgAwIBAgIUWBWdddkqFoaTksLso+0fNNWSeKkwDQYJKoZIhvcNAQEL +BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0yMDAyMTcxNjM2NTdaGA8yMDUw +MDIwOTE2MzY1N1owRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx +ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAM8+IPmw6dYR1zgtpjiiXQS3Z1sYcnH0fx5N2mUw +nOENZu9OZxAcMzL+kPavcqTG3eF+0Ow9/vuzDqf15B+TuYFAbGw9iPUVl+k4SOeF +vgaeJCUEQSfrIcq1AR4/CApVMK2jwHJ2zSUHkXxaNtRCD+wj5n5E1ljJvh3YCJmW +MiS7DXxs/Mi0I85rRXcUOdmr14dqF0xlzWwAfoo43GSKnDIVRxzMtb6AqIZTMtk9 +0/0qkeju8eTMNEswtkOs4Q3vTqqkgeOaN4TXXO2x34waM2bCDDCBNzpYGSWs+pwo +i3qOZRP/kZZWI9SwU5RUygpA/i9PGD1Wfxx6HIGzfmVAaJR5YH4ow9hM5xGkiV// +BAb4C/3J3GTugfypsc+0/JRtlYoaNplHHqNRBcvqPq+G0Pfi9kYDrNw4iTGCxuHT +20CfrkxGdWQBPmtjcKNcVKP9e+u0YS47H29x5gDKxxwTmqNjyCz0XmvyFQI3ie1L +K7NhVV1llh02s/4wOBzEutR7iVc9yJK4tmJ25xLYGZU1NJiUBAgeLKwko3kGBwVE +eeh6TadEkRK3Y7BxJmIvTVsu+sGDVtgzaJyYW2+Ze6qVd7+qZ6jeIBrjnOzLm/R/ +8gweuPn3sJ5N+pU4R6A5Mm4FJQykAE4fgcHLYSsd4gsmShbgF9w6rFzajSW/QmPG +E6VLAgMBAAGjUzBRMB0GA1UdDgQWBBSGIDaR8NMacFBkNUJ6wJKPUXsrGjAfBgNV +HSMEGDAWgBSGIDaR8NMacFBkNUJ6wJKPUXsrGjAPBgNVHRMBAf8EBTADAQH/MA0G +CSqGSIb3DQEBCwUAA4ICAQBuS+g5V2bpNZTxwYpOjUuLLexabns1xOjG61bFu8Aa +nOyHHMPeQSDMC+RGpcmspo6v0nsL/98sxKeJTfy58kbLricg8MMpHg1HmWGthQiY +4/MZfMkZaJxkH9OWJZjzHWn4elv+rg655e5mD8nGIXiS4vxyeDy4WP4CFtuIG4Ul +HFgYsyhkaYa+q9knzhgPjYLPk9z27mltSNFdh9tBlWDZJ6nzUfbKUTBZZTG9Zv0S +knNX+bFS/Q+MccGO+J1xPItGa/C42F/N/6MP5Nwt2eTzegJEn6+d7ICFUV6sShV0 +ErR82mg3eakrvM4TkMThSAskVIOSh51BkTkuMjOJ9xVclCVLLDeo7Zsg2oWMW3eC +GG5/naaJBzKi38Bm1h6o9l2gOS1qjG+77fx5tbYwLYVTYuRQURyRkFdwRH75lqxR +HOFK+epYzBSOegJA3SvlkRv/Ub+TSMwWlWX1fgWijvbGTUla3cLRl1kQsY5Gzwl3 +XMCAgGcNKlmOWtdDEPUoNUaN9Qvj3Jdk/Szeli370k+qIc8Vt5U5CcC4RJF78Emr +A5EVnjxW61yFopcaAvjeRqH/tKtZBrEqzLmpyqbFlMaSVyJ+4L3G+DPZUbX0ypod +9ouIpBUmGIUyVZYKZdtZgDcz8gEVyHVvReRegpWK4PqTK1Sp5V4AL+KsvtB/Lkk1 +WA== +-----END CERTIFICATE----- diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json b/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json new file mode 100644 index 00000000..222aafd5 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json @@ -0,0 +1,185 @@ +[ + { + "httpRequest": { + "path": "/service_component_all/.*" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": { + "policy": { + "subscription": { + "subscriptionName": "ExtraPM-All-gNB-R2B", + "administrativeState": "UNLOCKED", + "fileBasedGP": 15, + "fileLocation": "/pm/pm.xml", + "nfTypeModelInvariantId": "2829292", + "nfFilter": { + "swVersions": [ + "1.0.0", + "1.0.1" + ], + "nfNames": [ + "^pnf.*", + "^vnf.*" + ] + }, + "measurementGroups": [ + { + "measurementGroup": { + "measurementTypes": [ + { + "measurementType": "countera" + }, + { + "measurementType": "counterb" + } + ], + "managedObjectDNsBasic": [ + { + "DN": "dna" + }, + { + "DN": "dnb" + } + ] + } + }, + { + "measurementGroup": { + "measurementTypes": [ + { + "measurementType": "counterc" + }, + { + "measurementType": "counterd" + } + ], + "managedObjectDNsBasic": [ + { + "DN": "dnc" + }, + { + "DN": "dnd" + } + ] + } + } + ] + } + }, + "config": { + "cert_path": "/opt/app/pmsh/etc/certs/cert.pem", + "streams_publishes": { + "policy_pm_publisher": { + "dmaap_info": { + "client_id": "1475976809466", + "client_role": "org.onap.dcae.pmPublisher", + "topic_url": "https://node:30226/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", + "location": "san-francisco" + }, + "type": "message_router" + }, + "other_publisher": { + "dmaap_info": { + "location": "san-francisco", + "topic_url": "https://node:30226/events/org.onap.dmaap.mr.SOME_OTHER_TOPIC", + "client_role": "org.onap.dcae.pmControlPub", + "client_id": "1875976809466" + }, + "type": "message_router" + } + }, + "streams_subscribes": { + "aai_subscriber": { + "type": "message_router", + "dmaap_info": { + "client_id": "1575976809466", + "client_role": "org.onap.dcae.aaiSub", + "topic_url": "https://node:30226/events/AAI_EVENT", + "location": "san-francisco" + } + }, + "policy_pm_subscriber": { + "dmaap_info": { + "location": "san-francisco", + "topic_url": "https://node:30226/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", + "client_role": "org.onap.dcae.pmSubscriber", + "client_id": "1575876809456" + }, + "type": "message_router" + } + }, + "key_path": "/opt/app/pmsh/etc/certs/key.pem", + "aaf_identity": "dcae@dcae.onap.org", + "aaf_password": "demo123456!" + } + } + } + } + }, + { + "httpRequest": { + "path": "/aai/v16/query.*" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": { + "results": [ + { + "id": "327736", + "node-type": "pnf", + "url": "/aai/v16/network/pnfs/pnf/pnf207", + "properties": { + "pnf-name": "pnf207", + "pnf-id": "55e57cd1-ab8b-40cd-97d5-cfc774fef616", + "equip-type": "val8", + "equip-vendor": "Nokia", + "equip-model": "val6", + "ipaddress-v4-oam": "10.10.10.26", + "sw-version": "val7", + "in-maint": false, + "serial-number": "6061ZW3", + "ipaddress-v6-oam": "2001:0db8:0:0:0:0:1428:57ab", + "resource-version": "1573066346347", + "nf-role": "gNB" + } + }, + { + "id": "241864", + "node-type": "generic-vnf", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/1083ecbb-f3b3-49da-b5f5-b5962140ee99", + "properties": { + "vnf-id": "1083ecbb-f3b3-49da-b5f5-b5962140ee99", + "vnf-name": "vnf", + "vnf-type": "demoVCPEvBNG/vCPE_vbng 5eb5661a-0cb6 0", + "service-id": "2db01c96-4baa-4393-8d79-af8d7bf4698e", + "prov-status": "PREPROV", + "orchestration-status": "Inventoried", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1575541662410", + "model-invariant-id": "7129e420-d396-4efb-af02-6b83499b12f8", + "model-version-id": "e80a6ae3-cafd-4d24-850d-e14c084a5ca9", + "model-customization-id": "376dbe87-e9c5-4f2b-80e2-a420b373ee87" + } + } + ] + } + } + } + } +] diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/key.pem b/plans/dcaegen2-services-pmsh/testsuite/assets/key.pem new file mode 100644 index 00000000..eddafc1f --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/key.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDPPiD5sOnWEdc4 +LaY4ol0Et2dbGHJx9H8eTdplMJzhDWbvTmcQHDMy/pD2r3Kkxt3hftDsPf77sw6n +9eQfk7mBQGxsPYj1FZfpOEjnhb4GniQlBEEn6yHKtQEePwgKVTCto8Byds0lB5F8 +WjbUQg/sI+Z+RNZYyb4d2AiZljIkuw18bPzItCPOa0V3FDnZq9eHahdMZc1sAH6K +ONxkipwyFUcczLW+gKiGUzLZPdP9KpHo7vHkzDRLMLZDrOEN706qpIHjmjeE11zt +sd+MGjNmwgwwgTc6WBklrPqcKIt6jmUT/5GWViPUsFOUVMoKQP4vTxg9Vn8cehyB +s35lQGiUeWB+KMPYTOcRpIlf/wQG+Av9ydxk7oH8qbHPtPyUbZWKGjaZRx6jUQXL +6j6vhtD34vZGA6zcOIkxgsbh09tAn65MRnVkAT5rY3CjXFSj/XvrtGEuOx9vceYA +ysccE5qjY8gs9F5r8hUCN4ntSyuzYVVdZZYdNrP+MDgcxLrUe4lXPciSuLZiducS +2BmVNTSYlAQIHiysJKN5BgcFRHnoek2nRJESt2OwcSZiL01bLvrBg1bYM2icmFtv +mXuqlXe/qmeo3iAa45zsy5v0f/IMHrj597CeTfqVOEegOTJuBSUMpABOH4HBy2Er +HeILJkoW4BfcOqxc2o0lv0JjxhOlSwIDAQABAoICAQCQm8eis2HXcAd/Ocs8xX6m +pdtG414oSfTRjn2QEkXFe/aRkWG1Chhnwt4gY/hZJjL4/+aEkhX0R9M4PAn8RrYw +jGWbeayxZ2ni4NVuSBJ6x6ps8fUNB7NCoN6w3kab/ynCX/sPY/ptlkRcQw7zOU2m +9r4E6b+voMY6SN5nXTiMDMGyStJwsdIyXQPRvZlIW/I+mTa8pmSashWaGWcf+OBY +yiQe4nEHBvuRD0jx8YSUqTm7EdBUWHE87jagLmezs4Ju6+9+g8OtvCEp8u4L8tRf +JZQf3GpPGd4iPft5L4lz8RxywegywNSruoX3gNqiIQu8szI0ysBTfJmbn0XZHQJb +JobVnKNzz/h1DUt6LFxS4fasjGpF2XfMUFxleFFhjpPFjMbw8EnjMWW2gxyCz9iT +EqPhtwaAjUh0VwVwIVSZTyKdp1Bw9duisXCSl4kHBTcGivK8GcP0xmJvjl16NjoD +AbElC51PlpHUACG2jD4eM1WaTs8uTMstQvrxESuBxyxBLFGWse9IplhANmFuCLKt +jIjqjeLZRhqyFQehdQ21174rC4wqBrxEfx9mYSd+FVjQ0Hxj1D3dKJ2g9Z9v7YUx +Be/2Rj2X/zpCHvZ0OySYEdO3VWzw4oOSjn5SKhZc3CQ1c/E/I0KtsbKMPz2hFZj2 +p7r8kLNxXcpQNznhoLjyIQKCAQEA6PCRHpJECTv1kyVM3kO+Vh9QR4spAZB0hYsM +KoH5aGJboWbLK7b+6IQdNNUmZ8mWffDYiaOYua3iDH0jJFmW8gIBCpEl3G14UIl/ +LatdS5tyqpaw678WBUrLqVvKIHSNpwOWvko/lR6jae8fGOxZh2DaYpzZa6ny3+QD +HST1Rk/dPxtFY/fXuexVKddv6i/0dy4kkLp7mRpXTeutzBUey6wmOzPMTIbQvXyT +FDxpn8tn5V+1cv9GKqvl1/Z8bQEVFCcUXXNrY2DlYUm5JdlaLnAaWLkLuxbQBWbC +H0spL60hgUn6NAxuT0ykZGGxKVmsv5M75AbjvI6+89j8XcYwSQKCAQEA48JRUMSr +8oohmagEFMp0PWtNqfVSyiAb6DnDv+nULUkxRJQ1p0M2fQkFpGNsRyXoPtZEeKho +ekWWHNq9YeydthIP/tmBDOL+n0upA0c9UoH9Zjggpd3G2oA8gRtgWYZunTSCtAtx +27p9eDl2Wf11iuOVzsH41cSgtAG3+pFu1A2NVqyogQOV2Mv+b4ofl+6EHlJtw7eW +jECc+qiImzrGXCYVn07BjDQKSMB5Ca3lQAMOo+0aK/xea3nD73HTHeY4xY/KqyGP +k3qvr8dncdPjT7AyQNyk4e6XS02wxAPHuamTYRq9c6v1PpypG/MnsCT6pJ+bfgXw +U65cN3+zrvVQ8wKCAQEAn1DBgC47eDFZEU2mmDGvAUojZvsnjZlWCGwEYyJICXuT +/fzHIlvjVfXd39+Uh9GZKwPJpcGNWBk0DKSdn2Pi2BxEyAxj37HDYxnXMM4OXgKw +Vzn/QQ2NKwtv5aIQyUfOBhdvRzCS8hNlYrOYCjzEMtIsKtvp3Df9E+Hnu0wmsPM4 +d8vYFrpRAilASgC922b3BXg6q/3PQPSCF5oEYRtk15oi/8S6ivB93ctQ8Lss5oyA +v6FJAaDURaUR6zX6/baKyyC7Tfr9zJdd6r84cUmJ407qxhmxi0Db/4W7aRnHzoLT +8pA9HtINtBDQMpOaTpS1kMVLZfbMVY8vzKlwWVaOeQKCAQEAyMiyhOCMsSmCy4Hp +7yY3aTniYpVp4dSCpave3J3XtgCTVWDPF+BR9dJxTeV0PBi38EVWYYQdbsVPu6o+ +UEiXFD5CKao3cVPfojDCE6jG76i26llKts6XkmKAdFTdEK9Jbn8vRmfcfRefqtAF +fPnLmKBfncE0i8dm4KmvNk7lhD1aP3HArtOpU1EqwcvjZD4Z7N0/9M0xA/2mJfdT +Tn13Bx9v6lw0llP+SPqc+aJ6un63dl38t5Ao8NiMmdcfhXlCzS+hPFI+z4XVwcGp +eRiRiNvMwY+CL8b1S6Z20aZ/eTZ8PZukLogGkKbtEj2+3DMNXvlxy5ySrELG+woy +LmgHbwKCAQB7OblCZS4Uw56c8o3zJA7ctn4t2YvOGHSXjtva5XP5duezuBiQ9si2 +TpWej2sJiEuxGusz1SblRnWFeanllyIYl9qIEBxOWLCVw6YZDtu/XysH5miAk5Qi +RRHSt9MfKBgN4OkPSBCkB+ySk/T9in4muUVSd+OwToCKKZv4rgpu+hDn7U3bbzTV +rX/cdAJnlkzAT4PsrnqoLr8jb2lGpXTm8xsW0wJWa6gzGC2kHHEsUbo0k3Vu1Uaz +6yBjLYXBP7txiHjkLmoPlXfzEh6ls5yFsg8Yb63NRS0T1Kvb3U1edrf78axK1JBD +hbGjpWWdg2ta42RD3MB/wgEAesncd+r4 +-----END PRIVATE KEY----- diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/mockserver.properties b/plans/dcaegen2-services-pmsh/testsuite/assets/mockserver.properties new file mode 100644 index 00000000..9c592303 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/mockserver.properties @@ -0,0 +1,26 @@ +####################################### +# MockServer & Proxy Example Settings # +####################################### + +# Socket & Port Settings + +# socket timeout in milliseconds (default 120000) +mockserver.maxSocketTimeout=120000 + +# Certificate Generation + +# delete KeyStore file on JVM shutdown (default true) +mockserver.deleteGeneratedKeyStoreOnExit=true +# certificate domain name (default "localhost") +mockserver.sslCertificateDomainName=localhost +# comma separated list of domain names for Subject Alternative Name domain names (default empty list) +mockserver.sslSubjectAlternativeNameDomains=www.example.com,www.another.com +# comma separated list of ip addresses for Subject Alternative Name ips (default empty list) +mockserver.sslSubjectAlternativeNameIps=127.0.0.1 + +# CORS + +# enable CORS for MockServer REST API +mockserver.enableCORSForAPI=true +# enable CORS for all responses +mockserver.enableCORSForAllResponses=true diff --git a/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml new file mode 100644 index 00000000..4ea89dc4 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml @@ -0,0 +1,48 @@ +version: '3.3' + +services: + mockserver: + container_name: mockserver + image: mockserver/mockserver:mockserver-5.9.0 + environment: + MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties + MOCKSERVER_INITIALIZATION_JSON_PATH: /config/initializerJson.json + volumes: + - ./assets/mockserver.properties:/config/mockserver.properties + - ./assets/initializerJson.json:/config/initializerJson.json + networks: + pmsh-network: + + db: + container_name: db + image: postgres + restart: always + environment: + POSTGRES_PASSWORD: $DB_PASSWORD + POSTGRES_USER: $DB_USER + networks: + pmsh-network: + + pmsh: + container_name: pmsh + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh + depends_on: + - db + volumes: + - ./assets/cert.pem:/opt/app/pmsh/etc/certs/cert.pem + - ./assets/key.pem:/opt/app/pmsh/etc/certs/key.pem + environment: + HOSTNAME: "dcae-pmsh" + CONFIG_BINDING_SERVICE_SERVICE_HOST: mockserver + CONFIG_BINDING_SERVICE_SERVICE_PORT: 1080 + PMSH_PG_URL: db + PMSH_PG_USERNAME: $DB_USER + PMSH_PG_PASSWORD: $DB_PASSWORD + AAI_SERVICE_HOST: mockserver + AAI_SERVICE_PORT_AAI_SSL: 1080 + networks: + pmsh-network: + +networks: + pmsh-network: + driver: bridge diff --git a/plans/dcaegen2-services-pmsh/testsuite/setup.sh b/plans/dcaegen2-services-pmsh/testsuite/setup.sh new file mode 100644 index 00000000..c70e02a1 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/setup.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Place the scripts in run order: +source ${SCRIPTS}/common_functions.sh + +export DB_USER=pmsh +export DB_PASSWORD=pmsh + +docker login -u docker -p docker nexus3.onap.org:10001 + +TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite + +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d mockserver db + +# Slow machine running CSITs can affect db coming up in time for PMSH +echo "Waiting for postgres db to come up..." +for i in {1..30}; do + docker exec -i db bash -c "PGPASSWORD=$DB_PASSWORD;psql -U $DB_USER -c '\q'" + db_response=$? + if [ "$db_response" = "0" ] + then + break + else + sleep 2 + fi +done +[ "$db_response" != "0" ] && echo "Error: postgres db not accessible" && exit 1 + +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d pmsh + +PMSH_IP=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" pmsh) + +# Slow machine running CSITs can affect PMSH coming up before CSITs are run +echo "Waiting for PMSH to come up..." +for i in {1..30}; do + pmsh_response=$(curl -k -s -o /dev/null -w "%{http_code}" https://$PMSH_IP:8443/healthcheck) + if [ "$pmsh_response" = "200" ] + then + break + else + sleep 2 + fi +done +[ "$pmsh_response" != "200" ] && echo "Error: PMSH container state not healthy" && exit 1 + +# Wait for initialization of Docker containers +containers_ok=false +for i in {1..5}; do + if [ $(docker inspect --format '{{ .State.Running }}' mockserver) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' db) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' pmsh) ] + then + echo "All required docker containers are up." + containers_ok=true + break + else + sleep $i + fi +done +[ "$containers_ok" = "false" ] && echo "Error: required container not running." && exit 1 + +#Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v PMSH_IP:${PMSH_IP}" diff --git a/plans/dcaegen2-services-pmsh/testsuite/teardown.sh b/plans/dcaegen2-services-pmsh/testsuite/teardown.sh new file mode 100644 index 00000000..c5bac315 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/teardown.sh @@ -0,0 +1,8 @@ +#!/bin/bash +echo "Starting teardown script" +TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite +mkdir -p $WORKSPACE/archives +docker exec pmsh /bin/sh -c "ls -l /var/log/ONAP/dcaegen2/services/pmsh/" +docker exec pmsh /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pmsh/*" +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml logs --no-color > $WORKSPACE/archives/pmsh-docker-compose.log +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml down -v diff --git a/plans/dcaegen2-services-pmsh/testsuite/testplan.txt b/plans/dcaegen2-services-pmsh/testsuite/testplan.txt new file mode 100644 index 00000000..3bf1dd6b --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [integration/csit.git]/tests/. +# Place the suites in run order. +dcaegen2-services-pmsh/testcases diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh index 16621241..377ce4b1 100644 --- a/plans/policy/apex-pdp/setup.sh +++ b/plans/policy/apex-pdp/setup.sh @@ -3,7 +3,7 @@ # Copyright (C) 2018 Ericsson. All rights reserved. # # Modifications copyright (c) 2019 Nordix Foundation. -# Modifications Copyright (C) 2019 AT&T Intellectual Property. +# 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. @@ -46,33 +46,15 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then exit 1 fi -# bring down maven -mkdir maven -cd maven -# download maven from automatically selected mirror server -curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" -if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then - echo "Installation of maven has failed!" - exit 1 -fi -ls -l -export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v -cd .. - -git clone http://gerrit.onap.org/r/oparent -git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH} -cd models/models-sim/models-sim-dmaap -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml -bash ./src/main/package/docker/docker_build.sh -cd ${WORKSPACE} -rm -rf ${WORK_DIR} -sleep 3 - sudo apt-get -y install libxml2-utils -export 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_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_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()' -)" +bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh + +POLICY_API_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_PAP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_APEX_PDP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" echo ${POLICY_API_VERSION} echo ${POLICY_PAP_VERSION} diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh index 91e1edee..8bd4b4af 100644 --- a/plans/policy/api/setup.sh +++ b/plans/policy/api/setup.sh @@ -30,8 +30,10 @@ pip install -U docker==2.7.0 sudo apt-get -y install libxml2-utils -export 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()' -)" +POLICY_API_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" echo ${POLICY_API_VERSION} + # Adding this waiting container to avoid race condition between api and mariadb containers. docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_dependencies diff --git a/plans/policy/distribution/setup.sh b/plans/policy/distribution/setup.sh index 18cb88ed..d1a08632 100644 --- a/plans/policy/distribution/setup.sh +++ b/plans/policy/distribution/setup.sh @@ -3,7 +3,7 @@ # Copyright (C) 2018 Ericsson. All rights reserved. # # Modifications copyright (c) 2019 Nordix Foundation. -# Modifications Copyright (C) 2019 AT&T Intellectual Property. +# 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. @@ -19,7 +19,6 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= - source ${SCRIPTS}/policy/config/policy-csit.conf export POLICY_MARIADB_VER echo ${GERRIT_BRANCH} @@ -47,34 +46,17 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then exit 1 fi -# bring down maven -mkdir maven -cd maven -# download maven from automatically selected mirror server -curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" -if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then - echo "Installation of maven has failed!" - exit 1 -fi -ls -l -export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v -cd .. - -git clone http://gerrit.onap.org/r/oparent -git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH} -cd models/models-sim/models-sim-dmaap -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml -bash ./src/main/package/docker/docker_build.sh -cd ${WORKSPACE} -rm -rf ${WORK_DIR} -sleep 3 - sudo apt-get -y install libxml2-utils -export 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_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_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_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()' -)" +bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh + +POLICY_API_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_PAP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_APEX_PDP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_DISTRIBUTION_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" echo ${POLICY_API_VERSION} echo ${POLICY_PAP_VERSION} diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh index e2ca7893..c66c4929 100755 --- a/plans/policy/drools-applications/setup.sh +++ b/plans/policy/drools-applications/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# 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. @@ -16,6 +16,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= + +# OS upgrades + source ${SCRIPTS}/policy/config/policy-csit.conf export POLICY_MARIADB_VER echo ${GERRIT_BRANCH} @@ -27,21 +30,20 @@ pip uninstall -y docker pip install -U docker==2.7.0 sudo apt-get -y install libxml2-utils -export 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()' -)" -echo ${POLICY_DRROLS_APPS_VERSION} +POLICY_DROOLS_APPS_VERSION_EXTRACT="$(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()' -)" +echo ${POLICY_DROOLS_APPS_VERSION_EXTRACT} +export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +echo ${POLICY_DROOLS_APPS_VERSION} -docker login -u docker -p docker nexus3.onap.org:10001 +echo "user information: $(id)" +echo "docker and docker-compose versions:" +docker -v && docker-compose -v -# Adding this waiting container to avoid race condition between api and mariadb containers. -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml run --rm start_dependencies -docker logs mariadb docker container ls -a docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml up -d -sleep 1m +sleep 2m -docker logs mariadb -docker logs drools docker container ls -a POLICY_DROOLS_IP=`get-instance-ip.sh drools` @@ -50,17 +52,13 @@ MARIADB_IP=`get-instance-ip.sh mariadb` echo DROOLS IP IS ${POLICY_DROOLS_IP} echo MARIADB IP IS ${MARIADB_IP} -# Wait for initialization -for i in {1..10}; do - curl -sS ${MARIADB_IP}:3306 && break - echo sleep $i - sleep $i -done - for i in {1..10}; do curl -sS ${POLICY_DROOLS_IP}:6969 && break echo sleep $i sleep $i done +# to give enough time to the usecases controller to come up +sleep 2m + ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}" diff --git a/plans/policy/drools-applications/teardown.sh b/plans/policy/drools-applications/teardown.sh index 48ab171d..886b1ea3 100755 --- a/plans/policy/drools-applications/teardown.sh +++ b/plans/policy/drools-applications/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2019 AT&T Intellectual Property. All rights reserved. +# Copyright 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. @@ -14,5 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -kill-instance.sh drools -kill-instance.sh mariadb + +mkdir -p $WORKSPACE/archives/ + +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml down -v diff --git a/plans/policy/drools-pdp/setup.sh b/plans/policy/drools-pdp/setup.sh index 4851cd7e..d50106ff 100755 --- a/plans/policy/drools-pdp/setup.sh +++ b/plans/policy/drools-pdp/setup.sh @@ -1,7 +1,7 @@ #!/bin/bash -# -# Copyright 2017 AT&T Intellectual Property. All rights reserved. -# +# ============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 @@ -14,21 +14,47 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Place the scripts in run order: -source ${SCRIPTS}/common_functions.sh +# 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 + +echo "user information: $(id)" +echo "docker information:" +docker -v && docker-compose -v && docker info + +# Component Versions + +source ${SCRIPTS}/policy/config/policy-csit.conf +export POLICY_MARIADB_VER +echo ${GERRIT_BRANCH} +echo ${POLICY_MARIADB_VER} + +sudo apt-get -y install libxml2-utils +POLICY_DROOLS_VERSION_EXTRACT="$(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_VERSION="${POLICY_DROOLS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +echo ${POLICY_DROOLS_VERSION} + +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml up -d +sleep 2m + +docker container ls -a -docker login -u docker -p docker nexus3.onap.org:10001 -docker pull nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 -docker tag nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 onap/policy-common-alpine:1.4.0 +POLICY_DROOLS_IP=`get-instance-ip.sh drools` +MARIADB_IP=`get-instance-ip.sh mariadb` -source ${WORKSPACE}/scripts/policy/drools-pdp-script.sh +echo DROOLS IP IS ${POLICY_DROOLS_IP} +echo MARIADB IP IS ${MARIADB_IP} -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v IP:${IP} -v POLICY_IP:${POLICY_IP} -v PDP_IP:${PDP_IP} -v DOCKER_IP:${DOCKER_IP}" -export PDP_IP=${PDP_IP} -export POLICY_IP=${POLICY_IP} -export DOCKER_IP=${DOCKER_IP} +for i in {1..10}; do + curl -sS ${POLICY_DROOLS_IP}:9696 && break + echo sleep $i + sleep $i +done -#Get current IP of VM -HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -export HOST_IP=${HOST_IP} +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 index 303ccff1..e08593d2 100755 --- a/plans/policy/drools-pdp/teardown.sh +++ b/plans/policy/drools-pdp/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2017 AT&T Intellectual Property. All rights reserved. +# 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. @@ -15,21 +15,6 @@ # limitations under the License. # -function kill_instance() { -local name=$1 -docker logs "${name}" >> "${WORKSPACE}"/archives/"${name}".log -docker kill "${name}" -docker rm -v "${name}" -} - -mkdir -p "${WORKSPACE}"/archives - -kill_instance drools -kill_instance pdp -kill_instance brmsgw -kill_instance pap -kill_instance nexus -kill_instance mariadb - -rm -fr "${WORK_DIR}" - +mkdir -p $WORKSPACE/archives/ +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml logs > $WORKSPACE/archives/docker-compose-drools.log +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml down -v diff --git a/plans/policy/health/setup.sh b/plans/policy/health/setup.sh deleted file mode 100755 index 1b1155d8..00000000 --- a/plans/policy/health/setup.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# -# Copyright 2017, 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. -# -# Place the scripts in run order: -source ${SCRIPTS}/common_functions.sh - -docker login -u docker -p docker nexus3.onap.org:10001 -docker pull nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 -docker tag nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 onap/policy-common-alpine:1.4.0 - -source ${WORKSPACE}/scripts/policy/engine.sh - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v IP:${IP} -v POLICY_IP:${POLICY_IP} -v PDP_IP:${PDP_IP} -v DOCKER_IP:${DOCKER_IP}" -export PDP_IP=${PDP_IP} -export POLICY_IP=${POLICY_IP} -export DOCKER_IP=${DOCKER_IP} - -#Get current IP of VM -HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -export HOST_IP=${HOST_IP} diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh index 0f1ab746..8a613bca 100644 --- a/plans/policy/pap/setup.sh +++ b/plans/policy/pap/setup.sh @@ -30,8 +30,10 @@ pip install -U docker==2.7.0 sudo apt-get -y install libxml2-utils -export 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_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()' -)" +POLICY_API_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_PAP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" echo ${POLICY_API_VERSION} echo ${POLICY_PAP_VERSION} # Adding this waiting container due to race condition between pap and mariadb diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh index 9a2e92fe..79c43070 100644 --- a/plans/policy/xacml-pdp/setup.sh +++ b/plans/policy/xacml-pdp/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# 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. @@ -44,39 +44,20 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then exit 1 fi -# bring down maven -mkdir maven -cd maven -# download maven from automatically selected mirror server -curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" -if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then - echo "Installation of maven has failed!" - exit 1 -fi -ls -l -export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v -cd .. - -git clone http://gerrit.onap.org/r/oparent -git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH} -cd models/models-sim/models-sim-dmaap -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml -bash ./src/main/package/docker/docker_build.sh -cd ${WORKSPACE} -rm -rf ${WORK_DIR} -sleep 3 - - - sudo apt-get -y install libxml2-utils -export 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_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_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()' -)" +bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh + +POLICY_API_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_PAP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" +POLICY_XACML_PDP_VERSION_EXTRACT="$(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_EXTRACT:0:3}-SNAPSHOT-latest" echo ${POLICY_API_VERSION} echo ${POLICY_PAP_VERSION} echo ${POLICY_XACML_PDP_VERSION} + # Adding this waiting container due to race condition between pap and mariadb docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_dependencies diff --git a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml index e6a210a5..26815ad0 100644 --- a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml +++ b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml @@ -39,6 +39,22 @@ org.apache.httpcomponents httpclient + + javax.xml.bind + jaxb-api + + + com.sun.xml.bind + jaxb-core + + + com.sun.xml.bind + jaxb-impl + + + javax.activation + activation + diff --git a/plans/so/integration-etsi-testing/so-simulators/pom.xml b/plans/so/integration-etsi-testing/so-simulators/pom.xml index 80d4ba95..372b073d 100644 --- a/plans/so/integration-etsi-testing/so-simulators/pom.xml +++ b/plans/so/integration-etsi-testing/so-simulators/pom.xml @@ -1,23 +1,21 @@ 4.0.0 - org.onap.so.simulators so-simulators - pom ${project.artifactId} 1.0-SNAPSHOT - 2.1 UTF-8 UTF-8 1.8 1.8 + 2.3.0 + 1.1.1 1.8 - common sdc-simulator @@ -26,16 +24,35 @@ vnfm-simulator package - org.springframework.boot spring-boot-starter-parent - 2.0.5.RELEASE + 2.1.5.RELEASE pom import + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + com.sun.xml.bind + jaxb-core + ${jaxb.version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb.version} + + + javax.activation + activation + ${javax.version} + @@ -67,4 +84,4 @@ ${jax.ws.rs} - + \ No newline at end of file diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java index f96224d3..2f24ef69 100644 --- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java +++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java @@ -52,6 +52,7 @@ import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(path = OPERATIONS_URL) public class OperationsController { + private static final String HTTP_STATUS_OK = HttpStatus.OK.value() + ""; private static final Logger LOGGER = LoggerFactory.getLogger(OperationsController.class); @@ -80,7 +81,7 @@ public class OperationsController { final Output output = getOutput(apiServiceOperationInformation); final OutputRequest outputRequest = new OutputRequest(output); - if (output.getResponseCode().equals(HttpStatus.OK.toString())) { + if (output.getResponseCode().equals(HTTP_STATUS_OK)) { LOGGER.info("Sucessfully executed service request sending response: {}", outputRequest); return ResponseEntity.ok(outputRequest); } @@ -106,7 +107,7 @@ public class OperationsController { final Output output = getOutput(apiVnfOperationInformation); final OutputRequest outputRequest = new OutputRequest(output); - if (output.getResponseCode().equals(HttpStatus.OK.toString())) { + if (output.getResponseCode().equals(HTTP_STATUS_OK)) { LOGGER.info("Sucessfully executed request vnf sending response: {}", outputRequest); return ResponseEntity.ok(outputRequest); } diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java index dae8b7f4..88db4c13 100644 --- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java +++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java @@ -78,6 +78,8 @@ import org.springframework.stereotype.Service; public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServiceProvider implements ServiceOperationsCacheServiceProvider { + private static final String HTTP_STATUS_BAD_REQUEST = Integer.toString(HttpStatus.BAD_REQUEST.value()); + private static final String HTTP_STATUS_OK = Integer.toString(HttpStatus.OK.value()); private static final String EMPTY_STRING = ""; private static final Logger LOGGER = LoggerFactory.getLogger(ServiceOperationsCacheServiceProviderimpl.class); @@ -114,7 +116,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ .instanceId(serviceInstanceId).objectPath(getObjectPath(serviceInstanceId))); } LOGGER.error("serviceInstanceId: {} already exists", serviceInstanceId); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("serviceInstanceId: " + serviceInstanceId + " already exists") .svcRequestId(svcRequestId); } @@ -122,7 +124,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ LOGGER.error( "Unable to add GenericResourceApiServiceOperationInformation in cache due to invalid input: {}... ", input); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("Service instance not found").svcRequestId(svcRequestId); } @@ -141,7 +143,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ LOGGER.info("Deleting GenericResourceApiServiceOperationInformation from cache using key: {}", serviceInstanceId); cache.evict(serviceInstanceId); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.OK.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_OK) .responseMessage(EMPTY_STRING).svcRequestId(svcRequestId).serviceResponseInformation( new GenericResourceApiInstanceReference().instanceId(serviceInstanceId)); } @@ -151,7 +153,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ } LOGGER.error("Unable to remove service instance from cache due to invalid input: {}... ", input); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("Unable to remove service").svcRequestId(svcRequestId); } @@ -208,7 +210,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ .objectPath(getObjectPath(serviceInstanceId, vnfId))); } LOGGER.error("vnfId: {} already exists with SVC Action: {}", vnfId, svcAction); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("vnfId: " + vnfId + " already exists").svcRequestId(svcRequestId); } } @@ -220,7 +222,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ LOGGER.error( "Unable to add GenericResourceApiServiceOperationInformation in cache due to invalid input: {}... ", input); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("Unable to add vnf").svcRequestId(svcRequestId); } @@ -256,7 +258,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ return false; }); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.OK.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_OK) .responseMessage(EMPTY_STRING).svcRequestId(svcRequestId) .serviceResponseInformation( new GenericResourceApiInstanceReference().instanceId(serviceInstanceId)) @@ -271,7 +273,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ } LOGGER.error("Unable to remove vnf instance from cache due to invalid input: {}... ", input); - return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString()) + return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST) .responseMessage("Unable to remove vnf").svcRequestId(svcRequestId); } @@ -406,7 +408,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ final GenericResourceApiServicestatusServiceStatus serviceStatus = getServiceStatus(getSvcAction(input.getSdncRequestHeader()), - getRequestAction(input.getRequestInformation()), HttpStatus.OK.toString()); + getRequestAction(input.getRequestInformation()), HTTP_STATUS_OK); return new GenericResourceApiServicemodelinfrastructureService().serviceData(apiServicedataServiceData) .serviceStatus(serviceStatus).serviceInstanceId(serviceInstanceId); diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java index b498bd6e..888a251e 100644 --- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java +++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java @@ -71,6 +71,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @Configuration public class OperationsControllerTest { + private static final String HTTP_STATUS_BAD_REQUEST = Integer.toString(HttpStatus.BAD_REQUEST.value()); + private static final String HTTP_STATUS_OK = Integer.toString(HttpStatus.OK.value()); + private static final String SVC_REQUEST_ID = "04fc9f50-87b8-430d-a232-ef24bd6c4150"; private static final String VNF_SVC_REQUEST_ID = "8fd2622b-01fc-424d-bfc8-f48bcd64e546"; @@ -112,7 +115,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); assertNotNull(actualObject); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId()); assertNotNull(actualObject.getServiceResponseInformation()); @@ -157,7 +160,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); assertNotNull(actualObject); - assertEquals(HttpStatus.BAD_REQUEST.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_BAD_REQUEST, actualObject.getResponseCode()); assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); @@ -183,7 +186,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId()); assertNotNull(actualObject.getServiceResponseInformation()); @@ -242,7 +245,7 @@ public class OperationsControllerTest { final Output actualObject = badOutputRequest.getOutput(); assertNotNull(actualObject); - assertEquals(HttpStatus.BAD_REQUEST.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_BAD_REQUEST, actualObject.getResponseCode()); assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); @@ -276,7 +279,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId()); assertNotNull(actualObject.getServiceResponseInformation()); @@ -349,7 +352,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId()); @@ -395,7 +398,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId()); @@ -435,7 +438,7 @@ public class OperationsControllerTest { final Output actualObject = actualOutputRequest.getOutput(); - assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode()); + assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode()); assertEquals(Constants.YES, actualObject.getAckFinalIndicator()); assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId()); diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml index ade3e012..23dc243f 100644 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml @@ -1,106 +1,121 @@ - 4.0.0 - - org.onap.so.simulators.vnfm - vnfm-simulator - 1.0-SNAPSHOT - - vnfm-api - ${project.artifactId} - - 1.8.2 - 2.3.0 - 1.3.5 - 2.0.0-RC1 - 1.0.1 - 1.5.15 - 2.8.5 - - VNFM Simulator adapter API - - - - - io.swagger - swagger-codegen-maven-plugin - 2.3.1 - - - vnfmsimulator - generate-sources - - generate - - - ${basedir}/src/main/resources/vnfm-sim-swagger.yaml - java - retrofit2 - ${project.build.directory}/generated-sources/vnfmsimulator - org.onap.vnfm.v1.api - org.onap.vnfm.v1.model - - true - src/gen/java/main - true - true - - - - - - - - - - io.swagger - swagger-annotations - ${swagger-core-version} - - - com.squareup.retrofit2 - converter-gson - ${retrofit-version} - - - com.squareup.retrofit2 - retrofit - ${retrofit-version} - - - com.squareup.retrofit2 - converter-scalars - ${retrofit-version} - - - org.apache.oltu.oauth2 - org.apache.oltu.oauth2.client - ${oltu-version} - - - io.gsonfire - gson-fire - ${gson-fire-version} - - - org.threeten - threetenbp - ${threetenbp-version} - - - io.reactivex.rxjava2 - rxjava - ${rxjava-version} - - - com.squareup.retrofit2 - adapter-rxjava2 - ${retrofit-version} - - - com.google.code.gson - gson - ${gson-version} - - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.onap.so.simulators.vnfm + vnfm-simulator + 1.0-SNAPSHOT + + vnfm-api + ${project.artifactId} + + 1.8.2 + 2.3.0 + 1.3.5 + 2.0.0-RC1 + 1.0.1 + 1.5.15 + 2.8.5 + + VNFM Simulator adapter API + + + + io.swagger + swagger-codegen-maven-plugin + 2.3.1 + + + vnfmsimulator + generate-sources + + generate + + + ${basedir}/src/main/resources/vnfm-sim-swagger.yaml + java + retrofit2 + ${project.build.directory}/generated-sources/vnfmsimulator + org.onap.vnfm.v1.api + org.onap.vnfm.v1.model + + true + src/gen/java/main + true + true + + + + + + + + + + io.swagger + swagger-annotations + ${swagger-core-version} + + + com.squareup.retrofit2 + converter-gson + ${retrofit-version} + + + com.squareup.retrofit2 + retrofit + ${retrofit-version} + + + com.squareup.retrofit2 + converter-scalars + ${retrofit-version} + + + org.apache.oltu.oauth2 + org.apache.oltu.oauth2.client + ${oltu-version} + + + io.gsonfire + gson-fire + ${gson-fire-version} + + + org.threeten + threetenbp + ${threetenbp-version} + + + io.reactivex.rxjava2 + rxjava + ${rxjava-version} + + + com.squareup.retrofit2 + adapter-rxjava2 + ${retrofit-version} + + + com.google.code.gson + gson + ${gson-version} + + + javax.xml.bind + jaxb-api + + + com.sun.xml.bind + jaxb-core + + + com.sun.xml.bind + jaxb-impl + + + javax.activation + activation + + \ No newline at end of file diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java new file mode 100644 index 00000000..14ee2fd3 --- /dev/null +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java @@ -0,0 +1,86 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Samsung. 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========================================================= + */ + +package org.onap.so.svnfm.simulator.api; + +import com.squareup.okhttp.Call; +import com.squareup.okhttp.Response; +import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.*; +import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.api.DefaultApi; +import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class VeVnfmApi extends DefaultApi { + + public VeVnfmApi(final ApiClient apiClient) { + super(apiClient); + } + + public Call lcnVnfLcmOperationOccurrenceNotificationPostCall( + final VnfLcmOperationOccurrenceNotification vnfLcmOperationOccurrenceNotification, + final String contentType, final String authorization, + final ProgressResponseBody.ProgressListener progressListener, + final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + return lcnVnfObjectNotificationPostCall(vnfLcmOperationOccurrenceNotification, + contentType, authorization, progressListener, progressRequestListener); + } + + private Call lcnVnfObjectNotificationPostCall( + final Object body, final String contentType, final String authorization, + final ProgressResponseBody.ProgressListener progressListener, + final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + final List localVarQueryParams = new ArrayList<>(); + final List localVarCollectionQueryParams = new ArrayList<>(); + final Map localVarHeaderParams = new HashMap<>(); + + if (authorization != null) { + localVarHeaderParams.put("Authorization", getApiClient().parameterToString(authorization)); + } + + if (contentType != null) { + localVarHeaderParams.put("Content-Type", getApiClient().parameterToString(contentType)); + } + + final String[] localVarAccepts = new String[]{"application/json"}; + final String localVarAccept = getApiClient().selectHeaderAccept(localVarAccepts); + + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = new String[]{"application/json"}; + final String localVarContentType = getApiClient().selectHeaderContentType(localVarContentTypes); + localVarHeaderParams.put("Content-Type", localVarContentType); + + if (progressListener != null) { + getApiClient().getHttpClient().networkInterceptors().add(ch -> { + final Response originalResponse = ch.proceed(ch.request()); + return originalResponse.newBuilder().body(new ProgressResponseBody(originalResponse.body(), progressListener)).build(); + }); + } + + final Map localVarFormParams = new HashMap<>(); + final String[] localVarAuthNames = new String[0]; + + return getApiClient().buildCall("", "POST", localVarQueryParams, localVarCollectionQueryParams, body, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); + } +} diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java index 487a931c..ba549009 100644 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java @@ -44,10 +44,12 @@ import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200; import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo; import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsBasic; import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsOauth2ClientCredentials; +import org.onap.so.svnfm.simulator.api.VeVnfmApi; import org.onap.so.svnfm.simulator.model.Vnfds; import org.onap.so.svnfm.simulator.repository.VnfOperationRepository; import org.onap.so.svnfm.simulator.config.ApplicationConfig; import org.onap.so.svnfm.simulator.model.VnfOperation; +import org.onap.so.svnfm.simulator.util.PatternContainedChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.ClassPathResource; @@ -82,11 +84,12 @@ public abstract class OperationProgressor implements Runnable { final ApiClient apiClient = new ApiClient(); String callBackUrl = subscriptionService.getSubscriptions().iterator().next().getCallbackUri(); - callBackUrl = callBackUrl.substring(0, callBackUrl.indexOf("/lcn/")); + final PatternContainedChecker checker = new PatternContainedChecker("/lcn/", callBackUrl); + callBackUrl = checker.getText(); apiClient.setBasePath(callBackUrl); apiClient.setKeyManagers(getKeyManagers()); apiClient.setSslCaCert(getCertificateToTrust()); - notificationClient = new DefaultApi(apiClient); + notificationClient = checker.isContained() ? new DefaultApi(apiClient) : new VeVnfmApi(apiClient); final org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient grantApiClient = new org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient(); diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java new file mode 100644 index 00000000..d33026ab --- /dev/null +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java @@ -0,0 +1,38 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Samsung. 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========================================================= + */ + +package org.onap.so.svnfm.simulator.util; + +public class PatternContainedChecker { + + private final boolean contained; + private final String text; + + public PatternContainedChecker(final String pattern, final String text) { + this.contained = text.contains(pattern); + this.text = this.contained ? text.substring(0, text.indexOf(pattern)) : text; + } + + public boolean isContained() { + return contained; + } + + public String getText() { + return text; + } +} diff --git a/plans/usecases/5G-bulkpm/assets/config.json b/plans/usecases/5G-bulkpm/assets/config.json new file mode 100644 index 00000000..7d2d64ef --- /dev/null +++ b/plans/usecases/5G-bulkpm/assets/config.json @@ -0,0 +1,35 @@ +{ + "pm-mapper-filter": { "filters":[]}, + "key_store_path": "/opt/app/pm-mapper/etc/cert.jks", + "key_store_pass_path": "/opt/app/pm-mapper/etc/jks.pass", + "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks", + "trust_store_pass_path": "/opt/app/pm-mapper/etc/trust.pass", + "dmaap_dr_delete_endpoint": "https://dmaap-dr-node:8443/delete", + "dmaap_dr_feed_name": "1", + "aaf_identity": "aaf_admin@people.osaaf.org", + "aaf_password": "demo123456!", + "enable_http": true, + "streams_publishes": { + "dmaap_publisher": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/org.onap.dmaap.mr.VES_PM", + "client_role": "org.onap.dcae.pmPublisher", + "location": "csit-pmmapper", + "client_id": "1562763644939" + } + } + }, + "streams_subscribes": { + "dmaap_subscriber": { + "type": "data_router", + "dmaap_info": { + "username": "username", + "password": "password", + "location": "csit-pmmapper", + "delivery_url": "http://dcae-pm-mapper:8081/delivery", + "subscriber_id": 1 + } + } + } +} \ No newline at end of file diff --git a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml b/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml similarity index 51% rename from plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml rename to plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml index 7646c0b4..fb999ce3 100644 --- a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml +++ b/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml @@ -2,13 +2,13 @@ version: '2.1' services: pmmapper: container_name: pmmapper - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3 + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest ports: - - "8081:8081" + - "8081:8081" environment: - CONFIG_BINDING_SERVICE_SERVICE_HOST: CBSIP - CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000 - HOSTNAME: pmmapper + CONFIG_BINDING_SERVICE_SERVICE_HOST: CBSIP + CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000 + HOSTNAME: pmmapper extra_hosts: - "dmaap-dr-node:1.1.1.1" - - "message-router:4.4.4.4" + - "message-router:4.4.4.4" \ No newline at end of file diff --git a/plans/usecases/5G-bulkpm/setup.sh b/plans/usecases/5G-bulkpm/setup.sh index c2feb52d..9fbd2ef9 100644 --- a/plans/usecases/5G-bulkpm/setup.sh +++ b/plans/usecases/5G-bulkpm/setup.sh @@ -1,14 +1,6 @@ #!/bin/bash # Place the scripts in run order: source ${SCRIPTS}/common_functions.sh - -CSIT=TRUE -if [ ${CSIT} = "TRUE" ] ; then -#################################################### -#Executes the below setup in an Docker Environment # -#################################################### - -echo "CSIT Test get executed in here" SFTP_PORT=22 VESC_PORT=8080 export VESC_PORT=${VESC_PORT} @@ -80,7 +72,8 @@ sleep 10 CONSUL_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul ) sed -i -e '/CONSUL_HOST:/ s/:.*/: '$CONSUL_IP'/' docker-compose.yml HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -sed -i -e '/DMAAPHOST:/ s/:.*/: '$HOST_IP'/' docker-compose.yml +DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $DMAAP) +sed -i -e '/DMAAPHOST:/ s/:.*/: '$DMAAP_MR_IP'/' docker-compose.yml MARIADB=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb ) sed -i 's/datarouter-mariadb/'$MARIADB'/g' $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties docker-compose up -d @@ -149,10 +142,6 @@ docker cp dfc:/opt/app/datafile/config/datafile_endpoints.json /tmp/datafile_end echo data_endpoints.json from DFC containter cat /tmp/datafile_endpoints.json.fromcontainer docker cp /tmp/datafile_endpoints.json dfc:/opt/app/datafile/config/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 dfc:/opt/app/datafile/etc/cert/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/jks.pass dfc:/opt/app/datafile/etc/cert/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 dfc:/opt/app/datafile/etc/cert/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.pass dfc:/opt/app/datafile/etc/cert/ docker cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/application.yaml dfc:/opt/app/datafile/config/ #Increase Logging #docker exec dfc /bin/sh -c " sed -i 's/org.onap.dcaegen2.collectors.datafile: WARN/org.onap.dcaegen2.collectors.datafile: TRACE/g' /opt/app/datafile/config/application.yaml" @@ -197,12 +186,12 @@ curl -k https://$DR_PROV_IP:8443/internal/prov cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cbs.json /tmp/cbs.json sed -i 's/ipaddress/'${CBS_IP}'/g' /tmp/cbs.json curl --request PUT --data @/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register -curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/config.json +curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/usecases/5G-bulkpm/assets/config.json # PM Mapper startup and configuration mkdir /tmp/docker-compose cd /tmp/docker-compose -cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml /tmp/docker-compose/docker-compose.yml +cp $WORKSPACE/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml /tmp/docker-compose/docker-compose.yml CBS_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cbs) sed -i 's/CBSIP/'$CBS_IP'/g' docker-compose.yml sed -i 's/1.1.1.1/'$DR_NODE_IP'/g' docker-compose.yml @@ -219,9 +208,9 @@ sed -i 's/3.3.3.3/'$PMMAPPER_IP'/g' docker-compose.yml docker-compose up -d # Setting up PM Mapper certs. -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 pmmapper:opt/app/pm-mapper/etc/ +docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks pmmapper:opt/app/pm-mapper/etc/ docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/jks.pass pmmapper:opt/app/pm-mapper/etc/ -docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 pmmapper:opt/app/pm-mapper/etc/ +docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks pmmapper:opt/app/pm-mapper/etc/ docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.pass pmmapper:opt/app/pm-mapper/etc/ docker restart pmmapper sleep 5 @@ -247,81 +236,4 @@ sleep 10 curl -k https://$DR_PROV_IP:8443/internal/prov #Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v SFTP_IP:${SFTP_IP}" - -else -############################################################ -############################################################ -# Executes the below setup in an ONAP Environment # -# Make sure the steps in the README are completed first !! # -############################################################ -############################################################ -SFTP_PORT=2222 - -cp $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh.orig -cp $WORKSPACE/plans/usecases/5G-bulkpm/onap.teardown.sh $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh - -#Get DataFileCollector POD name in this ONAP Deployment -DFC_POD=$(kubectl -n onap get pods | grep datafile-collector | awk '{print $1}') -export DFC_POD=${DFC_POD} -export CLI_EXEC_CLI_DFC="kubectl exec -n onap ${DFC_POD} -it ls /target | grep .gz" - -# Get IP address of datarrouter-prov -DR_PROV_IP=$(kubectl -n onap -o wide get pods | grep dmaap-dr-prov | awk '{print $6}') -echo DR_PROV_IP=${DR_PROV_IP} -DR_NODE_IP=$(kubectl -n onap -o=wide get pods | grep dmaap-dr-node | awk '{print $6}') -echo DR_NODE_IP=${DR_NODE_IP} - -# Get IP address of exposed Ves and its port -DMAAP_MR_IP=$(kubectl -n onap -o=wide get pods | grep dev-dmaap-message-router | grep -Ev "kafka|zookeeper" | awk '{print $6}') -VESC_IP=$(kubectl get svc -n onap | grep vesc | awk '{print $4}') -VESC_PORT=$(kubectl get svc -n onap | grep vesc | awk '{print $5}' | cut -d ":" -f2 | cut -d "/" -f1) -echo VESC_IP=${VESC_IP} -echo VESC_PORT=${VESC_PORT} - -export VESC_IP=${VESC_IP} -export VESC_PORT=${VESC_PORT} -export HOST_IP=${HOST_IP} -export DMAAP_MR_IP=${DMAAP_MR_IP} - -#Get DataFileCollector POD name in this ONAP Deployment -DFC_POD=$(kubectl -n onap get pods | grep datafile-collector | awk '{print $1}') -export DFC_POD=${DFC_POD} - -pip install jsonschema uuid simplejson - -# Clone DMaaP Data Router repo -mkdir -p $WORKSPACE/archives/dmaapdr -cd $WORKSPACE/archives/dmaapdr -git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources -mkdir docker-compose -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose -cp $WORKSPACE/plans/usecases/5G-bulkpm/composefile/onap.docker-compose-e2e $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose.yml - -#Statup the SFTP and FileConsumer containers. -docker login -u docker -p docker nexus3.onap.org:10001 -docker-compose up -d - -# Wait container ready -sleep 2 -HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -# SFTP Configuration: -# Update the File Ready Notification with actual sftp ip address and copy pm files to sftp server. -cp $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -sed -i 's/sftpserver/'${HOST_IP}'/g' $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -sed -i 's/sftpport/'${SFTP_PORT}'/g' $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -docker cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/xNF.pm.xml.gz sftp:/home/admin/ - -# Create default feed and create file consumer subscriber on data router -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:dradmin" --data-ascii @$WORKSPACE/plans/usecases/5G-bulkpm/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443 -cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/addSubscriber.json /tmp/addSubscriber.json -sed -i 's/fileconsumer/'${HOST_IP}'/g' /tmp/addSubscriber.json -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:dradmin" --data-ascii @/tmp/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 -sleep 10 -curl -k https://$DR_PROV_IP:8443/internal/prov - -#Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v DFC_POD:${DFC_POD} -v HOST_IP:${HOST_IP} " - -fi; \ No newline at end of file +ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v SFTP_IP:${SFTP_IP}" \ No newline at end of file diff --git a/plans/usecases/config-over-netconf/setup.sh b/plans/usecases/config-over-netconf/setup.sh index 9e87b041..713d57d1 100644 --- a/plans/usecases/config-over-netconf/setup.sh +++ b/plans/usecases/config-over-netconf/setup.sh @@ -44,6 +44,8 @@ HOST_IP_ADDR=localhost cd $SDNC_DOCKER_PATH unset http_proxy https_proxy +docker pull $NETOPEER_DOCKER_REPO:$NETOPEER_IMAGE_TAG +docker tag $NETOPEER_DOCKER_REPO:$NETOPEER_IMAGE_TAG $NETOPEER_DOCKER_REPO:latest #sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" diocker-compose.yml docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO @@ -72,7 +74,8 @@ TIME_OUT=1000 INTERVAL=30 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do - response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); echo $response + response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); + echo $response if [ "$response" == "200" ]; then echo SDNC started in $TIME seconds @@ -108,42 +111,6 @@ sed -i "s/reskey/$RES_KEY/g" $REQUEST_DATA_PATH/config-assign.json #########################check if server is up gracefully ###################################### -TIME_OUT=1500 -INTERVAL=60 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do -docker exec sdnc_controller_container rm -f /opt/opendaylight/current/etc/host.key -response=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level) -docker exec sdnc_controller_container rm -f /opt/opendaylight/current/etc/host.key - - if [ "$response" == "Level 100" ] ; then - echo SDNC karaf started in $TIME seconds - break; - fi - - echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) -done - -if [ "$TIME" -ge "$TIME_OUT" ]; then - echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities... -fi - -response=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level) - - if [ "$response" == "Level 100" ] ; then - num_failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) - failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure) - echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles. - fi - -if [ "$num_failed_bundles" -ge 1 ]; then - echo "The following bundle(s) are in a failed state: " - echo " $failed_bundles" -fi - - # Sleep additional 3 minutes (180 secs) to give application time to finish sleep 150 diff --git a/plans/usecases/config-over-netconf/teardown.sh b/plans/usecases/config-over-netconf/teardown.sh index 5bf1b909..9613e3ee 100755 --- a/plans/usecases/config-over-netconf/teardown.sh +++ b/plans/usecases/config-over-netconf/teardown.sh @@ -4,6 +4,13 @@ SDNC_DOCKER_COMPOSE_PATH=$SDNC_DOCKER_PATH/docker-compose.yaml PNFSIM_DOCKER_COMPOSE_PATH=$INT_DOCKER_PATH/docker-compose.yml CDS_DOCKER_COMPOSE_PATH=$CDS_DOCKER_PATH/docker-compose.yaml +echo "==========================blueprint-processor logs ==================================" +docker logs bp-rest + +echo "==========================sdnc-controller logs ======================================" +docker logs sdnc_controller_container + + docker-compose -f $SDNC_DOCKER_COMPOSE_PATH down docker-compose -f $PNFSIM_DOCKER_COMPOSE_PATH down docker-compose -f $CDS_DOCKER_COMPOSE_PATH down diff --git a/plans/usecases/config-over-netconf/test.properties b/plans/usecases/config-over-netconf/test.properties index bdce15ab..ee002461 100644 --- a/plans/usecases/config-over-netconf/test.properties +++ b/plans/usecases/config-over-netconf/test.properties @@ -1,13 +1,14 @@ NEXUS_DOCKER_REPO=nexus3.onap.org:10001 NEXUS_USERNAME=docker NEXUS_PASSWD=docker -SDNC_IMAGE_TAG=1.7.3 -ANSIBLE_IMAGE_TAG=1.7.3 -BP_IMAGE_TAG=0.6.3 +SDNC_IMAGE_TAG=1.7.6 +ANSIBLE_IMAGE_TAG=1.7.6 +BP_IMAGE_TAG=0.6.4 REQUEST_DATA_PATH=$WORKSPACE/tests/$PARENT/$SUB_PARENT/data TC_PLANS_PATH=$WORKSPACE/plans/$PARENT/$SUB_PARENT CDS_DOCKER_PATH=$TC_PLANS_PATH/cds SDNC_DOCKER_PATH=$TC_PLANS_PATH/sdn INT_DOCKER_PATH=$WORKSPACE/temp/integration/test/mocks/pnfsimulator CERT_SUBPATH=$TC_PLANS_PATH/certs - +NETOPEER_DOCKER_REPO=sysrepo/sysrepo-netopeer2 +NETOPEER_IMAGE_TAG=v0.7.7 diff --git a/scripts/policy/config/db/db.sh b/scripts/policy/config/db/db.sh index 9ab2be2f..24b04003 100755 --- a/scripts/policy/config/db/db.sh +++ b/scripts/policy/config/db/db.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -for db in policyadmin +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}'@'%' ;" diff --git a/scripts/policy/config/drools-apps/custom/features.pre.sh b/scripts/policy/config/drools-apps/custom/features.pre.sh new file mode 100755 index 00000000..93d6c6b9 --- /dev/null +++ b/scripts/policy/config/drools-apps/custom/features.pre.sh @@ -0,0 +1,19 @@ +#!/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========================================================= + +features disable distributed-locking +features enable controlloop-utils diff --git a/scripts/policy/config/drools-apps/custom/noop.pre.sh b/scripts/policy/config/drools-apps/custom/noop.pre.sh new file mode 100755 index 00000000..909d8f48 --- /dev/null +++ b/scripts/policy/config/drools-apps/custom/noop.pre.sh @@ -0,0 +1,27 @@ +#!/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 \ + ${POLICY_HOME}/config/frankfurt-controller.properties \ + ${POLICY_HOME}/config/usecases-controller.properties + +chmod 644 ${POLICY_HOME}/config/engine.properties \ + ${POLICY_HOME}/config/feature-lifecycle.properties \ + ${POLICY_HOME}/config/frankfurt-controller.properties \ + ${POLICY_HOME}/config/usecases-controller.properties diff --git a/scripts/policy/config/drools-apps/custom/standalone-settings.xml b/scripts/policy/config/drools-apps/custom/standalone-settings.xml new file mode 100644 index 00000000..ebd6dd2a --- /dev/null +++ b/scripts/policy/config/drools-apps/custom/standalone-settings.xml @@ -0,0 +1,57 @@ + + + + + + + true + + + + + policy-local + + + + file-repository + file:${user.home}/.m2/file-repository + + true + always + + + true + always + + + + + + + + + + policy-local + + + diff --git a/scripts/policy/config/drools/base.conf b/scripts/policy/config/drools-apps/env/base.conf similarity index 88% rename from scripts/policy/config/drools/base.conf rename to scripts/policy/config/drools-apps/env/base.conf index d3164cb5..c11e7e98 100644 --- a/scripts/policy/config/drools/base.conf +++ b/scripts/policy/config/drools-apps/env/base.conf @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# 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. @@ -20,9 +20,9 @@ JVM_OPTIONS=-server -Xms512m -Xmx512m # SYSTEM software configuration +DEBUG=y POLICY_HOME=/opt/app/policy POLICY_LOGS=/var/log/onap/policy/pdpd -JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk KEYSTORE_PASSWD=Pol1cy_0nap TRUSTSTORE_PASSWD=Pol1cy_0nap @@ -41,12 +41,13 @@ RELEASE_REPOSITORY_ID= RELEASE_REPOSITORY_URL= REPOSITORY_USERNAME= REPOSITORY_PASSWORD= +REPOSITORY_OFFLINE=true # Relational (SQL) DB access -SQL_HOST= -SQL_USER= -SQL_PASSWORD= +SQL_HOST=mariadb +SQL_USER=policy_user +SQL_PASSWORD=policy_user # AAF @@ -78,6 +79,7 @@ PAP_PASSWORD=alpha123 # PDP-X PDP_HOST=pdp +PDP_PORT=6969 PDP_USERNAME=testpdp PDP_PASSWORD=alpha123 PDP_CLIENT_USERNAME=python @@ -96,24 +98,32 @@ DMAAP_SERVERS=mr.api.simpledemo.onap.org # AAI +AAI_HOST=aai.api.simpledemo.onap.org +AAI_PORT=8443 AAI_URL=https://aai.api.simpledemo.onap.org:8443 AAI_USERNAME=policy@policy.onap.org AAI_PASSWORD=demo123456! # MSO +SO_HOST=vm1.mso.simpledemo.onap.org +SO_PORT=8080 SO_URL=http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra SO_USERNAME=InfraPortalClient SO_PASSWORD=password1$ # VFC +VFC_HOST= +VFC_PORT= VFC_URL= VFC_USERNAME= VFC_PASSWORD= # SDNC +SDNC_HOST= +SDNC_PORT= SDNC_URL= SDNC_USERNAME= SDNC_PASSWORD= diff --git a/scripts/policy/config/drools/feature-healthcheck.conf b/scripts/policy/config/drools-apps/env/feature-healthcheck.conf similarity index 93% rename from scripts/policy/config/drools/feature-healthcheck.conf rename to scripts/policy/config/drools-apps/env/feature-healthcheck.conf index c205e9f7..1c710547 100644 --- a/scripts/policy/config/drools/feature-healthcheck.conf +++ b/scripts/policy/config/drools-apps/env/feature-healthcheck.conf @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# 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. diff --git a/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf b/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf new file mode 100644 index 00000000..3808e3d9 --- /dev/null +++ b/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf @@ -0,0 +1,17 @@ +# ============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 new file mode 100755 index 00000000..63bdc4cf --- /dev/null +++ b/scripts/policy/config/drools/custom/noop.pre.sh @@ -0,0 +1,22 @@ +#!/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 new file mode 100644 index 00000000..8fef8a28 --- /dev/null +++ b/scripts/policy/config/drools/env/base.conf @@ -0,0 +1,120 @@ +# ============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_USERNAME= +PDP_PASSWORD= +PDP_CLIENT_USERNAME= +PDP_CLIENT_PASSWORD= +PDP_ENVIRONMENT= + +# 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_URL=https://aai.api.simpledemo.onap.org:8443 +AAI_USERNAME=policy@policy.onap.org +AAI_PASSWORD=demo123456! + +# MSO + +SO_URL=http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra +SO_USERNAME=InfraPortalClient +SO_PASSWORD=password1$ + +# VFC + +VFC_URL= +VFC_USERNAME= +VFC_PASSWORD= + +# SDNC + +SDNC_URL= +SDNC_USERNAME= +SDNC_PASSWORD= diff --git a/scripts/policy/config/pap/onap.policies.monitoring.cdap.tca.hi.lo.app.json b/scripts/policy/config/pap/onap.policies.monitoring.cdap.tca.hi.lo.app.json index f06247d7..06574735 100644 --- a/scripts/policy/config/pap/onap.policies.monitoring.cdap.tca.hi.lo.app.json +++ b/scripts/policy/config/pap/onap.policies.monitoring.cdap.tca.hi.lo.app.json @@ -1,5 +1,5 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Monitoring": { "derived_from": "tosca.policies.Root", @@ -10,11 +10,8 @@ "version": "1.0.0", "properties": { "tca_policy": { - "type": "map", - "description": "TCA Policy JSON", - "entry_schema": { - "type": "onap.datatypes.monitoring.tca_policy" - } + "type": "onap.datatypes.monitoring.tca_policy", + "description": "TCA Policy JSON" } } } @@ -210,4 +207,4 @@ } } } -} \ No newline at end of file +} diff --git a/scripts/policy/config/pap/vCPE.policy.monitoring.input.tosca.json b/scripts/policy/config/pap/vCPE.policy.monitoring.input.tosca.json index fac5cfad..3003d9a8 100644 --- a/scripts/policy/config/pap/vCPE.policy.monitoring.input.tosca.json +++ b/scripts/policy/config/pap/vCPE.policy.monitoring.input.tosca.json @@ -1,5 +1,5 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { diff --git a/scripts/policy/config/pe/base.conf b/scripts/policy/config/pe/base.conf new file mode 100644 index 00000000..851234f3 --- /dev/null +++ b/scripts/policy/config/pe/base.conf @@ -0,0 +1,43 @@ +# Copyright 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. + +JAVA_HOME=/usr/local/openjdk-11 +POLICY_HOME=/opt/app/policy +POLICY_LOGS=/var/log/onap +KEYSTORE_PASSWD=Pol1cy_0nap +TRUSTSTORE_PASSWD=Pol1cy_0nap + +JDBC_DRIVER=org.mariadb.jdbc.Driver +JDBC_URL=jdbc:mariadb://mariadb:3306/onap_sdk?connectTimeout=30000&socketTimeout=60000&log=true&sessionVariables=max_statement_time=30 +JDBC_LOG_URL=jdbc:mariadb://mariadb:3306/log?connectTimeout=30000&socketTimeout=60000&log=true&sessionVariables=max_statement_time=30 +JDBC_USER=policy_user +JDBC_PASSWORD=policy_user + +site_name=site_1 +fp_monitor_interval=30 +failed_counter_threshold=3 +test_trans_interval=20 +write_fpc_interval=5 +max_fpc_update_interval=60 +test_via_jmx=false +jmx_fqdn= + +AAF_NAMESPACE=org.onap.policy +AAF_HOST=aaf.api.simpledemo.onap.org + +ENVIRONMENT=TEST + +#Micro Service Model Properties +policy_msOnapName= +policy_msPolicyName= diff --git a/scripts/policy/config/pe/brmsgw-tweaks.sh b/scripts/policy/config/pe/brmsgw-tweaks.sh new file mode 100755 index 00000000..f74730cc --- /dev/null +++ b/scripts/policy/config/pe/brmsgw-tweaks.sh @@ -0,0 +1,40 @@ +#! /bin/bash +# Copyright 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. + +PROPS_BUILD="${POLICY_HOME}/etc/build.info" + +PROPS_RUNTIME="${POLICY_HOME}/servers/brmsgw/config.properties" +PROPS_INSTALL="${POLICY_HOME}/install/servers/brmsgw/config.properties" + + +if [ ! -f "${PROPS_BUILD}" ]; then + echo "error: version information does not exist: ${PROPS_BUILD}" + exit 1 +fi + +source "${POLICY_HOME}/etc/build.info" + +if [ -z "${version}" ]; then + echo "error: no version information present" + exit 1 +fi + +for CONFIG in ${PROPS_RUNTIME} ${PROPS_INSTALL}; do + if [ ! -f "${CONFIG}" ]; then + echo "warning: configuration does not exist: ${CONFIG}" + else + sed -i -e "s/brms.dependency.version=.*/brms.dependency.version=${version}/g" "${CONFIG}" + fi +done diff --git a/scripts/policy/config/pe/brmsgw.conf b/scripts/policy/config/pe/brmsgw.conf new file mode 100644 index 00000000..c2db9d12 --- /dev/null +++ b/scripts/policy/config/pe/brmsgw.conf @@ -0,0 +1,67 @@ +# Copyright 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. +# BRMSpep component installation configuration parameters +BRMSGW_JMX_PORT=9989 + +COMPONENT_X_MX_MB=512 +COMPONENT_X_MS_MB=512 + +REST_PAP_URL=https://pap:9091/pap/ +REST_PDP_ID=https://pdp:8081/pdp/ + +PDP_HTTP_USER_ID=testpdp +PDP_HTTP_PASSWORD=alpha123 +PDP_PAP_PDP_HTTP_USER_ID=testpap +PDP_PAP_PDP_HTTP_PASSWORD=alpha123 + +M2_HOME=/usr/share/java/maven-3 +snapshotRepositoryID=policy-nexus-snapshots +snapshotRepositoryName=Snapshots +snapshotRepositoryURL=http://nexus:8081/nexus/content/repositories/snapshots +releaseRepositoryID=policy-nexus-releases +releaseRepositoryName=Releases +releaseRepositoryURL=http://nexus:8081/nexus/content/repositories/releases +repositoryUsername=admin +repositoryPassword=admin123 +UEB_URL=mr.api.simpledemo.onap.org +UEB_TOPIC=PDPD-CONFIGURATION +UEB_API_KEY= +UEB_API_SECRET= + +groupID=org.onap.policy-engine +artifactID=drlPDPGroup +AMSTERDAM_GROUP_ID=org.onap.policy-engine.drools.amsterdam +AMSTERDAM_ARTIFACT_ID=policy-amsterdam-rules + +# the java property is RESOURCE_NAME (uppercase), but the conf parameter is lowercase +resource_name=brmsgw_1 +node_type=brms_gateway + +#Environment should be Set either DEV, TEST or PROD +ENVIRONMENT=TEST + +#Notification Properties... type can be either websocket, ueb, or dmaap +BRMS_NOTIFICATION_TYPE=websocket +BRMS_UEB_URL=mr.api.simpledemo.onap.org +BRMS_UEB_TOPIC=PDPD-CONFIGURATION +BRMS_UEB_DELAY= +BRMS_CLIENT_ID=python +BRMS_CLIENT_KEY=dGVzdA== +BRMS_UEB_API_KEY= +BRMS_UEB_API_SECRET= + +#Dependency.json file version +BRMS_DEPENDENCY_VERSION=1.5.1 +BRMS_MODELS_DEPENDENCY_VERSION=2.1.2 + diff --git a/scripts/policy/config/pe/console.conf b/scripts/policy/config/pe/console.conf new file mode 100644 index 00000000..ceaad638 --- /dev/null +++ b/scripts/policy/config/pe/console.conf @@ -0,0 +1,145 @@ +# Copyright 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. +# configs component installation configuration parameters + +# tomcat specific parameters + +TOMCAT_JMX_PORT=9993 +TOMCAT_SHUTDOWN_PORT=8090 +SSL_HTTP_CONNECTOR_PORT=8443 +SSL_HTTP_CONNECTOR_REDIRECT_PORT=8443 +SSL_AJP_CONNECTOR_PORT=8383 +SSL_AJP_CONNECTOR_REDIRECT_PORT=8443 + +TOMCAT_X_MS_MB=2048 +TOMCAT_X_MX_MB=2048 + +# ------------------ console properties --------------------------- + +# +# Authorization Policy + +ROOT_POLICIES=admin +ADMIN_FILE=Policy-Admin.xml + + +# Set your domain here: + +REST_ADMIN_DOMAIN=com + +# +# Location where the GIT repository is located +# +REST_ADMIN_REPOSITORY=repository + +# +# Location where all the user workspaces are located. +# +REST_ADMIN_WORKSPACE=${{POLICY_HOME}}/servers/console/bin/workspace + +# +# These can be set so the Admin Console knows who is logged on. Ideally, you can run the console in a J2EE +# container and setup authentication as you please. Setting HttpSession attribute values will override these +# values set in the properties files. +# +# ((HttpServletRequest) request).getSession().setAttribute("xacml.rest.admin.user.name", "Homer"); +# +# The default policy: Policy-Admin.xml is extremely simple. +# +# You can test authorization within the Admin Console by changing the user id. +# There are 3 supported user ids: +# guest - Read only access +# editor - Read/Write access +# admin - Read/Write/Admin access +# +# An empty or null value for xacml.rest.admin.user.id results in no access to the application at all. +# +# This is for development/demonstration purposes only. A production environment should provide authentication which is +# outside the scope of this application. This application can be used to develop a XACML policy for user authorization +# within this application. +# + +REST_ADMIN_USER_NAME=Administrator +REST_ADMIN_USER_ID=super-admin + +# +# +# Property to declare the max time frame for logs. +# +LOG_TIMEFRAME=30 + +# Property to declare the number of visible rows for users in MicroService Policy +COLUMN_COUNT=3 + +# Dashboard refresh rate in miliseconds +REFRESH_RATE=40000 + +# +# URL location for the PAP servlet. +# + + +REST_PAP_URL=https://pap:9091/pap/ + +# +# Config/Action Properties location. +# + +REST_CONFIG_HOME=${{POLICY_HOME}}/servers/pap/webapps/Config/ +REST_ACTION_HOME=${{POLICY_HOME}}/servers/pap/webapps/Action/ +REST_CONFIG_URL=https://pap:9091/ +REST_CONFIG_WEBAPPS=${{POLICY_HOME}}/servers/pap/webapps/ + +# PAP account information +CONSOLE_PAP_HTTP_USER_ID=testpap +CONSOLE_PAP_HTTP_PASSWORD=alpha123 + + +node_type=pap_admin +resource_name=console_1 + +# The (optional) period of time in seconds between executions of the integrity audit. +# Value < 0 : Audit does not run (default value if property is not present = -1) +# Value = 0 : Audit runs continuously +# Value > 0 : The period of time in seconds between execution of the audit on a particular node +integrity_audit_period_seconds=-1 + +#Automatic Policy Distribution +automatic_push=false + +#Diff of policies for Firewall feature +FW_GETURL= +FW_AUTHOURL= +FW_PROXY= +FW_PORT= + +#SMTP Server Details for Java Mail +onap_smtp_host= +onap_smtp_port=25 +onap_smtp_userName= +onap_smtp_password= +onap_smtp_emailExtension= +onap_application_name= + +#-----------------------ONAP-PORTAL-Properties---------------------- + +ONAP_REDIRECT_URL=http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm +ONAP_REST_URL=http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi +ONAP_UEB_URL_LIST= +ONAP_PORTAL_INBOX_NAME= +ONAP_UEB_APP_KEY= +ONAP_UEB_APP_SECRET= +ONAP_UEB_APP_MAILBOX_NAME= +APP_DISPLAY_NAME=ONAP Policy +ONAP_SHARED_CONTEXT_REST_URL=http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/context diff --git a/scripts/policy/config/pe/elk.conf b/scripts/policy/config/pe/elk.conf new file mode 100644 index 00000000..a65fd17d --- /dev/null +++ b/scripts/policy/config/pe/elk.conf @@ -0,0 +1,16 @@ +# Copyright 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. +# elasticsearch + +ELK_JMX_PORT=9995 \ No newline at end of file diff --git a/scripts/policy/config/pe/mysql.conf b/scripts/policy/config/pe/mysql.conf new file mode 100644 index 00000000..0f6ee8c7 --- /dev/null +++ b/scripts/policy/config/pe/mysql.conf @@ -0,0 +1,18 @@ +# Copyright 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. +# mysql scripts component installation configuration parameters + +# Path to mysql bin +MYSQL_BIN=/usr/local/mysql/bin + diff --git a/scripts/policy/config/pe/pap-tweaks.sh b/scripts/policy/config/pe/pap-tweaks.sh new file mode 100755 index 00000000..87c6d21d --- /dev/null +++ b/scripts/policy/config/pe/pap-tweaks.sh @@ -0,0 +1,14 @@ +#! /bin/bash +# Copyright 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. diff --git a/scripts/policy/config/pe/pap.conf b/scripts/policy/config/pe/pap.conf new file mode 100644 index 00000000..86f5a50c --- /dev/null +++ b/scripts/policy/config/pe/pap.conf @@ -0,0 +1,68 @@ +# Copyright 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. +# pap component installation configuration parameters + +# tomcat specific parameters + +TOMCAT_JMX_PORT=9990 +TOMCAT_SHUTDOWN_PORT=9405 +SSL_HTTP_CONNECTOR_PORT=9091 +SSL_AJP_CONNECTOR_PORT=8380 +SSL_AJP_CONNECTOR_REDIRECT_PORT=8443 + +TOMCAT_X_MS_MB=512 +TOMCAT_X_MX_MB=512 + +# pap properties + +PAP_PDPS=${{POLICY_HOME}}/servers/pap/bin/pdps +PAP_URL=https://pap:9091/pap/ + +PAP_INITIATE_PDP=true +PAP_HEARTBEAT_INTERVAL=10000 +PAP_HEARTBEAT_TIMEOUT=10000 + +REST_ADMIN_DOMAIN=com +REST_ADMIN_REPOSITORY=repository +REST_ADMIN_WORKSPACE=workspace + +# PDP related properties + +PAP_PDP_URL=https://pdp:8081/pdp/ +PAP_PDP_HTTP_USER_ID=testpdp +PAP_PDP_HTTP_PASSWORD=alpha123 + +PAP_HTTP_USER_ID=testpap +PAP_HTTP_PASSWORD=alpha123 + +#new values added 10-21-2015 +PROP_PAP_TRANS_WAIT=500000 +PROP_PAP_TRANS_TIMEOUT=5000 +PROP_PAP_AUDIT_TIMEOUT=300000 +PROP_PAP_RUN_AUDIT_FLAG=true +PROP_PAP_AUDIT_FLAG=true + +PROP_PAP_INCOMINGNOTIFICATION_TRIES=4 + + +node_type=pap +resource_name=pap_1 +dependency_groups=paplp_1 +test_via_jmx=true + +# The (optional) period of time in seconds between executions of the integrity audit. +# Value < 0 : Audit does not run (default value if property is not present = -1) +# Value = 0 : Audit runs continuously +# Value > 0 : The period of time in seconds between execution of the audit on a particular node +integrity_audit_period_seconds=-1 diff --git a/scripts/policy/config/pe/paplp.conf b/scripts/policy/config/pe/paplp.conf new file mode 100644 index 00000000..647625cb --- /dev/null +++ b/scripts/policy/config/pe/paplp.conf @@ -0,0 +1,25 @@ +# Copyright 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. +# JVM specific parameters +LOGPARSER_JMX_PORT=9996 +LOGPARSER_X_MS_MB=256 +LOGPARSER_X_MX_MB=256 + +SERVER=https://pap:9091/pap/ +LOGPATH=/var/log/onap/policy/pap/pap-rest.log +PARSERLOGPATH=${{POLICY_HOME}}/servers/paplp/bin/IntegrityMonitor.log + +node_type=logparser +# the java property is RESOURCE_NAME (uppercase), but the conf parameter is lowercase +resource_name=paplp_1 diff --git a/scripts/policy/config/pe/pdp-tweaks.sh b/scripts/policy/config/pe/pdp-tweaks.sh new file mode 100755 index 00000000..87c6d21d --- /dev/null +++ b/scripts/policy/config/pe/pdp-tweaks.sh @@ -0,0 +1,14 @@ +#! /bin/bash +# Copyright 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. diff --git a/scripts/policy/config/pe/pdp.conf b/scripts/policy/config/pe/pdp.conf new file mode 100644 index 00000000..0aa6b0b6 --- /dev/null +++ b/scripts/policy/config/pe/pdp.conf @@ -0,0 +1,69 @@ +# Copyright 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. +# pdp component installation configuration parameters + +# tomcat specific parameters + +TOMCAT_JMX_PORT=9991 +TOMCAT_SHUTDOWN_PORT=8087 +SSL_HTTP_CONNECTOR_PORT=8081 +SSL_AJP_CONNECTOR_PORT=8381 +SSL_AJP_CONNECTOR_REDIRECT_PORT=8443 + +TOMCAT_X_MS_MB=512 +TOMCAT_X_MX_MB=512 + +# pdp properties + +UEB_CLUSTER=mr.api.simpledemo.onap.org + +REST_PAP_URL=https://pap:9091/pap/ +REST_PDP_ID=https://pdp:8081/pdp/ +REST_PDP_CONFIG=${{POLICY_HOME}}/servers/pdp/bin/config +REST_PDP_WEBAPPS=${{POLICY_HOME}}/servers/pdp/webapps +REST_PDP_REGISTER=true +REST_PDP_REGISTER_SLEEP=15 +REST_PDP_REGISTER_RETRIES=-1 +REST_PDP_MAXCONTENT=999999999 + +# PDP related properties +PDP_HTTP_USER_ID=testpdp +PDP_HTTP_PASSWORD=alpha123 +PDP_PAP_PDP_HTTP_USER_ID=testpap +PDP_PAP_PDP_HTTP_PASSWORD=alpha123 + +node_type=pdp_xacml +resource_name=pdp_1 +dependency_groups=pdplp_1;brmsgw_1 +test_via_jmx=true + +# +# Notification Properties +# Notification type: websocket, ueb or dmaap... if left blank websocket is the default +PDP_NOTIFICATION_TYPE=websocket +PDP_UEB_CLUSTER= +PDP_UEB_TOPIC= +PDP_UEB_DELAY= +PDP_UEB_API_KEY= +PDP_UEB_API_SECRET= +PDP_DMAAP_AAF_LOGIN= +PDP_DMAAP_AAF_PASSWORD= + +#AAF Policy Name space +#Required only, when we use AAF +POLICY_AAF_NAMESPACE= +POLICY_AAF_RESOURCE= + +# Indeterminate resolution +DECISION_INDETERMINATE_RESPONSE=PERMIT diff --git a/scripts/policy/config/pe/pdplp.conf b/scripts/policy/config/pe/pdplp.conf new file mode 100644 index 00000000..4676b610 --- /dev/null +++ b/scripts/policy/config/pe/pdplp.conf @@ -0,0 +1,25 @@ +# Copyright 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. +# JVM specific parameters +LOGPARSER_JMX_PORT=9997 +LOGPARSER_X_MS_MB=256 +LOGPARSER_X_MX_MB=256 + +SERVER=https://pdp:8081/pdp/ +LOGPATH=/var/log/onap/policy/pdpx/pdp-rest.log +PARSERLOGPATH=${{POLICY_HOME}}/servers/pdplp/bin/IntegrityMonitor.log + +node_type=logparser +# the java property is RESOURCE_NAME (uppercase), but the conf parameter is lowercase +resource_name=pdplp_1 diff --git a/scripts/policy/config/pe/push-policies.sh b/scripts/policy/config/pe/push-policies.sh new file mode 100755 index 00000000..65013138 --- /dev/null +++ b/scripts/policy/config/pe/push-policies.sh @@ -0,0 +1,506 @@ +#! /bin/bash -x +# Copyright 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. + +#########################################Upload BRMS Param Template########################################## + +echo "Upload BRMS Param Template" + +sleep 2 + +wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl + +sleep 2 + +curl -k -v --silent -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -F "file=@cl-amsterdam-template.drl" -F "importParametersJson={\"serviceName\":\"ClosedLoopControlName\",\"serviceType\":\"BRMSPARAM\"}" 'https://pdp:8081/pdp/api/policyEngineImport' + +echo "PRELOAD_POLICIES is $PRELOAD_POLICIES" + +if [ "$PRELOAD_POLICIES" == "false" ]; then + exit 0 +fi + +#########################################Create BRMS Param policies########################################## + +echo "Create BRMSParam Operational Policies" + +sleep 2 + +echo "Create BRMSParamvFirewall Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamvFirewall", + "policyDescription": "BRMS Param vFirewall policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "amsterdam" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", + "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create BRMSParamvDNS Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamvDNS", + "policyDescription": "BRMS Param vDNS policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "amsterdam" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "controlLoopYaml": "controlLoop%3A%0A++version%3A+2.0.0%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0A++timeout%3A+1200%0A++abatement%3A+false%0Apolicies%3A%0A++-+id%3A+unique-policy-id-1-scale-up%0A++++name%3A+Create+a+new+VF+Module%0A++++description%3A%0A++++actor%3A+SO%0A++++recipe%3A+VF+Module+Create%0A++++target%3A%0A++++++type%3A+VNF%0A++++payload%3A%0A++++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B9%5D%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B16%5D%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B23%5D%22%7D%5D%27%0A++++retry%3A+0%0A++++timeout%3A+1200%0A++++success%3A+final_success%0A++++failure%3A+final_failure%0A++++failure_timeout%3A+final_failure_timeout%0A++++failure_retries%3A+final_failure_retries%0A++++failure_exception%3A+final_failure_exception%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create BRMSParamVOLTE Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamVOLTE", + "policyDescription": "BRMS Param VOLTE policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "amsterdam" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", + "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create BRMSParamvCPE Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamvCPE", + "policyDescription": "BRMS Param vCPE policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "amsterdam" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create BRMSParamvPCI Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamvPCI", + "policyDescription": "BRMS Param vPCI policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "casablanca" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459", + "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+3.0.0%0D%0A++controlLoopName%3A+ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459%0D%0A++trigger_policy%3A+unique-policy-id-123-modifyconfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-123-modifyconfig%0D%0A++++name%3A+modify+PCI+config%0D%0A++++description%3A%0D%0A++++actor%3A+SDNR%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+These+fields+are+not+used%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create BRMSParamCCVPN Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyConfigType": "BRMS_PARAM", + "policyName": "com.BRMSParamCCVPN", + "policyDescription": "BRMS Param CCVPN policy", + "policyScope": "com", + "attributes": { + "MATCHING": { + "controller" : "amsterdam" + }, + "RULE": { + "templateName": "ClosedLoopControlName", + "closedLoopControlName": "ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b", + "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c66b%0D%0A++trigger_policy%3A+unique-policy-id-16-Reroute%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-16-Reroute%0D%0A++++name%3A+Connectivity Reroute%0D%0A++++description%3A%0D%0A++++actor%3A+SDNC%0D%0A++++recipe%3A+Reroute%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +#########################################Create Micro Service Config policies########################################## + +echo "Create MicroService Config Policies" + +sleep 2 + +echo "Create MicroServicevFirewall Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevFirewall\", \"description\": \"MicroService vFirewall Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }", + "policyConfigType": "MicroService", + "policyName": "com.MicroServicevFirewall", + "onapName": "DCAE" +}' 'https://pdp:8081/pdp/api/createPolicy' + + +sleep 2 + +echo "Create MicroServicevDNS Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevDNS\", \"description\": \"MicroService vDNS Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vLoadBalancer\", \"controlLoopSchemaType\": \"VM\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }", + "policyConfigType": "MicroService", + "policyName": "com.MicroServicevDNS", + "onapName": "DCAE" +}' 'https://pdp:8081/pdp/api/createPolicy' + + +sleep 2 + +echo "Create MicroServicevCPE Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }", + "policyConfigType": "MicroService", + "policyName": "com.MicroServicevCPE", + "onapName": "DCAE" +}' 'https://pdp:8081/pdp/api/createPolicy' + +#########################################Create SDNC Naming Policies########################################## + +echo "Create SDNC Naming Policies" + +sleep 2 + +echo "Create SDNC vFW Naming Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VFW_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vFW\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", + "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP", + "policyConfigType": "MicroService", + "onapName": "SDNC", + "riskLevel": "4", + "riskType": "test", + "guard": "false", + "priority": "4", + "description": "ONAP_VFW_NAMING_TIMESTAMP" + }' 'https://pdp:8081/pdp/api/createPolicy' + + sleep 2 + + echo "Create SDNC vPG Naming Policy" + curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VPG_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vPG\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", + "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP", + "policyConfigType": "MicroService", + "onapName": "SDNC", + "riskLevel": "4", + "riskType": "test", + "guard": "false", + "priority": "4", + "description": "ONAP_VPG_NAMING_TIMESTAMP" + }' 'https://pdp:8081/pdp/api/createPolicy' + +#########################################Creating OOF PCI Policies########################################## +sleep 2 + +echo "Create MicroServicevPCI Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation_pci\", \"uuid\": \"test_pci\", \"policyName\": \"MicroServicevPCI\", \"description\": \"MicroService vPCI Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.executePolicy\", \"thresholdValue\": 1, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }", + "policyConfigType": "MicroService", + "policyName": "com.MicroServicevPCI", + "onapName": "DCAE" +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create PCI MS Config Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyName": "com.PCIMS_CONFIG_POLICY", + "configBody": "{ \"PCI_NEIGHBOR_CHANGE_CLUSTER_TIMEOUT_IN_SECS\":60, \"PCI_MODCONFIG_POLICY_NAME\":\"ControlLoop-vPCI-fb41f388-a5f2-11e8-98d0-529269fb1459\", \"PCI_OPTMIZATION_ALGO_CATEGORY_IN_OOF\":\"OOF-PCI-OPTIMIZATION\", \"PCI_SDNR_TARGET_NAME\":\"SDNR\" }", + "policyType": "Config", + "attributes" : { "matching" : { "key1" : "value1" } }, + "policyConfigType": "Base", + "onapName": "DCAE", + "configName": "PCIMS_CONFIG_POLICY", + "configBodyType": "JSON" +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Create OOF Config Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyName": "com.OOF_PCI_CONFIG_POLICY", + "configBody": "{ \"ALGO_CATEGORY\":\"OOF-PCI-OPTIMIZATION\", \"PCI_OPTMIZATION_ALGO_NAME\":\"OOF-PCI-OPTIMIZATION-LEVEL1\", \"PCI_OPTIMIZATION_NW_CONSTRAINT\":\"MAX5PCICHANGESONLY\", \"PCI_OPTIMIZATION_PRIORITY\": 2, \"PCI_OPTIMIZATION_TIME_CONSTRAINT\":\"ONLYATNIGHT\" }", + "attributes" : { "matching" : { "key1" : "value1" } }, + "policyType": "Config", + "policyConfigType": "Base", + "onapName": "DCAE", + "configName": "OOF_PCI_CONFIG_POLICY", + "configBodyType": "JSON" +}' 'https://pdp:8081/pdp/api/createPolicy' + +#########################################Creating Decision Guard policies######################################### + +sleep 2 + +echo "Creating Decision Guard policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyClass": "Decision", + "policyName": "com.AllPermitGuard", + "policyDescription": "Testing all Permit YAML Guard Policy", + "onapName": "PDPD", + "ruleProvider": "GUARD_YAML", + "attributes": { + "MATCHING": { + "actor": ".*", + "recipe": ".*", + "targets": ".*", + "clname": ".*", + "limit": "10", + "timeWindow": "1", + "timeUnits": "minute", + "guardActiveStart": "00:00:01-05:00", + "guardActiveEnd": "23:59:59-05:00" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Creating Decision vDNS Guard - Frequency Limiter policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyClass": "Decision", + "policyName": "com.vDNS_Frequency", + "policyDescription": "Limit vDNS Scale Up over time period", + "onapName": "PDPD", + "ruleProvider": "GUARD_YAML", + "attributes": { + "MATCHING": { + "actor": "SO", + "recipe": "scaleOut", + "targets": ".*", + "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "limit": "1", + "timeWindow": "10", + "timeUnits": "minute", + "guardActiveStart": "00:00:01-05:00", + "guardActiveEnd": "23:59:59-05:00" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +sleep 2 + +echo "Creating Decision vDNS Guard - Min/Max policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "policyClass": "Decision", + "policyName": "com.vDNS_MinMax", + "policyDescription": "Ensure number of instances within a range", + "onapName": "SampleDemo", + "ruleProvider": "GUARD_MIN_MAX", + "attributes": { + "MATCHING": { + "actor": "SO", + "recipe": "scaleOut", + "targets": ".*", + "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "min": "1", + "max": "5", + "guardActiveStart": "00:00:01-05:00", + "guardActiveEnd": "23:59:59-05:00" + } + } +}' 'https://pdp:8081/pdp/api/createPolicy' + +#########################################Push Decision policy######################################### + +sleep 2 + +echo "Push Decision policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.AllPermitGuard", + "policyType": "DECISION" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "Push Decision policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.vDNS_Frequency", + "policyType": "DECISION" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "Push Decision policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.vDNS_MinMax", + "policyType": "DECISION" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +#########################################Pushing BRMS Param policies########################################## + +echo "Pushing BRMSParam Operational policies" + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamvFirewall" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamvFirewall", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamvDNS" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamvDNS", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamVOLTE" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamVOLTE", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamvCPE" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamvCPE", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamvPCI" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamvPCI", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 2 + +echo "pushPolicy : PUT : com.BRMSParamCCVPN" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.BRMSParamCCVPN", + "policyType": "BRMS_Param" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +#########################################Pushing MicroService Config policies########################################## + +echo "Pushing MicroService Config policies" + +sleep 2 + +echo "pushPolicy : PUT : com.MicroServicevFirewall" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.MicroServicevFirewall", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : com.MicroServicevDNS" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.MicroServicevDNS", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : com.MicroServicevCPE" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.MicroServicevCPE", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +#########################################Pushing SDNC Naming Policies########################################## +echo "Pushing SDNC Naming Policies" + +sleep 2 + +echo "pushPolicy : PUT : SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + + +#########################################Pushing OOF PCI Policies########################################## +sleep 10 + +echo "pushPolicy : PUT : com.MicroServicevPCI" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.MicroServicevPCI", + "policyType": "MicroService" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : com.PCIMS_CONFIG_POLICY" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.PCIMS_CONFIG_POLICY", + "policyType": "Base" +}' 'https://pdp:8081/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : com.OOF_PCI_CONFIG_POLICY" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "com.OOF_PCI_CONFIG_POLICY", + "policyType": "Base" +}' 'https://pdp:8081/pdp/api/pushPolicy' diff --git a/scripts/policy/config/policy-csit.conf b/scripts/policy/config/policy-csit.conf index aa5f9396..1858698a 100644 --- a/scripts/policy/config/policy-csit.conf +++ b/scripts/policy/config/policy-csit.conf @@ -1,2 +1,3 @@ GERRIT_BRANCH=master POLICY_MARIADB_VER=10.2.25 +NEXUS_URL=https://nexus.onap.org/content/repositories/snapshots diff --git a/scripts/policy/docker-compose-drools-apps.yml b/scripts/policy/docker-compose-drools-apps.yml index 14a2161f..704de81b 100644 --- a/scripts/policy/docker-compose-drools-apps.yml +++ b/scripts/policy/docker-compose-drools-apps.yml @@ -1,4 +1,4 @@ -# Copyright 2019 AT&T Intellectual Property. All rights reserved +# Copyright 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. @@ -34,14 +34,8 @@ services: - 6969 - 9696 volumes: - - ${WORKSPACE}/scripts/policy/config/drools:/tmp/policy-install/config - environment: - - DEBUG=y - start_dependencies: - image: dadarek/wait-for-dependencies - container_name: policy-wait - depends_on: - - mariadb - hostname: policy-wait - command: mariadb:3306 - + - ${WORKSPACE}/scripts/policy/config/drools-apps/custom:/tmp/policy-install/config + env_file: + - ${WORKSPACE}/scripts/policy/config/drools-apps/env/base.conf + - ${WORKSPACE}/scripts/policy/config/drools-apps/env/feature-healthcheck.conf + - ${WORKSPACE}/scripts/policy/config/drools-apps/env/feature-pooling-dmaap.conf diff --git a/scripts/policy/docker-compose-drools.yml b/scripts/policy/docker-compose-drools.yml index ffee9cdc..974b465f 100644 --- a/scripts/policy/docker-compose-drools.yml +++ b/scripts/policy/docker-compose-drools.yml @@ -1,4 +1,4 @@ -# Copyright 2018 AT&T Intellectual Property. All rights reserved +# Copyright 2018-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. @@ -14,42 +14,34 @@ version: '2' services: mariadb: - image: mariadb:10.2.14 + image: mariadb:${POLICY_MARIADB_VER} container_name: mariadb hostname: mariadb command: ['--lower-case-table-names=1', '--wait_timeout=28800'] - env_file: config/db/db.conf + env_file: + - ${WORKSPACE}/scripts/policy/config/db/db.conf volumes: - - ./config/db:/docker-entrypoint-initdb.d + - ${WORKSPACE}/scripts/policy/config/db:/docker-entrypoint-initdb.d expose: - - 3306 + - 3306 nexus: image: sonatype/nexus:2.14.8-01 container_name: nexus hostname: nexus - pap: - image: onap/policy-pe - environment: - - PRELOAD_POLICIES=${PRELOAD_POLICIES} - container_name: pap - depends_on: - - mariadb - hostname: pap expose: - - 8443 - - 9091 - command: pap - volumes: - - ./config/pe:/tmp/policy-install/config + - 8081 drools: - image: onap/policy-drools + image: nexus3.onap.org:10001/onap/policy-drools:${POLICY_DROOLS_VERSION} + user: 1000:1000 container_name: drools depends_on: - - mariadb - - nexus + - mariadb + - nexus hostname: drools expose: - - 6969 - - 9696 + - 6969 + - 9696 volumes: - - ./config/drools:/tmp/policy-install/config + - ${WORKSPACE}/scripts/policy/config/drools/custom:/tmp/policy-install/config + env_file: + - ${WORKSPACE}/scripts/policy/config/drools/env/base.conf diff --git a/scripts/policy/docker-compose-engine.yml b/scripts/policy/docker-compose-engine.yml index e67729e2..1fc5f9f3 100644 --- a/scripts/policy/docker-compose-engine.yml +++ b/scripts/policy/docker-compose-engine.yml @@ -14,13 +14,14 @@ version: '2' services: mariadb: - image: mariadb:10.2.14 + image: mariadb:${POLICY_MARIADB_VER} container_name: mariadb hostname: mariadb command: ['--lower-case-table-names=1', '--wait_timeout=28800'] - env_file: config/db/db.conf + env_file: + - ${WORKSPACE}/scripts/policy/config/db/db.conf volumes: - - ./config/db:/docker-entrypoint-initdb.d + - ${WORKSPACE}/scripts/policy/config/db:/docker-entrypoint-initdb.d expose: - 3306 nexus: @@ -28,7 +29,7 @@ services: container_name: nexus hostname: nexus pap: - image: onap/policy-pe + image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION} environment: - PRELOAD_POLICIES=${PRELOAD_POLICIES} container_name: pap @@ -40,9 +41,9 @@ services: - 9091 command: pap volumes: - - ./config/pe:/tmp/policy-install/config + - ${WORKSPACE}/scripts/policy/config/pe:/tmp/policy-install/config pdp: - image: onap/policy-pe + image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION} container_name: pdp depends_on: - pap @@ -53,23 +54,11 @@ services: volumes: - ./config/pe:/tmp/policy-install/config brmsgw: - image: onap/policy-pe + image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION} container_name: brmsgw depends_on: - pap hostname: brmsgw command: brmsgw volumes: - - ./config/pe:/tmp/policy-install/config - drools: - image: onap/policy-drools - container_name: drools - depends_on: - - mariadb - - nexus - hostname: drools - expose: - - 6969 - - 9696 - volumes: - - ./config/drools:/tmp/policy-install/config + - ${WORKSPACE}/scripts/policy/config/pe:/tmp/policy-install/config diff --git a/scripts/policy/drools-pdp-script.sh b/scripts/policy/drools-pdp-script.sh deleted file mode 100755 index 6e14931f..00000000 --- a/scripts/policy/drools-pdp-script.sh +++ /dev/null @@ -1,246 +0,0 @@ -#!/bin/bash -x -# -# Copyright 2017-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. -# -echo "This is ${WORKSPACE}/scripts/policy/drools-pdp-script.sh" - - -# the directory of the script -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo ${DIR} - -# the temp directory used, within $DIR -# omit the -p parameter to create a temporal directory in the default location -WORK_DIR=`mktemp -d -p "$DIR"` -echo ${WORK_DIR} - -cd ${WORK_DIR} - -# check if tmp dir was created -if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then - echo "Could not create temp dir" - exit 1 -fi - -# bring down maven -mkdir maven -cd maven -# download maven from automatically selected mirror server -curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" -if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then - echo "Installation of maven has failed!" - exit 1 -fi -ls -l -export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v -cd .. - -ifconfig - -export IP=`ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}'` -if [ -z "$IP" ]; then - echo "Could not determine IP address" - exit 1 -fi -echo $IP - -if ! ifconfig docker0; then - export DOCKER_IP="$IP" -else - export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` -fi -echo $DOCKER_IP - -git clone http://gerrit.onap.org/r/oparent - -git clone http://gerrit.onap.org/r/policy/engine -cd engine/packages/docker -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml -docker build -t onap/policy-pe target/policy-pe - -cd ${WORK_DIR} -git clone http://gerrit.onap.org/r/policy/drools-pdp -cd drools-pdp/packages/docker -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml -docker build -t onap/policy-drools target/policy-drools - -cd ${WORK_DIR} -git clone http://gerrit.onap.org/r/policy/docker -cd docker - -chmod +x config/drools/drools-tweaks.sh - -echo $IP > config/pe/ip_addr.txt -ls -l config/pe/ip_addr.txt -cat config/pe/ip_addr.txt - -export MTU=9126 - -export PRELOAD_POLICIES=false -docker-compose -f docker-compose-integration.yml up -d - -if [ ! $? -eq 0 ]; then - echo "Docker compose failed" - exit 1 -fi - -docker ps - -POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` -echo ${POLICY_IP} - -PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` -echo ${PDP_IP} - -PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` -echo ${PAP_IP} - -BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` -echo ${BRMS_IP} - -NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` -echo ${NEXUS_IP} - -MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` -echo ${MARIADB_IP} - -sleep 3m - -docker logs mariadb 2>&1 | grep -q "mysqld: ready for connections" -if [ $? -eq 0 ]; then - # mariadb is ok - sleep a little longer for others - sleep 2m - -else - echo mariadb is not ready - echo Restarting... - - docker kill drools pdp pap brmsgw nexus mariadb - docker rm -f drools pdp pap brmsgw nexus mariadb - - docker-compose -f docker-compose-integration.yml up -d - - if [ ! $? -eq 0 ]; then - echo "Docker compose failed" - exit 1 - fi - - docker ps - - POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` - echo ${POLICY_IP} - - PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` - echo ${PDP_IP} - - PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` - echo ${PAP_IP} - - BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` - echo ${BRMS_IP} - - NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` - echo ${NEXUS_IP} - - MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` - echo ${MARIADB_IP} - - sleep 5m -fi - -netstat -tnl - -${DIR}/wait_for_port.sh ${MARIADB_IP} 3306 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${MARIADB_IP} 3306" - telnet ${MARIADB_IP} 3306 < /dev/null - nc -vz ${MARIADB_IP} 3306 - docker logs mariadb - exit $rc -fi - -${DIR}/wait_for_port.sh ${NEXUS_IP} 8081 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${NEXUS_IP} 8081" - telnet ${NEXUS_IP} 8081 < /dev/null - nc -vz ${NEXUS_IP} 8081 - docker logs nexus - exit $rc -fi - -${DIR}/wait_for_port.sh ${POLICY_IP} 9696 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${POLICY_IP} 9696" - telnet ${POLICY_IP} 9696 < /dev/null - nc -vz ${POLICY_IP} 9696 - docker logs drools - exit $rc -fi - -${DIR}/wait_for_port.sh ${PAP_IP} 9091 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${PAP_IP} 9091" - telnet ${PAP_IP} 9091 < /dev/null - nc -vz ${PAP_IP} 9091 - docker logs pap - exit $rc -fi - -${DIR}/wait_for_port.sh ${PDP_IP} 8081 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${PDP_IP} 8081" - telnet ${PDP_IP} 8081 < /dev/null - nc -vz ${PDP_IP} 8081 - docker logs pdp - exit $rc -fi - -${DIR}/wait_for_port.sh ${BRMS_IP} 9989 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${BRMS_IP} 9989" - telnet ${BRMS_IP} 9989" < /dev/null - nc -vz ${BRMS_IP} 9989" - docker logs brmsgw - exit $rc -fi - -docker logs drools -docker logs pap -docker logs pdp -docker logs brmsgw - -TIME_OUT=300 -INTERVAL=20 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - curl -k -i --user "demo@people.osaaf.org:demo123456!" -H "ContentType: application/json" -H "Accept: application/json" https://${POLICY_IP}:9696/healthcheck && break - - echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) - -done - -# -# Add more sleep for everything to settle -# -sleep 3m diff --git a/scripts/policy/engine.sh b/scripts/policy/engine.sh deleted file mode 100755 index 3e9f3d42..00000000 --- a/scripts/policy/engine.sh +++ /dev/null @@ -1,264 +0,0 @@ -#!/bin/bash -x -# -# Copyright 2017-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. -# -echo "This is ${WORKSPACE}/scripts/policy/engine.sh" - - -# the directory of the script -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo ${DIR} - -# the temp directory used, within $DIR -# omit the -p parameter to create a temporal directory in the default location -WORK_DIR=`mktemp -d -p "$DIR"` -echo ${WORK_DIR} - -cd ${WORK_DIR} - -# check if tmp dir was created -if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then - echo "Could not create temp dir" - exit 1 -fi - -# bring down maven -mkdir maven -cd maven -# download maven from automatically selected mirror server -curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" -if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then - echo "Installation of maven has failed!" - exit 1 -fi -ls -l -export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v -cd .. - -ifconfig - -export IP=`ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}'` -if [ -z "$IP" ]; then - echo "Could not determine IP address" - exit 1 -fi -echo $IP - -if ! ifconfig docker0; then - export DOCKER_IP="$IP" -else - export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` -fi -echo $DOCKER_IP - -git clone http://gerrit.onap.org/r/oparent - -git clone http://gerrit.onap.org/r/policy/engine -cd engine/packages/docker -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml -docker build -t onap/policy-pe target/policy-pe - -cd ${WORK_DIR} -git clone http://gerrit.onap.org/r/policy/drools-pdp -cd drools-pdp/packages/docker -${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml -docker build -t onap/policy-drools target/policy-drools - -cd ${WORK_DIR} -git clone http://gerrit.onap.org/r/policy/docker -cd docker - -chmod +x config/drools/drools-tweaks.sh - -echo $IP > config/pe/ip_addr.txt -ls -l config/pe/ip_addr.txt -cat config/pe/ip_addr.txt - -export MTU=9126 - -export PRELOAD_POLICIES=false -docker-compose -f docker-compose-integration.yml up -d - -if [ ! $? -eq 0 ]; then - echo "Docker compose failed" - exit 1 -fi - -docker ps - -POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` -echo ${POLICY_IP} - -PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` -echo ${PDP_IP} - -PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` -echo ${PAP_IP} - -BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` -echo ${BRMS_IP} - -NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` -echo ${NEXUS_IP} - -MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` -echo ${MARIADB_IP} - -sleep 3m - -docker logs mariadb 2>&1 | grep -q "mysqld: ready for connections" -if [ $? -eq 0 ]; then - # mariadb is ok - sleep a little longer for others - sleep 2m - -else - echo mariadb is not ready - echo Restarting... - - docker kill drools pdp pap brmsgw nexus mariadb - docker rm -f drools pdp pap brmsgw nexus mariadb - - docker-compose -f docker-compose-integration.yml up -d - - if [ ! $? -eq 0 ]; then - echo "Docker compose failed" - exit 1 - fi - - docker ps - - POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` - echo ${POLICY_IP} - - PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` - echo ${PDP_IP} - - PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` - echo ${PAP_IP} - - BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` - echo ${BRMS_IP} - - NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` - echo ${NEXUS_IP} - - MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` - echo ${MARIADB_IP} - - sleep 5m -fi - -netstat -tnl - -${DIR}/wait_for_port.sh ${MARIADB_IP} 3306 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${MARIADB_IP} 3306" - telnet ${MARIADB_IP} 3306 < /dev/null - nc -vz ${MARIADB_IP} 3306 - docker logs mariadb - exit $rc -fi - -${DIR}/wait_for_port.sh ${NEXUS_IP} 8081 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${NEXUS_IP} 8081" - netstat -tnl - telnet ${NEXUS_IP} 8081 < /dev/null - nc -vz ${NEXUS_IP} 8081 - docker logs nexus - exit $rc -fi - -${DIR}/wait_for_port.sh ${POLICY_IP} 9696 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${POLICY_IP} 9696" - netstat -tnl - telnet ${POLICY_IP} 9696 < /dev/null - nc -vz ${POLICY_IP} 9696 - docker logs drools - exit $rc -fi - -${DIR}/wait_for_port.sh ${PAP_IP} 9091 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${PAP_IP} 9091" - netstat -tnl - telnet ${PAP_IP} 9091 < /dev/null - nc -vz ${PAP_IP} 9091 - docker logs pap - exit $rc -fi - -${DIR}/wait_for_port.sh ${PDP_IP} 8081 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${PDP_IP} 8081" - netstat -tnl - telnet ${PDP_IP} 8081 < /dev/null - nc -vz ${PDP_IP} 8081 - docker logs pdp - exit $rc -fi - -${DIR}/wait_for_port.sh ${BRMS_IP} 9989 -rc=$? -if [[ $rc != 0 ]]; then - echo "cannot open ${BRMS_IP} 9989" - netstat -tnl - telnet ${BRMS_IP} 9989" < /dev/null - nc -vz ${BRMS_IP} 9989" - docker logs brmsgw - exit $rc -fi - -docker logs drools -docker logs pap -docker logs pdp -docker logs brmsgw - -TIME_OUT=300 -INTERVAL=20 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - curl -k -i --user "demo@people.osaaf.org:demo123456!" -H "ContentType: application/json" -H "Accept: application/json" https://${POLICY_IP}:6969/healthcheck && break - - echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) - -done - -TIME_OUT=300 -INTERVAL=20 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - - curl -k -i -v -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -d '{"policyName": ".*"}' https://${PDP_IP}:8081/pdp/api/getConfig && break - -echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) - -done - -# -# Add more sleep for everything to settle -# -sleep 3m 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 index f4d77459..33c601f4 100644 Binary files a/scripts/policy/policy-distribution/config/distribution/csar/sample_csar_with_apex_policy.csar and b/scripts/policy/policy-distribution/config/distribution/csar/sample_csar_with_apex_policy.csar differ diff --git a/scripts/policy/policy-distribution/config/distribution/temp/sample_csar_with_apex_policy.csar b/scripts/policy/policy-distribution/config/distribution/temp/sample_csar_with_apex_policy.csar index f4d77459..675e8897 100644 Binary files a/scripts/policy/policy-distribution/config/distribution/temp/sample_csar_with_apex_policy.csar and b/scripts/policy/policy-distribution/config/distribution/temp/sample_csar_with_apex_policy.csar differ diff --git a/scripts/policy/policy-models-dmaap-sim.sh b/scripts/policy/policy-models-dmaap-sim.sh new file mode 100644 index 00000000..0abd9f94 --- /dev/null +++ b/scripts/policy/policy-models-dmaap-sim.sh @@ -0,0 +1,35 @@ +#!/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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +source ${SCRIPTS}/policy/config/policy-csit.conf + +POLICY_MODELS_VERSION_EXTRACT="$(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_EXTRACT}" +echo ${POLICY_MODELS_VERSION} + +# download dmaap tarball and build docker image +git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH} +cd models/models-sim/models-sim-dmaap +item=`curl --silent -L ${NEXUS_URL}/org/onap/policy/models/sim/policy-models-sim-dmaap/${POLICY_MODELS_VERSION} | egrep 'policy-models-sim-dmaap-.*tarball' | cut '-d"' -f2 | egrep 'gz$' | sort | tail -1` +mkdir target +curl -L $item -o target/policy-models-sim-dmaap-${POLICY_MODELS_VERSION}-tarball.tar.gz +bash ./src/main/package/docker/docker_build.sh +cd ${WORKSPACE} +rm -rf ${WORK_DIR} + diff --git a/scripts/policy/policy-xacml-pdp/config/db/db.sh b/scripts/policy/policy-xacml-pdp/config/db/db.sh old mode 100644 new mode 100755 index ac150a03..499764df --- a/scripts/policy/policy-xacml-pdp/config/db/db.sh +++ b/scripts/policy/policy-xacml-pdp/config/db/db.sh @@ -1,6 +1,6 @@ #!/bin/bash -xv # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# 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. @@ -17,10 +17,10 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -for db in policyadmin +for db in 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;" \ No newline at end of file +mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;" diff --git a/tests/aaf/certservice/assets/invalid.csr b/tests/aaf/certservice/assets/invalid.csr new file mode 100644 index 00000000..7284ab4d --- /dev/null +++ b/tests/aaf/certservice/assets/invalid.csr @@ -0,0 +1 @@ +aaaa \ No newline at end of file diff --git a/tests/aaf/certservice/assets/invalid.key b/tests/aaf/certservice/assets/invalid.key new file mode 100644 index 00000000..6484fb6f --- /dev/null +++ b/tests/aaf/certservice/assets/invalid.key @@ -0,0 +1 @@ +bbbb \ No newline at end of file diff --git a/tests/aaf/certservice/assets/invalid_client_docker.env b/tests/aaf/certservice/assets/invalid_client_docker.env new file mode 100644 index 00000000..7fbc666e --- /dev/null +++ b/tests/aaf/certservice/assets/invalid_client_docker.env @@ -0,0 +1,12 @@ +#Client envs +REQUEST_TIMEOUT=5000 +OUTPUT_PATH=/var/log +CA_NAME=Invalid +#Csr config envs +COMMON_NAME=onap.org +ORGANIZATION=Linux-Foundation +ORGANIZATION_UNIT=ONAP +LOCATION=San-Francisco +STATE=California +COUNTRY=US +SANS=example.com:example1.com:example3.com \ No newline at end of file diff --git a/tests/aaf/certservice/assets/valid_client.csr b/tests/aaf/certservice/assets/valid_client.csr new file mode 100644 index 00000000..59e5c6af --- /dev/null +++ b/tests/aaf/certservice/assets/valid_client.csr @@ -0,0 +1 @@ +LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREVqQ0NBZm9DQVFBd2daZ3hDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUll3RkFZRFZRUUhEQTFUWVc0dFJuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0RCQk1hVzUxZUMxR2IzVnVaR0YwCmFXOXVNUTB3Q3dZRFZRUUxEQVJQVGtGUU1SQXdEZ1lEVlFRRERBZE9iMlJsTVRJek1TQXdIZ1lKS29aSWh2Y04KQVFrQkZoRkRiMjF0YjI1T1lXMWxRR051TG1OdmJUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQwpBUW9DZ2dFQkFOa0dmdXNKN25CQkt3dG5DdEdpa2pwSzFvcE1HUlhQWXVzbG05eG9VS0xiTk8zeG9Mb3dDOVF0ClBuV2lDVUQrNVUrK1pmQXhpaGdxN29TYWh6dWdrTitwSm5DeG1mNFZTM2g4amk3YTU0QUJ4UmVJN2plQ3Z6RHMKNDkvVU5DNzMyN3NmaGI2NWJ1cnVMQkhibHNkQUFidkExa1NaeG52VWNvNElJczRiY0JRQlVDSFRoWVVDWXJrbwppSGR2N3cyMGkvWm5ha0ltMGNncEtaMzlUUU1qeVl2Q2tkNE1aRTJ1TGE4NkdEUVNuZ2lvb0tCenArclpvWFovCkI3cEc1SGhKd3FTZVRVRktnM2d0MUJxMnhvZzYydjJTbzVjMnZyVG0zSDdjNFJMbzlsaC9jMUxJd1BRUVlTYWUKMlRORGJlUnZmUlFzczFtUTVZa1VXdE5DeWJaTXplTUNBd0VBQWFBME1ESUdDU3FHU0liM0RRRUpEakVsTUNNdwpJUVlEVlIwUkJCb3dHSUlIVG05a1pURXlNNElOZEdWemRDNXZibUZ3TG05eVp6QU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBcnBIc0ZaLzBpaDdQa0JEeW1DR0FkcnRxU0VVOVdyK1l4SHE5cjlhaFpLbXQrQ1lSMlpCN1pSUGwKT0JYQWlKQVAyeTlxeWtZUnNqUUJvMncycE9GSEJRdWV1VjgzU0tsaWtlVm9na1kxUUhzTEtyVU1heitxZWRrYQpKYkVVMnNqRU9YcVpHMmhYbS9jaGQwMFEwQU8rODlLOU4yYndTSGx2V2prSEdtYTBHeTl4ZUNNVXBTcUNCekJ1CkdoL2JVdFdzcUd1YWtSYW9VSS9OalFoRFpZTThjTVBnaWlLbGNIT3A5QzNBOFJ4VmtNZkxOaUxpczRzbGM2b0YKRU9KcjFwVkNBWURzQ3BPSWdHaE51L2VUSkpXay9ZSi9IWmw2L3RKcEZOcGtIdWc3dG9HUUlLNVp3WHpDVGIxUgo3WUoraG9ydzF0R1lIRFFFYXQ0NVlLOEdwRFJUeVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0= \ No newline at end of file diff --git a/tests/aaf/certservice/assets/valid_client.pk b/tests/aaf/certservice/assets/valid_client.pk new file mode 100644 index 00000000..c84908ff --- /dev/null +++ b/tests/aaf/certservice/assets/valid_client.pk @@ -0,0 +1 @@ +LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRRFpCbjdyQ2U1d1FTc0wKWndyUm9wSTZTdGFLVEJrVnoyTHJKWnZjYUZDaTJ6VHQ4YUM2TUF2VUxUNTFvZ2xBL3VWUHZtWHdNWW9ZS3U2RQptb2M3b0pEZnFTWndzWm4rRlV0NGZJNHUydWVBQWNVWGlPNDNncjh3N09QZjFEUXU5OXU3SDRXK3VXN3E3aXdSCjI1YkhRQUc3d05aRW1jWjcxSEtPQ0NMT0czQVVBVkFoMDRXRkFtSzVLSWgzYis4TnRJdjJaMnBDSnRISUtTbWQKL1UwREk4bUx3cEhlREdSTnJpMnZPaGcwRXA0SXFLQ2djNmZxMmFGMmZ3ZTZSdVI0U2NLa25rMUJTb040TGRRYQp0c2FJT3RyOWtxT1hOcjYwNXR4KzNPRVM2UFpZZjNOU3lNRDBFR0VtbnRrelEyM2tiMzBVTExOWmtPV0pGRnJUClFzbTJUTTNqQWdNQkFBRUNnZ0VBRm53cnppSTdSL29ZZ1pmdGNRYk02Nmt4VFNiUk9vZEFFbWpWR3lMYnArUGEKT2dUY3lDMk9MQzk3MXlnd21VRlBkTkdmTWlHUDB5MHZoU0dWZlVJSGdJUy83TkVaeVU5ZmdGNDNSUGQ5SUxBTwpRWC80WGx2M2Z4UXNEOWFtaVc4NG5zeUhTTmxoZW9tdW16TUxEaDI5a0R4TWR0TVAwMmlSYmRHOStXaXlWZ0FUCitpRlViRDRmRUtlQWl4eDRNUmswMmVzU001dERSVmRicHlHQzR4bzNSMGtPdU5MY21jWUlReE1HVFN5ZS85cEUKV21OcmkyNitZTUJNU1k1aUxrb055WlQ4U0tnaFV1R2JwRXpZUUM5dnpyQXpzS2RoNi8xVDJlSVA5eW9WU2dFZAprSjBoN0ZOY1pRa2pxY3YzR2oxMXRzTEw4aVJyWFBMclFncU02OW1uc1FLQmdRRHZlZVdBTkJpcFJGTzk3L0tNCk9WK2RIbTg1TXdLbXQ2bFZrakx5cDlDYUI1YTZUbzVVZnVmN215aWlDQ0tjcEtEcGdLZVhVTnlLM0hvMTJyTDYKZ09GVzVBOUpjT0hEWjUyeXRnNUZLNE91Zm9vTXUvbk5FTFcwS0lJUHo3Ni9FcGZ0M2orWmlORVVvV3BRNFN1WQphYmFwT0lVdWRaaXZwa1BicW5uUGpXa0szUUtCZ1FEb0FBZHBVYmpRREhNRlpiN2RKeExoVGNGSzBuWGZ5WmhNCkpkWXczR0J4U2N1TXNCVkZQdlAzRWVpS1RCbkY5Q2dodU9DNmRQUXltSStHbitraHFsWExBSit2T1NHUms3dUwKUStvQzhjMlJ3cXZtK3NyVm5VaDJ0bi9ZMVA4Uk1MTklLVUZaSVpxREJmQnFXWDh1SmQ3Q0Rkclg0RUxPQUhBZgpEcUJ5eXVuUHZ3S0JnUURKaG13U3drU0tsVHhmbDRBbWJ0VytrL0VIVXAwRmpZTkx4cGRuU3IrcUQzN1JVL0JFCnZQTWQ4a2wwYWFJdTdmK1g0TE9vQzkwOFlpUGFGQ3dQME10UTR1VFdhYzhqTUp3dDJ6VVJFbmhqTEl1aUFjSksKeHFnU2J4QmNtL2VxTmN4eTJWZnVMWXU5YjhUWFFWWDlrZUNzY1NycW1QMmZ1eXhadkJGOEQwVjVaUUtCZ1FDYwo1eUFjRDRRQldOb1ZoV2xmSWtUM2tXR3ZtOFRTbEFIblJoT2xPZllUeUVmY24xM1RWaThqSXI1MWdlQlFhNzhVCmgzZWRRdW5BcWtNdlZra1NWcVB0UmorNC90ZUFJRHpQaEIvbzIrWWV0VjBUT3Z3aEdsMWV4RENVMGdDcmZKZFQKcjJzZHY4ZEM0NnBrRXFFYjhjckV6Ui83cmhVZ1ExV1ErNUJ4OGwvTSt3S0JnQkJGMFJDVzZUaUJpQUkxY0NvTgo0NW1DbThuNnNrVS8vZ1kvb0ZueitUbExiZWN0U0lJcEgrbm1MWHFWamV4L1NPOGVNOE1Iekp5ZWRlWUxHck1LCnQwQ2t5a0h5cTQrOW5oSlB0aWQ2bzQra2o2MTRQQUVtYktKZytxYW90ckZmdWpDM3hEb00wQkdXYlcwRmR2WkwKR09tWXEwbnZ1TzY1UjJtWUlpREtiNm9GCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0= \ No newline at end of file diff --git a/tests/aaf/certservice/assets/valid_client_docker.env b/tests/aaf/certservice/assets/valid_client_docker.env new file mode 100644 index 00000000..7a219761 --- /dev/null +++ b/tests/aaf/certservice/assets/valid_client_docker.env @@ -0,0 +1,12 @@ +#Client envs +REQUEST_TIMEOUT=30000 +OUTPUT_PATH=/var/log +CA_NAME=RA +#Csr config envs +COMMON_NAME=onap.org +ORGANIZATION=Linux-Foundation +ORGANIZATION_UNIT=ONAP +LOCATION=San-Francisco +STATE=California +COUNTRY=US +SANS=example.com:sample.com \ No newline at end of file diff --git a/tests/aaf/certservice/assets/valid_ra.csr b/tests/aaf/certservice/assets/valid_ra.csr new file mode 100644 index 00000000..5decd8ee --- /dev/null +++ b/tests/aaf/certservice/assets/valid_ra.csr @@ -0,0 +1 @@ +LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJRERqQ0NBZllDQVFBd2daWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUll3RkFZRFZRUUhEQTFUWVc0dFJuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0RCQk1hVzUxZUMxR2IzVnVaR0YwCmFXOXVNUTB3Q3dZRFZRUUxEQVJQVGtGUU1RNHdEQVlEVlFRRERBVkRiREV5TXpFZ01CNEdDU3FHU0liM0RRRUoKQVJZUlEyOXRiVzl1VG1GdFpVQmpiaTVqYjIwd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFSwpBb0lCQVFDL2VCWEprWi80UFdQV2F4Qy9veW9ybmNjdzNiVlM2QmRJbzJUaGh0SzU4OG9wczg4RG8zZkN3Tkk0Cm1aV0xhYUEzbi9lVzJ6SG1TVENzeE4yd1BCREJhWWNwNmxCN1B5bmJDd1ZmcU55ZWhNNWFXQjY4TXFWKzVEcTQKc1BhT0haandNYnlSMTA3dHh3dGtub3lZeHh3SzVCY21vUkNkTjhxYndpY2Q0ajd4bDVDeVBiV1hyYUc0bFY3SgpRU1hlYmRJVUkvaVVNY3dKVThFdEgxZnNUS01CVTNMTE5pSlJsMzBJSGZQSEhZVndWVGhOUC82cFo5WktOeHR5Cm5oK2ZJaUZpNm9mU2h1dXRFZ25xRXdxS2UyenRUV20xYTNGNVlIUk5Pb1FMODA0OXhhQWNhanVTaEZnejZOZzYKOWRha1hhdkd5ejlrOUJHMDh3TU9BejFNQlBoL0FnTUJBQUdnTWpBd0Jna3Foa2lHOXcwQkNRNHhJekFoTUI4RwpBMVVkRVFRWU1CYUNCVU5zTVRJemdnMTBaWE4wTG05dVlYQXViM0puTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQ1kwaUxKQWpWS3FSc0dBdTJOVzBHaGdPbTAvdkF0RmNNTWJOTTRBUGFNS2hiWTd6SGdob2U5VHMxTlBaUXkKSnZFRHJzOFhsSWIxeFN4NXJ1dktlY0JzamVLbEIzaU13V0dDeGViQ0lCMEsvbTV0YWI4cGtYQU0wVmJ3QTVIOAprWGRJS0xwK2grTVRLRnBNczY0OHk3eFRtcGFmb05CWld2d1ArODRsR295RDROZWJiRTN1anY1R21Id1JuK0xQCkRRNmJjSWxoWGNSN0JEMnZYNFdqdmY1YmVwL00yeVd4SkJPaTRzYjQ1NWdtTVpvYUJGSjF2OWpybUd6aDk2THEKck9NTEhCK1VOS0o1Tm1aQXZZVkNaNFVvVFpXZ3VQZVlMaXR6U2F0L0l3RGdJb3NSYXQrUGdJSkJWbXgzY212LwpJU0tncmRxckpKVFlmWGZrRnE5RG5vWHAKLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0t \ No newline at end of file diff --git a/tests/aaf/certservice/assets/valid_ra.pk b/tests/aaf/certservice/assets/valid_ra.pk new file mode 100644 index 00000000..b1ad633a --- /dev/null +++ b/tests/aaf/certservice/assets/valid_ra.pk @@ -0,0 +1 @@ +LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRQy9lQlhKa1ovNFBXUFcKYXhDL295b3JuY2N3M2JWUzZCZElvMlRoaHRLNTg4b3BzODhEbzNmQ3dOSTRtWldMYWFBM24vZVcyekhtU1RDcwp4TjJ3UEJEQmFZY3A2bEI3UHluYkN3VmZxTnllaE01YVdCNjhNcVYrNURxNHNQYU9IWmp3TWJ5UjEwN3R4d3RrCm5veVl4eHdLNUJjbW9SQ2ROOHFid2ljZDRqN3hsNUN5UGJXWHJhRzRsVjdKUVNYZWJkSVVJL2lVTWN3SlU4RXQKSDFmc1RLTUJVM0xMTmlKUmwzMElIZlBISFlWd1ZUaE5QLzZwWjlaS054dHluaCtmSWlGaTZvZlNodXV0RWducQpFd3FLZTJ6dFRXbTFhM0Y1WUhSTk9vUUw4MDQ5eGFBY2FqdVNoRmd6Nk5nNjlkYWtYYXZHeXo5azlCRzA4d01PCkF6MU1CUGgvQWdNQkFBRUNnZ0VCQUxOUFE2QXN0OUpqczU3M1Q0MFl3Z0pzMVVGbk1FdC9QV2J5VmlSNi9kZlYKZnN0Rk1DYXBMUnYvTmlCNWZMbzk1aVNScyszY1EwUDE0UmE3bXgxVGN5R2VzVTFJdWF4aVA5RjU1Y05yUVlsVwp1R1dWUnR0YTF2QVp6d0J1QWNpZjRUMTRacTl5SXVHOVdXY1dzSGJYYU9TdUxSd3BGSVVYM2ErMnlLbE0yME9sCjI2T0o2MDk2RjBtZWIvR1RMUTdLVms4MnBiOW5xSHE4OUtTY1VVZjA0b3FtV2kxdkRHMDVUUkNncHdGc1dtUHYKYVQyamNkN2x1TTdSWFFZN3Y3Ylp0Qjk1MzdMVDBHZHMyWnRSazBDK0JZVWxlYVR4VXNCcTJvM3FvRWN2T3NINQp3SUVEMElZc3h0anFuaSttaGRwVzdrSHViWFpoeVRKczYxQnBoTHkxZHFrQ2dZRUE5Vzc4bm0vZ0wxNmdCK3BJClJucTRvMVowR21xYlJpQXlCWm1QN25WK0RJRzBvZkdSSlR4bFBHT3JDd3QySUFjSVpxT3d0ZDVXdjd1KzdpdHAKVjdXNG1WQlh1NDZabTIzZ2RSMkpwNUpRWnRCaElxa3B3ZVBTN1doYjZ2YjFGT0tiWXFLZXoyYWdNSzFnZHZxawpLcmVYMmd4bXhjTmN4cDFoM1hHYWlhNDdTU3NDZ1lFQXg3WldFREpMbC9lbnp5UE1jOEF4QWszZFhLaVhhNXhBCnRzSzM5YUMrQ1BOaGV4YnBtNHlmc0JzL0hrdzJzdEk1Y3FEVnlrZGU2L05yM21Femg2RDJoK05tQmxwZ3RyaU8KK3R4RDJqRzRMME9mVEFXeEFsTzBwY2syNm1UUkt4VHlhWlBhcklidW42dXFlVThVNmQyeDkzS2ZQV1N0LzQ2ZQpFTnF6V2M3U2UvMENnWUIwd0w5YmYwemVPOTFVNXBaTE1NWDByWU85clVrQUt3Q2d1VlJHMDQySzFZamdJTkl6CkxHL2NNbTJEYTRoZDQvcVRHUHRQQ04ycmg5eGo0RExVanBXcUdSWWpHc3JuclhWQlFUUGlpeS9FT1F4OE9JeXMKdDN2M2c5VjJDTlM5Z3E3NFZQUEhKY0srWlR1bVhjVUtyUnVIbHE2dEZTcGxNU2tFOXEzVklSVUMwUUtCZ1FDNQpHQ0VEdWRtZDZ3WTRVUEY0aGpQbDhzeXF5QVl1MGc2WVZEZXpDMXVWYUJ4OHZHdWVvdUtOa1hNYVhZQ0VrNXB5Cnh1WGVKKyt0dDFuT0xVQlkvN0g5bDZCRFd4Z3Z3VFdqQXVwUUc2eWRBWXR1SmdnOEkrQlZsdnV5bWVYU2pBTncKSG55WlVpVnZEdWRjcnhLdS9hMm5yVEF3OGxMaGZBaTdqamFUa2NBNjhRS0JnRmRMREQycVc4RStHb3FhU1hFYgphT0w0ZHhNY1MyQnc0Ni92T1ZDREw4WGExbis4WVA0MHdDbXg2eEc4ZDdFUjdUTjFSUWovNElKRjByajl4bFhiCnFJejVkSGNBM3JKTVpKTHc4MmJURDR0S1VZNVZtOFVGQnE4NHhzaG4yblJqdTZkaTMrTkk1ajFMMVExcjBiU28KVnZCZE1zS0F1RXdiRS85aDlsbjFCRkNsCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0= \ No newline at end of file diff --git a/tests/aaf/certservice/cert-service-test.robot b/tests/aaf/certservice/cert-service-test.robot new file mode 100644 index 00000000..863d295f --- /dev/null +++ b/tests/aaf/certservice/cert-service-test.robot @@ -0,0 +1,60 @@ +*** Settings *** + +Documentation AAF Cert Service API test case scenarios +Library RequestsLibrary +Resource ./resources/cert-service-keywords.robot + +Suite Setup Create sessions + +*** Test Cases *** + +Health Check + [Tags] AAF-CERT-SERVICE + [Documentation] Service is up and running + Run health check + +Reload Configuration + [Tags] AAF-CERT-SERVICE + [Documentation] Configuration was changed + Send Get Request And Validate Response /reload 200 + +Check if application is ready + [Tags] AAF-CERT-SERVICE + [Documentation] Send request to /ready endpoint and expect 200 + Send Get Request And Validate Response /ready 200 + +Generate Certificate In RA Mode For CA Name + [Tags] AAF-CERT-SERVICE + [Documentation] Send request to ${CERT_SERVICE_ENDPOINT}/${RA_CA_NAME} endpoint and expect 200 + Send Get Request with Header And Expect Success ${CERT_SERVICE_ENDPOINT}/${RA_CA_NAME} ${VALID_RA_CSR_FILE} ${VALID_RA_PK_FILE} + +Report Not Found Error When Path To Service Is Not Valid + [Tags] AAF-CERT-SERVICE + [Documentation] Send request to ${CERT_SERVICE_ENDPOINT}/ endpoint and expect 404 + Send Get Request with Header And Expect Error ${CERT_SERVICE_ENDPOINT}/ ${VALID_CLIENT_CSR_FILE} ${VALID_CLIENT_PK_FILE} 404 + +Report Bad Request Error When Header Is Missing In Request + [Tags] AAF-CERT-SERVICE + [Documentation] Send request without header to ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} endpoint and expect 400 + Send Get Request And Validate Response ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} 400 + +Report Bad Request Error When CSR Is Not Valid + [Tags] AAF-CERT-SERVICE + [Documentation] Send request to ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} endpoint and expect 400 + Send Get Request with Header And Expect Error ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} ${INVALID_CSR_FILE} ${VALID_CLIENT_PK_FILE} 400 + +Report Bad Request Error When PK Is Not Valid + [Tags] AAF-CERT-SERVICE + [Documentation] Send request to ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} endpoint and expect 400 + Send Get Request with Header And Expect Error ${CERT_SERVICE_ENDPOINT}/${CLIENT_CA_NAME} ${VALID_CLIENT_CSR_FILE} ${INVALID_PK_FILE} 400 + +Cert Service Client successfully creates keystore and truststore + [Tags] AAF-CERT-SERVICE + [Documentation] Run with correct env and expected exit code 0 + Run Cert Service Client And Validate JKS File Creation And Client Exit Code ${VALID_ENV_FILE} 0 + +Run Cert Service Client Container And Validate Exit Code And API Response + [Tags] AAF-CERT-SERVICE + [Documentation] Run with invalid CaName env and expected exit code 5 + Run Cert Service Client And Validate Http Response Code And Client Exit Code ${INVALID_ENV_FILE} 404 5 + diff --git a/tests/aaf/certservice/libraries/CertClientManager.py b/tests/aaf/certservice/libraries/CertClientManager.py new file mode 100644 index 00000000..ebacf221 --- /dev/null +++ b/tests/aaf/certservice/libraries/CertClientManager.py @@ -0,0 +1,105 @@ +import docker +import os +import shutil +import tarfile +import re +from OpenSSL import crypto + +ARCHIVES_PATH = os.getenv("WORKSPACE") + "/archives/" +TMP_PATH = os.getenv("WORKSPACE") + "/tests/aaf/certservice/tmp" + +ERROR_API_REGEX = 'Error on API response.*[0-9]{3}' +RESPONSE_CODE_REGEX = '[0-9]{3}' + + +class CertClientManager: + + def run_client_container(self, client_image, container_name, path_to_env, request_url, network): + client = docker.from_env() + environment = self.read_list_env_from_file(path_to_env) + environment.append("REQUEST_URL=" + request_url) + container = client.containers.run(image=client_image, name=container_name, detach=True, environment=environment, + network=network) + exitcode = container.wait() + return exitcode + + def read_list_env_from_file(self, path): + f = open(path, "r") + r_list = [] + for line in f: + line = line.strip() + if line[0] != "#": + r_list.append(line) + return r_list + + def remove_client_container_and_save_logs(self, container_name, log_file_name): + client = docker.from_env() + container = client.containers.get(container_name) + text_file = open(ARCHIVES_PATH + "container_" + log_file_name + ".log", "w") + text_file.write(container.logs()) + text_file.close() + container.remove() + + def can_open_keystore_and_truststore_with_pass(self, container_name): + self.copy_jks_file_to_tmp_dir(container_name) + + keystore_pass_path = TMP_PATH + '/logs/log/keystore.pass' + keystore_jks_path = TMP_PATH + '/logs/log/keystore.jks' + can_open_keystore = self.can_open_jks_file_by_pass_file(keystore_pass_path, keystore_jks_path) + + truststore_pass_path = TMP_PATH + '/logs/log/truststore.pass' + truststore_jks_path = TMP_PATH + '/logs/log/truststore.jks' + can_open_truststore = self.can_open_jks_file_by_pass_file(truststore_pass_path, truststore_jks_path) + + self.remove_tmp_dir(TMP_PATH) + return can_open_keystore & can_open_truststore + + def copy_jks_file_to_tmp_dir(self, container_name): + os.mkdir(TMP_PATH) + self.copy_jks_file_from_container_to_tmp_dir(container_name) + self.extract_tar_file() + + def copy_jks_file_from_container_to_tmp_dir(self, container_name): + client = docker.from_env() + container = client.containers.get(container_name) + f = open(TMP_PATH + '/var_log.tar', 'wb') + bits, stat = container.get_archive('/var/log/') + for chunk in bits: + f.write(chunk) + f.close() + + def extract_tar_file(self): + my_tar = tarfile.open(TMP_PATH + '/var_log.tar') + my_tar.extractall(TMP_PATH + '/logs') + my_tar.close() + + def can_open_jks_file_by_pass_file(self, pass_file_path, jks_file_path): + try: + password = open(pass_file_path, 'rb').read() + crypto.load_pkcs12(open(jks_file_path, 'rb').read(), password) + return True + except: + return False + + def remove_tmp_dir(self, tmp_path): + shutil.rmtree(tmp_path) + + def can_find_api_response_in_logs(self, container_name): + logs = self.get_container_logs(container_name) + api_logs = re.findall(ERROR_API_REGEX, logs) + if api_logs: + return True + else: + return False + + def get_api_response_from_logs(self, container_name): + logs = self.get_container_logs(container_name) + error_api_message = re.findall(ERROR_API_REGEX, logs) + code = re.findall(RESPONSE_CODE_REGEX, error_api_message[0]) + return code[0] + + def get_container_logs(self, container_name): + client = docker.from_env() + container = client.containers.get(container_name) + logs = container.logs() + return logs diff --git a/tests/aaf/certservice/resources/cert-service-keywords.robot b/tests/aaf/certservice/resources/cert-service-keywords.robot new file mode 100644 index 00000000..e8576dd2 --- /dev/null +++ b/tests/aaf/certservice/resources/cert-service-keywords.robot @@ -0,0 +1,104 @@ +*** Settings *** + +Library RequestsLibrary +Library HttpLibrary.HTTP +Library Collections +Library ../libraries/CertClientManager.py +Resource ../../../common.robot +Resource ./cert-service-properties.robot + +*** Keywords *** + +Create sessions + [Documentation] Create all required sessions + Create Session aaf_cert_service_url ${AAFCERT_URL} + Set Suite Variable ${http_session} aaf_cert_service_url + +Run Healthcheck + [Documentation] Run Healthcheck + ${resp}= Get Request ${http_session} /actuator/health + Should Be Equal As Strings ${resp.status_code} 200 + Validate Recieved Response ${resp} status UP + +Validate Recieved Response + [Documentation] Validare message that has been received + [Arguments] ${resp} ${key} ${expected_value} + ${json}= Parse Json ${resp.content} + ${value}= Get From Dictionary ${json} ${key} + Should Be Equal As Strings ${value} ${expected_value} + +Send Get Request And Validate Response + [Documentation] Send request to passed url and validate received response + [Arguments] ${path} ${resp_code} + ${resp}= Get Request ${http_session} ${path} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + +Send Get Request with Header + [Documentation] Send request to passed url + [Arguments] ${path} ${csr_file} ${pk_file} + [Return] ${resp} + ${headers}= Create Header with CSR and PK ${csr_file} ${pk_file} + ${resp}= Get Request ${http_session} ${path} headers=${headers} + +Send Get Request with Header And Expect Success + [Documentation] Send request to passed url and validate received response + [Arguments] ${path} ${csr_file} ${pk_file} + ${resp}= Send Get Request with Header ${path} ${csr_file} ${pk_file} + Should Be Equal As Strings ${resp.status_code} 200 + Check Message Recieved On Success ${resp.content} + +Check Message Recieved On Success + [Documentation] Check if correct messsage has been sent on successful request + [Arguments] ${content} + ${resp_content}= Parse Json ${content} + Dictionary Should Contain Key ${resp_content} certificateChain + @{list}= Get From Dictionary ${resp_content} certificateChain + List Should Contain Certificates @{list} + Dictionary Should Contain Key ${resp_content} trustedCertificates + +List Should Contain Certificates + [Documentation] Verify if list contains certificates + [Arguments] @{list} + :FOR ${content} IN @{list} + \ Should Contain ${content} BEGIN CERTIFICATE + \ Should Contain ${content} END CERTIFICATE + +Send Get Request with Header And Expect Error + [Documentation] Send request to passed url and validate received response + [Arguments] ${path} ${csr_file} ${pk_file} ${resp_code} + ${resp}= Send Get Request with Header ${path} ${csr_file} ${pk_file} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + +Create Header with CSR and PK + [Documentation] Create header with CSR and PK + [Arguments] ${csr_file} ${pk_file} + [Return] ${headers} + ${csr}= Get Data From File ${csr_file} + ${pk}= Get Data From File ${pk_file} + ${headers}= Create Dictionary CSR=${csr} PK=${pk} + +Send Post Request And Validate Response + [Documentation] Send request to passed url and validate received response + [Arguments] ${path} ${resp_code} + ${resp}= Post Request ${http_session} ${path} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + +Run Cert Service Client And Validate JKS File Creation And Client Exit Code + [Documentation] Run Cert Service Client Container And Validate Exit Code + [Arguments] ${env_file} ${expected_exit_code} + ${exit_code}= Run Client Container ${DOCKER_CLIENT_IMAGE} ${CLIENT_CONTAINER_NAME} ${env_file} ${CERT_ADDRESS} ${CERT_SERVICE_NETWORK} + ${can_open}= Can Open Keystore And Truststore With Pass ${CLIENT_CONTAINER_NAME} + Remove Client Container And Save Logs ${CLIENT_CONTAINER_NAME} positive_path + Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return: ${exitcode} exit code, but expected: ${expected_exit_code} + Should Be True ${can_open} Cannot Open Keystore/TrustStore by passpshase + +Run Cert Service Client And Validate Http Response Code And Client Exit Code + [Documentation] Run Cert Service Client Container And Validate Exit Code + [Arguments] ${env_file} ${expected_api_response_code} ${expected_exit_code} + ${exit_code}= Run Client Container ${DOCKER_CLIENT_IMAGE} ${CLIENT_CONTAINER_NAME} ${env_file} ${CERT_ADDRESS} ${CERT_SERVICE_NETWORK} + ${can_find_API_response}= Can Find Api Response In Logs ${CLIENT_CONTAINER_NAME} + ${api_response_code}= Get Api Response From Logs ${CLIENT_CONTAINER_NAME} + Remove Client Container And Save Logs ${CLIENT_CONTAINER_NAME} negative_path + Should Be True ${can_find_API_response} Cannot Find API response in logs + Should Be Equal As Strings ${api_response_code} ${expected_api_response_code} API return ${api_response_code} but expected: ${expected_api_response_code} + Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return unexpected exit code return: ${exitcode} , but expected: ${expected_exit_code} diff --git a/tests/aaf/certservice/resources/cert-service-properties.robot b/tests/aaf/certservice/resources/cert-service-properties.robot new file mode 100644 index 00000000..ea5352e9 --- /dev/null +++ b/tests/aaf/certservice/resources/cert-service-properties.robot @@ -0,0 +1,22 @@ +*** Variables *** + +${AAFCERT_URL} http://%{AAFCERT_IP}:8080 +${CLIENT_CA_NAME} Client +${RA_CA_NAME} RA +${CERT_SERVICE_ENDPOINT} /v1/certificate +${VALID_CLIENT_CSR_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid_client.csr +${VALID_CLIENT_PK_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid_client.pk +${VALID_RA_CSR_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid_ra.csr +${VALID_RA_PK_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid_ra.pk +${INVALID_CSR_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/invalid.csr +${INVALID_PK_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/invalid.key + + +${CERT_ADDRESS} ${AAFCERT_URL}/v1/certificate/ +${VALID_ENV_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid_client_docker.env +${INVALID_ENV_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/invalid_client_docker.env +${DOCKER_CLIENT_IMAGE} nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:latest +${CLIENT_CONTAINER_NAME} %{ClientContainerName} +${CERT_SERVICE_NETWORK} certservice_certservice + + diff --git a/tests/clamp/APIs/01__Test_CL_APIs.robot b/tests/clamp/APIs/01__Test_CL_APIs.robot index 9fb9d06d..7372af62 100644 --- a/tests/clamp/APIs/01__Test_CL_APIs.robot +++ b/tests/clamp/APIs/01__Test_CL_APIs.robot @@ -20,28 +20,4 @@ Get Requests health check ok ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 -List TCAs - ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/getAllNames - Should Contain Match ${resp} *Name1_tca* - Should Contain Match ${resp} *tca_2* - Should Contain Match ${resp} *Name1_tca_3* - -Open TCA1 - ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_yHsgu_v1_0_ResourceInstanceName1_tca - Should Contain Match ${resp} *Name1_tca* - Should Contain Match ${resp} *Operational Policy Item* - Should Contain Match ${resp} *Operational policies* - -Open TCA2 - ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_yHsgu_v1_0_ResourceInstanceName2_tca_2 - Should Contain Match ${resp} *Name2_tca_2* - Should Contain Match ${resp} *Operational Policy Item* - Should Contain Match ${resp} *1004* - Should Contain Match ${resp} *TCA Policy Scope* - -Open TCA3 - ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_yHsgu_v1_0_ResourceInstanceName1_tca_3 - Should Contain Match ${resp} *Name1_tca_3* - Should Contain Match ${resp} *Operational Policy Item* - Should Contain Match ${resp} *1004* - Should Contain Match ${resp} *TCA Policy Scope* +*** Need Work/new tests to integrate new API *** \ No newline at end of file diff --git a/tests/clamp/UIs/01__Open_And_Edit_TCA.robot b/tests/clamp/UIs/01__Open_And_Edit_TCA.robot index 114c1d46..99c93d56 100644 --- a/tests/clamp/UIs/01__Open_And_Edit_TCA.robot +++ b/tests/clamp/UIs/01__Open_And_Edit_TCA.robot @@ -21,16 +21,3 @@ Get Requests health check ok Create the sessions ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 - -Open Browser -# Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. - Start Virtual Display 1920 1080 - Set Selenium Speed ${SELENIUM_SPEED_SLOW} - Open Browser ${BASE_URL}/index.html browser=firefox - -Reply to authentication popup - Run Keyword And Ignore Error Insert into prompt ${login} ${passw} - Confirm action - -Close Browser - Close Browser \ No newline at end of file diff --git a/tests/clamp/UIs/02__Verify_Modification_In_UI.robot b/tests/clamp/UIs/02__Verify_Modification_In_UI.robot index d50d7976..c5584add 100644 --- a/tests/clamp/UIs/02__Verify_Modification_In_UI.robot +++ b/tests/clamp/UIs/02__Verify_Modification_In_UI.robot @@ -20,7 +20,4 @@ Get Requests health check ok ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 -Open TCA1 - ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_yHsgu_v1_0_ResourceInstanceName1_tca - Should Contain Match ${resp} *Name1_tca* - Should Contain Match ${resp} *Operational Policy* +*** Need Work/new tests to integrate new UI *** \ No newline at end of file diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/A20181004.0000-1000-0015-1000_5G.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/A20181004.0000-1000-0015-1000_5G.xml new file mode 100644 index 00000000..d826157e --- /dev/null +++ b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/A20181004.0000-1000-0015-1000_5G.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + attTCHSeizures + succTCHSeizures + attImmediateAssignProcs + succImmediateAssignProcs + + 234 + 345 + 567 + 789 + + + 890 + 901 + 123 + 234 + + + 456 + 567 + 678 + 789 + true + + + + + + + attTCHSeizures1 + succTCHSeizures2 + attImmediateAssignProcs3 + succImmediateAssignProcs4 + + 4 + 86,87,2,6,77,96,75,33,24 + 40 + 90 + false + + + + + + + attTCHSeizures5 + succTCHSeizures6 + attImmediateAssignProcs7 + succImmediateAssignProcs8 + + 238 + 344 + 563 + 787 + + + 898 + 905 + 127 + 238 + + + 454 + 569 + 672 + 785 + true + + + + + + + diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/C20190329.0000-0015.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/C20190329.0000-0015.xml new file mode 100644 index 00000000..439d5768 --- /dev/null +++ b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/C20190329.0000-0015.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + z1 a1 zz1 b1 + + 1 11 111 1111 + false + + + + + + + + + + attTCHSeizures succTCHSeizures2 zz2 b2 + + 2 22 222 2222 + false + + + + + + + + + + z3 a3 zz3 succImmediateAssignProcs8 + + 3 33 333 3333 + false + + + + + + + diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/valid_metadata.json b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/valid_metadata.json new file mode 100644 index 00000000..4c5c84f1 --- /dev/null +++ b/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/valid_metadata.json @@ -0,0 +1,12 @@ +{ + "productName": "gnb", + "vendorName": "Ericsson", + "lastEpochMicrosec": "1538478000000", + "sourceName": "oteNB5309", + "startEpochMicrosec": "1538478900000", + "timeZoneOffset": "UTC+05.00", + "location": "ftpes://192.168.0.101:22/ftp/rop/A20161224.1045-1100.bin.gz", + "compression": "gzip", + "fileFormatType": "org.3GPP.28.550#measData", + "fileFormatVersion": "V9" +} diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/pm_filter_config.json b/tests/dcaegen2-pmmapper/pmmapper/assets/pm_filter_config.json index 992fdaaa..79e3f98e 100644 --- a/tests/dcaegen2-pmmapper/pmmapper/assets/pm_filter_config.json +++ b/tests/dcaegen2-pmmapper/pmmapper/assets/pm_filter_config.json @@ -7,9 +7,9 @@ "measTypes": ["attTCHSeizures","succTCHSeizures2","succImmediateAssignProcs8"] }] }, - "key_store_path": "/opt/app/pm-mapper/etc/cert.jks.b64", + "key_store_path": "/opt/app/pm-mapper/etc/cert.jks", "key_store_pass_path": "/opt/app/pm-mapper/etc/jks.pass", - "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks.b64", + "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks", "trust_store_pass_path": "/opt/app/pm-mapper/etc/trust.pass", "dmaap_dr_delete_endpoint": "https://dmaap-dr-node:8443/delete", "dmaap_dr_feed_name": "1", diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/vendor_filter_config.json b/tests/dcaegen2-pmmapper/pmmapper/assets/vendor_filter_config.json index c2ac9839..94d0911b 100644 --- a/tests/dcaegen2-pmmapper/pmmapper/assets/vendor_filter_config.json +++ b/tests/dcaegen2-pmmapper/pmmapper/assets/vendor_filter_config.json @@ -7,9 +7,9 @@ "measTypes": [] }] }, - "key_store_path": "/opt/app/pm-mapper/etc/cert.jks.b64", + "key_store_path": "/opt/app/pm-mapper/etc/cert.jks", "key_store_pass_path": "/opt/app/pm-mapper/etc/jks.pass", - "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks.b64", + "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks", "trust_store_pass_path": "/opt/app/pm-mapper/etc/trust.pass", "dmaap_dr_delete_endpoint": "https://dmaap-dr-node:8443/delete", "dmaap_dr_feed_name": "1", diff --git a/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot b/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot index dfd2b66b..96d33a86 100644 --- a/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot +++ b/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot @@ -20,12 +20,15 @@ ${RECONFIGURE_ENDPOINT} /reconfigure ${NO_MANAGED_ELEMENT_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A_no_managed_element.xml ${NO_MEASDATA_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A_no_measdata.xml ${VALID_METADATA_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json +${NR_VALID_METADATA_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/valid_metadata.json ${DIFF_VENDOR_METADATA} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/diff_vendor_metadata.json ${NON_XML_FILE} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/diff_vendor_metadata.json ${CLI_EXEC_CLI_PM_LOG} docker exec pmmapper /bin/sh -c "tail -15 /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" ${PUBLISH_NODE_URL} https://${DR_NODE_IP}:8443/publish/1 ${TYPE-A_PM_DATA_FILE_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A20181002.0000-1000-0015-1000_5G.xml ${TYPE-C_PM_DATA_FILE_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/C20190328.0000-0015.xml +${NR-TYPE-A_PM_DATA_FILE_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/A20181004.0000-1000-0015-1000_5G.xml +${NR-TYPE-C_PM_DATA_FILE_PATH} %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/new_radio/C20190329.0000-0015.xml ${CLI_EXEC_VENDOR_FILTER} curl 'http://${CONSUL_IP}:8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/^Con' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/tests/dcaegen2-pmmapper/pmmapper/assets/vendor_filter_config.json ${CLI_EXEC_PM_FILTER} curl 'http://${CONSUL_IP}:8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/^Con' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/tests/dcaegen2-pmmapper/pmmapper/assets/pm_filter_config.json ${CLI_MESSAGE_ROUTER_TOPIC} curl http://${DMAAP_MR_IP}:3904/events/PM_MAPPER/CG1/C1?timeout=1000 > /tmp/mr.log @@ -118,6 +121,22 @@ Verify that PM Mapper correctly identifies a non-xml file. CheckLog ${CLI_EXEC_CLI_PM_LOG} PM measurement file must have an extension of .xml CheckLog ${CLI_EXEC_CLI_PM_LOG} RequestID=8 +Verify that PM Mapper correctly maps an NR Type-A file based on counter filtering and publish 3gpp perf VES events to message router. + [Tags] PM_MAPPER_11 + [Documentation] Verify 3GPP PM Mapper maps an NR Type-A file and publish 3gpp perf VES evnets to message router. + [Timeout] 1 minute + ${cli_cmd_output}= Run Process ${CLI_EXEC_PM_FILTER} shell=yes + ${resp}= Get Request mapper_session ${RECONFIGURE_ENDPOINT} + Sleep 5s + SendToDatarouter ${NR-TYPE-A_PM_DATA_FILE_PATH} ${NR_VALID_METADATA_PATH} X-ONAP-RequestID=11 + CheckLog ${CLI_EXEC_CLI_PM_LOG} Successfully published VES events to messagerouter + +Verify that PM Mapper correctly maps an NR Type-C file based on counter filtering and publish 3gpp perf VES events to message router. + [Tags] PM_MAPPER_12 + [Documentation] Verify that PM Mapper maps an NR Type-C xml file and publish 3gpp perf VES evnets to message router. + [Timeout] 1 minute + SendToDatarouter ${NR-TYPE-C_PM_DATA_FILE_PATH} ${NR_VALID_METADATA_PATH} X-ONAP-RequestID=12 + CheckLog ${CLI_EXEC_CLI_PM_LOG} Successfully published VES events to messagerouter *** Keywords *** diff --git a/tests/dcaegen2/bbs-testcases/__init__.robot b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/__init__.robot similarity index 100% rename from tests/dcaegen2/bbs-testcases/__init__.robot rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/__init__.robot diff --git a/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnf_not_found.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnf_not_found.json similarity index 100% rename from tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnf_not_found.json rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnf_not_found.json diff --git a/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnfs.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnfs.json similarity index 100% rename from tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnfs.json rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnfs.json diff --git a/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_services.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_services.json similarity index 100% rename from tests/dcaegen2/bbs-testcases/assets/aai_records/aai_services.json rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_services.json diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_all_fields.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_all_fields.json new file mode 100644 index 00000000..d275850a --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_all_fields.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"NVendor-Equip_Model-SN1234\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\",\"swVersion\":\"1.2.3\"}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json new file mode 100644 index 00000000..da1313a8 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"NVendor-Equip_Model-SN1234\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"\",\"newState\":\"\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\",\"swVersion\":\"1.2.3\"}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json new file mode 100644 index 00000000..817107db --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"NVendor-Equip_Model-SN1234\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"\",\"swVersion\":\"1.2.3\"}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json new file mode 100644 index 00000000..e1a6fe32 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\",\"swVersion\":\"1.2.3\"}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json new file mode 100644 index 00000000..ffe031e9 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"Wrong-PNF-Name\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\",\"swVersion\":\"1.2.3\"}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_without_swversion.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_without_swversion.json new file mode 100644 index 00000000..f50ed5c1 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_without_swversion.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"NVendor-Equip_Model-SN1234\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\"}}}}"] diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_malformed_json_format.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_malformed_json_format.json new file mode 100644 index 00000000..fba0214d --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_malformed_json_format.json @@ -0,0 +1 @@ +["{\"event\":{\"commonEventHeader\":{\"version\":\"4.0.1\",\"eventName\":\"StateChange_cpe_authentication\",\"domain\":\"stateChange\",\"eventId\": \"ab305d54-85b4-a31b-7db2fb6b9e546015\",\"eventType\":\"applicationNf\",\"sourceId\":\"\",\"sourceName\":\"NVendor-Equip_Model-SN1234\",\"reportingEntityId\":\"\",\"reportingEntityName\":\"thirdparty-sdnc-idfromesrrequest\",\"priority\":\"Normal\",\"startEpochMicrosec\":1.413378172e+15,\"lastEpochMicrosec\":1.413378172e+15,\"sequence\":0,\"vesEventListenerVersion\":\"7.1\"},\"stateChangeFields\":{\"stateChangeFieldsVersion\":1,\"oldState\":\"outOfService\",\"newState\":\"inService\",\"stateInterface\":\"\",\"additionalFields\":{\"macAddress\":\"01:02:03:04:05:06\",\"swVersion\":\"1.2.3\",}}}}"] \ No newline at end of file diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json similarity index 99% rename from tests/dcaegen2/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json index 05b15fbf..ea3daee7 100644 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json @@ -20,4 +20,4 @@ "requestID": "d76541f3-7f55-4c80-b0a0-ec5dee2a56cb", "from": "DCAE" } -] +] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_all_fields.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_all_fields.json new file mode 100644 index 00000000..c70a3680 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_all_fields.json @@ -0,0 +1 @@ +["{\"nf-role\":\"role\",\"equip-type\":\"Equipment-Type-1\",\"equip-vendor\":\"NVendor\",\"equip-model\":\"Equip_Model\",\"serial-number\":\"SN1234\",\"sw-version\":\"SW-version-1\",\"correlationId\":\"NVendor-Equip_Model-SN1234\",\"additionalFields\":{\"attachment-point\":\"olt1-1-1\",\"cvlan\":\"1005\",\"svlan\":\"100\",\"remote-id\":\"some-remote-id\"}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json new file mode 100644 index 00000000..e5941d17 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json @@ -0,0 +1 @@ +["{\"nf-role\":\"role\",\"equip-type\":\"Equipment-Type-1\",\"equip-vendor\":\"NVendor\",\"equip-model\":\"Equip_Model\",\"serial-number\":\"SN1234\",\"sw-version\":\"SW-version-1\",\"correlationId\":\"NVendor-Equip_Model-SN1234\",\"additionalFields\":{\"attachment-point\":\"\",\"cvlan\":\"1005\",\"svlan\":\"100\",\"remote-id\":\"some-remote-id\"}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json new file mode 100644 index 00000000..da00b165 --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json @@ -0,0 +1 @@ +["{\"nf-role\":\"role\",\"equip-type\":\"Equipment-Type-1\",\"equip-vendor\":\"NVendor\",\"equip-model\":\"Equip_Model\",\"serial-number\":\"SN1234\",\"sw-version\":\"SW-version-1\",\"correlationId\":\"\",\"additionalFields\":{\"attachment-point\":\"olt1-1-1\",\"cvlan\":\"1005\",\"svlan\":\"100\",\"remote-id\":\"some-remote-id\"}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json new file mode 100644 index 00000000..2981c9da --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json @@ -0,0 +1 @@ +["{\"nf-role\":\"role\",\"equip-type\":\"Equipment-Type-1\",\"equip-vendor\":\"NVendor\",\"equip-model\":\"Equip_Model\",\"serial-number\":\"SN1234\",\"sw-version\":\"SW-version-1\",\"correlationId\":\"Wrong-Correlation-Id\",\"additionalFields\":{\"attachment-point\":\"olt1-1-1\",\"cvlan\":\"1005\",\"svlan\":\"100\",\"remote-id\":\"some-remote-id\"}}"] \ No newline at end of file diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_malformed_json_format.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_malformed_json_format.json new file mode 100644 index 00000000..efb5cffd --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_malformed_json_format.json @@ -0,0 +1 @@ +["{\"nf-role\":\"role\",\"equip-type\":\"Equipment-Type-1\",\"equip-vendor\":\"NVendor\",\"equip-model\":\"Equip_Model\",\"serial-number\":\"SN1234\",\"sw-version\":\"SW-version-1\",\"correlationId\":\"NVendor-Equip_Model-SN1234\",\"additionalFields\":{\"attachment-point\":\"olt1-1-1\",\"cvlan\":\"1005\",\"svlan\":\"100\",\"remote-id\":\"some-remote-id\",}}"] \ No newline at end of file diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_policy_with_all_fields.json b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_policy_with_all_fields.json similarity index 100% rename from tests/dcaegen2/bbs-testcases/assets/json_events/update_policy_with_all_fields.json rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_policy_with_all_fields.json diff --git a/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/bbs_tests.robot b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/bbs_tests.robot new file mode 100644 index 00000000..c60ffe6d --- /dev/null +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/bbs_tests.robot @@ -0,0 +1,110 @@ +*** Settings *** +Documentation Integration tests for BBS. +... BBS receives CPE_AUTHENTICATION event from DMaaP and triggers a Policy that updates the CFS service with the PNF. +... BBS receives PNF_UPDATE event from DMaaP and triggers a Policy that updates the CFS service resources associated with the PNF. +Resource resources/bbs_library.robot +Resource ../../common.robot +Suite Setup Run keywords Create header AND Create sessions AND Set AAI Records AND Ensure Container Is Running bbs +Test Teardown Reset Simulators + + +*** Variables *** +${DMAAP_SIMULATOR_SETUP_URL} http://${DMAAP_SIMULATOR_SETUP} +${AAI_SIMULATOR_SETUP_URL} http://${AAI_SIMULATOR_SETUP} +${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_all_fields.json +${AUTH_EVENT_WITH_WRONG_SOURCENAME} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json +${AUTH_EVENT_WITHOUT_SWVERSION} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_without_swversion.json +${AUTH_EVENT_WITH_MISSING_STATE} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json +${AUTH_EVENT_WITH_MISSING_SOURCENAME} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json +${AUTH_MALFORMED_JSON_FORMAT} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_malformed_json_format.json +${AUTH_POLICY} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json +${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_all_fields.json +${UPDATE_EVENT_WITH_WRONG_CORRELATION} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json +${UPDATE_EVENT_WITH_MISSING_ATTACHMENT} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json +${UPDATE_EVENT_WITH_MISSING_CORRELATION} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json +${UPDATE_MALFORMED_JSON_FORMAT} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_malformed_json_format.json +${UPDATE_POLICY} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/json_events/update_policy_with_all_fields.json +${AAI_PNFS} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnfs.json +${AAI_SERVICES} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_services.json +${AAI_PNF_NOT_FOUND} %{WORKSPACE}/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/assets/aai_records/aai_pnf_not_found.json + +*** Test Cases *** +Valid DMaaP CPE_AUTHENTICATION event can trigger Policy + [Documentation] BBS get valid CPE_AUTHENTICATION event from DMaaP with required fields - BBS triggers Policy + [Tags] BBS Valid CPE_AUTHENTICATION event + [Template] Valid auth event processing + ${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} + ${AUTH_EVENT_WITHOUT_SWVERSION} + +Invalid DMaaP CPE_AUTHENTICATION event cannot trigger Policy + [Documentation] BBS get invalid CPE_AUTHENTICATION event from DMaaP with missing required fields - BBS does not trigger Policy + [Tags] BBS Invalid CPE_AUTHENTICATION event + [Template] Invalid auth event processing + ${AUTH_EVENT_WITH_MISSING_STATE} + ${AUTH_EVENT_WITH_MISSING_SOURCENAME} + +Get valid CPE_AUTHENTICATION event from DMaaP and PNF record in AAI does not exist + [Documentation] BBS get valid event from DMaaP with all required fields and in AAI record doesn't exist - BBS does not trigger Policy + [Tags] BBS Missing AAI record + [Timeout] 30s + ${data}= Get Data From File ${AUTH_EVENT_WITH_WRONG_SOURCENAME} + Set event in DMaaP ${data} + Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: A&AI Request for (/aai/v14/network/pnfs/pnf/Wrong-PNF-Name?depth=all) + +CPE_AUTHENTICATION Event in DMaaP has malformed JSON format + [Documentation] BBS CPE_AUTHENTICATION has malformed JSON format event from DMaaP - BBS does not Trigger Policy + [Tags] BBS + ${data}= Get Data From File ${AUTH_MALFORMED_JSON_FORMAT} + Set event in DMaaP ${data} + Wait Until Keyword Succeeds 20x 2000ms Check BBS log DMaaP Consumer error: com.google.gson.stream.MalformedJsonException + + # Get valid CPE_AUTHENTICATION event from DMaaP and AAI is not responding + # [Documentation] BBS get valid CPE_AUTHENTICATION event from DMaaP with all required fields and AAI is not responding - BBS does not trigger Policy + # [Tags] BBS AAI Uses containers + # [Timeout] 180s + # ${data}= Get Data From File ${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} + # Ensure Container Is Exited aai_simulator + # Set event in DMaaP ${data} + # Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: aai_simulator: Try again + # Ensure Container Is Running aai_simulator + # Set AAI Records + +Valid DMaaP PNF_UPDATE event can trigger Policy + [Documentation] BBS get valid PNF_UPDATE event from DMaaP with required fields - BBS triggers Policy + [Tags] BBS Valid PNF_UPDATE event + [Template] Valid update event processing + ${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} + +Invalid DMaaP PNF_UPDATE event cannot trigger Policy + [Documentation] BBS get invalid PNF_UPDATE event from DMaaP with missing required fields - BBS does not trigger Policy + [Tags] BBS Invalid PNF_UPDATE event + [Template] Invalid update event processing + ${UPDATE_EVENT_WITH_MISSING_ATTACHMENT} + ${UPDATE_EVENT_WITH_MISSING_CORRELATION} + +Get valid PNF_UPDATE event from DMaaP and PNF record in AAI does not exist + [Documentation] BBS get valid PNF_UPDATE event from DMaaP with all required fields and in AAI record doesn't exist - BBS does not trigger Policy + [Tags] BBS Missing AAI record + [Timeout] 30s + ${data}= Get Data From File ${UPDATE_EVENT_WITH_WRONG_CORRELATION} + Set event in DMaaP ${data} + Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: A&AI Request for (/aai/v14/network/pnfs/pnf/Wrong-Correlation-Id?depth=all) + + +PNF_UPDATE Event in DMaaP has malformed JSON format + [Documentation] BBS PNF_UPDATE has malformed JSON format event from DMaaP - BBS does not Trigger Policy + [Tags] BBS + ${data}= Get Data From File ${UPDATE_MALFORMED_JSON_FORMAT} + Set event in DMaaP ${data} + Wait Until Keyword Succeeds 20x 2000ms Check BBS log DMaaP Consumer error: com.google.gson.stream.MalformedJsonException + + # Get valid PNF_UPDATE event from DMaaP and AAI is not responding + # [Documentation] BBS get valid PNF_UPDATE event from DMaaP with all required fields and AAI is not responding - BBS does not trigger Policy + # [Tags] BBS AAI Uses containers + # [Timeout] 180s + # ${data}= Get Data From File ${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} + # Ensure Container Is Exited aai_simulator + # Set event in DMaaP ${data} + # Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: aai_simulator: Try again + # Ensure Container Is Running aai_simulator + # Set AAI Records diff --git a/tests/dcaegen2/bbs-testcases/resources/BbsLibrary.py b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/BbsLibrary.py similarity index 95% rename from tests/dcaegen2/bbs-testcases/resources/BbsLibrary.py rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/BbsLibrary.py index 8dbdc5a3..c58e67e2 100644 --- a/tests/dcaegen2/bbs-testcases/resources/BbsLibrary.py +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/BbsLibrary.py @@ -40,7 +40,8 @@ class BbsLibrary(object): Get the correlationId, oldState, newState, stateInterface, macAddress, swVersion elements from the invalid message and place the elements into a JSON object (string) as fields for comparision """ - json_to_python = json.loads(json_file) + eventString = json.loads(json_file)[0] + json_to_python = json.loads(eventString.replace("\\", "")) correlation_id = json_to_python.get("event").get("commonEventHeader").get("sourceName") oldState = json_to_python.get("event").get("stateChangeFields").get("oldState") newState = json_to_python.get("event").get("stateChangeFields").get("newState") @@ -73,7 +74,8 @@ class BbsLibrary(object): Get the correlationId, attachment-point, remote-id, cvlan, svlan, elements from the invalid message and place the elements into a JSON object (string) as fields for comparision """ - json_to_python = json.loads(json_file) + eventString = json.loads(json_file)[0] + json_to_python = json.loads(eventString.replace("\\", "")) correlation_id = json_to_python.get("correlationId") attachmentPoint = json_to_python.get("additionalFields").get("attachment-point") remoteId = json_to_python.get("additionalFields").get("remote-id") @@ -109,7 +111,7 @@ class BbsLibrary(object): python_dmaap_policy = "" try: - d_policy = python_dmaap_policy.get("policyName") + d_policy = python_dmaap_policy[0].get("policyName") except: d_policy = "" diff --git a/tests/dcaegen2/bbs-testcases/resources/bbs_library.robot b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/bbs_library.robot similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/bbs_library.robot rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/bbs_library.robot diff --git a/tests/dcaegen2/bbs-testcases/resources/docker-compose.yml b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/docker-compose.yml similarity index 90% rename from tests/dcaegen2/bbs-testcases/resources/docker-compose.yml rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/docker-compose.yml index f2102727..b24006d3 100644 --- a/tests/dcaegen2/bbs-testcases/resources/docker-compose.yml +++ b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: bbs: - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:1.0.0 + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:latest command: > --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap_simulator --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=2222 @@ -36,6 +36,10 @@ services: CONFIGS_APPLICATION_CPE-AUTHENTICATION_POLICYSCOPE: "cpe-auth_policy_scope" CONFIGS_APPLICATION_CPE-AUTHENTICATION_CLCONTROLNAME: "cpe-auth_cl" LOGGING_LEVEL_ORG_ONAP_BBS: TRACE + CONFIGS_SECURITY_TRUSTSTOREPATH: KeyStore.jks + CONFIGS_SECURITY_TRUSTSTOREPASSWORDPATH: KeyStorePass.txt + CONFIGS_SECURITY_KEYSTOREPATH: KeyStore.jks + CONFIGS_SECURITY_KEYSTOREPASSWORDPATH: KeyStorePass.txt container_name: bbs depends_on: - dmaap-bc diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/AAI.py b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/AAI.py similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/AAI.py rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/AAI.py diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/AAI_simulator b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/AAI_simulator similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/AAI_simulator rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/AAI_simulator diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/DMaaP.py b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/DMaaP.py similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/DMaaP.py rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/DMaaP.py diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/DMaaP_simulator b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/DMaaP_simulator similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/DMaaP_simulator rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/DMaaP_simulator diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/aai_aai.onap.org.cer b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/aai_aai.onap.org.cer similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/aai_aai.onap.org.cer rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/aai_aai.onap.org.cer diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/ca_local_0.cer b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/ca_local_0.cer similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/ca_local_0.cer rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/ca_local_0.cer diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/dmaap_bc_topic_mgr_dmaap_bc.onap.org.cer b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/dmaap_bc_topic_mgr_dmaap_bc.onap.org.cer similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/dmaap_bc_topic_mgr_dmaap_bc.onap.org.cer rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/dmaap_bc_topic_mgr_dmaap_bc.onap.org.cer diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/keystore.password b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/keystore.password similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/keystore.password rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/keystore.password diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.aai.key b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.aai.key similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.aai.key rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.aai.key diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dcae.jks b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dcae.jks similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dcae.jks rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dcae.jks diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dcae.trust.jks b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dcae.trust.jks similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dcae.trust.jks rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dcae.trust.jks diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dmaap-bc.key b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dmaap-bc.key similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/org.onap.dmaap-bc.key rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/org.onap.dmaap-bc.key diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/certs/truststore.password b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/truststore.password similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/certs/truststore.password rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/certs/truststore.password diff --git a/tests/dcaegen2/bbs-testcases/resources/simulator/httpServerLib.py b/tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/httpServerLib.py similarity index 100% rename from tests/dcaegen2/bbs-testcases/resources/simulator/httpServerLib.py rename to tests/dcaegen2-services-bbs-event-processor/bbs-testcases/resources/simulator/httpServerLib.py diff --git a/tests/dcaegen2-services-pmsh/testcases/__init__.robot b/tests/dcaegen2-services-pmsh/testcases/__init__.robot new file mode 100644 index 00000000..47abe8bb --- /dev/null +++ b/tests/dcaegen2-services-pmsh/testcases/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation PMSH Testcases diff --git a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot new file mode 100644 index 00000000..74a575cd --- /dev/null +++ b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot @@ -0,0 +1,38 @@ +*** Settings *** +Documentation Testing PMSH functionality +Library OperatingSystem +Library RequestsLibrary +Library String + +Test Setup Create Session pmsh_session ${PMSH_BASE_URL} +Test Teardown Delete All Sessions + + +*** Variables *** +${PMSH_BASE_URL} https://${PMSH_IP}:8443 +${HEALTHCHECK_ENDPOINT} /healthcheck + + +*** Test Cases *** +Verify Health Check returns 200 when a REST GET request to healthcheck url + [Tags] PMSH_01 + [Documentation] Verify Health Check returns 200 when a REST GET request to healthcheck url + [Timeout] 1 minute + ${resp}= Get Request pmsh_session ${HEALTHCHECK_ENDPOINT} + VerifyResponse ${resp.status_code} 200 + +Verify Health Check response includes healthy status + [Tags] PMSH_02 + [Documentation] Verify Health Check response includes healthy status + [Timeout] 1 minute + ${resp}= Get Request pmsh_session ${HEALTHCHECK_ENDPOINT} + VerifyResponseContains ${resp.text} healthy + +*** Keywords *** +VerifyResponse + [Arguments] ${actual_response_value} ${expected_response_value} + Should Be Equal As Strings ${actual_response_value} ${expected_response_value} + +VerifyResponseContains + [Arguments] ${response_content} ${string_to_check_for} + Should Contain ${response_content} ${string_to_check_for} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_all_fields.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_all_fields.json deleted file mode 100644 index 3ad1fec0..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_all_fields.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "NVendor-Equip_Model-SN1234", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "outOfService", - "newState": "inService", - "stateInterface": "", - "additionalFields": { - "macAddress": "01:02:03:04:05:06", - "swVersion": "1.2.3" - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json deleted file mode 100644 index 2c14d468..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "NVendor-Equip_Model-SN1234", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "", - "newState": "", - "stateInterface": "", - "additionalFields": { - "macAddress": "01:02:03:04:05:06" - } - } - } -} \ No newline at end of file diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json deleted file mode 100644 index 21d97259..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "NVendor-Equip_Model-SN1234", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "outOfService", - "newState": "inService", - "stateInterface": "", - "additionalFields": { - "macAddress": "", - "swVersion": "1.2.3" - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json deleted file mode 100644 index 538a56c6..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "outOfService", - "newState": "inService", - "stateInterface": "", - "additionalFields": { - "macAddress": "01:02:03:04:05:06", - "swVersion": "1.2.3" - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json deleted file mode 100644 index 39a9e4ae..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "Wrong-PNF-Name", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "outOfService", - "newState": "inService", - "stateInterface": "", - "additionalFields": { - "macAddress": "01:02:03:04:05:06", - "swVersion": "1.2.3" - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_without_swversion.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_without_swversion.json deleted file mode 100644 index fcacf1ce..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_without_swversion.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "sourceName":"NVendor-Equip_Model-SN1234" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "newState": "inService", - "oldState": "outOfService", - "stateInterface": "", - "additionalFields": { - "macAddress": "00:11:22:33:44:55" - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_not_json_format.json b/tests/dcaegen2/bbs-testcases/assets/json_events/auth_not_json_format.json deleted file mode 100644 index 7801ad69..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/auth_not_json_format.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "eventName": "StateChange_cpe_authentication", - "domain": "stateChange", - "eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015", - "eventType": "applicationNf", - "sourceId": "", - "sourceName": "NVendor-Equip_Model-SN1234pnf-11", - "reportingEntityId": "", - "reportingEntityName": "thirdparty-sdnc-idfromesrrequest", - "priority": "Normal", - "startEpochMicrosec": 1.413378172e+15, - "lastEpochMicrosec": 1.413378172e+15, - "sequence": 0, - "vesEventListenerVersion": "7.1" - }, - "stateChangeFields": { - "stateChangeFieldsVersion": 1, - "oldState": "outOfService", - "newState": "inService", - "stateInterface": "", - "additionalFields": { - "macAddress": "01:02:03:04:05:06", - "swVersion": "1.2.3", - } - } - } -} diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_all_fields.json b/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_all_fields.json deleted file mode 100644 index 6fe23199..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_all_fields.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "nf-role":"role", - "equip-type":"Equipment-Type-1", - "equip-vendor":"NVendor", - "equip-model":"Equip_Model", - "serial-number":"SN1234", - "sw-version":"SW-version-1", - "correlationId":"NVendor-Equip_Model-SN1234", - "additionalFields": { - "attachment-point": "olt1-1-1", - "cvlan": "1005", - "svlan": "100", - "remote-id": "some-remote-id" - } - } - \ No newline at end of file diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json b/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json deleted file mode 100644 index 43d1b212..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nf-role":"role", - "equip-type":"Equipment-Type-1", - "equip-vendor":"NVendor", - "equip-model":"Equip_Model", - "serial-number":"SN1234", - "sw-version":"SW-version-1", - "correlationId":"NVendor-Equip_Model-SN1234", - "additionalFields": { - "attachment-point": "", - "cvlan": "1005", - "svlan": "100", - "remote-id": "some-remote-id" - } - } diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json b/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json deleted file mode 100644 index a1aaee30..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nf-role":"role", - "equip-type":"Equipment-Type-1", - "equip-vendor":"Vendor", - "equip-model":"Equip_Model", - "serial-number":"SN1234", - "sw-version":"SW-version-1", - "correlationId":"", - "additionalFields": { - "attachment-point": "olt1-1-1", - "cvlan": "1005", - "svlan": "100", - "remote-id": "some-remote-id" - } - } diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json b/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json deleted file mode 100644 index f1dca037..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nf-role":"role", - "equip-type":"Equipment-Type-1", - "equip-vendor":"NVendor", - "equip-model":"Equip_Model", - "serial-number":"SN1234", - "sw-version":"SW-version-1", - "correlationId":"Wrong-Correlation-Id", - "additionalFields": { - "attachment-point": "olt1-1-1", - "cvlan": "1005", - "svlan": "100", - "remote-id": "some-remote-id" - } - } diff --git a/tests/dcaegen2/bbs-testcases/assets/json_events/update_not_json_format.json b/tests/dcaegen2/bbs-testcases/assets/json_events/update_not_json_format.json deleted file mode 100644 index ab5b214a..00000000 --- a/tests/dcaegen2/bbs-testcases/assets/json_events/update_not_json_format.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nf-role":"role", - "equip-type":"Equipment-Type-1", - "equip-vendor":"NVendor", - "equip-model":"Equip_Model", - "serial-number":"SN1234", - "sw-version":"SW-version-1", - "correlationId":"NVendor-Equip_Model-SN1234", - "additionalFields": { - "attachment-point": "olt1-1-1", - "cvlan": "1005", - "svlan": "100", - "remote-id": "some-remote-id", - } - } diff --git a/tests/dcaegen2/bbs-testcases/bbs_tests.robot b/tests/dcaegen2/bbs-testcases/bbs_tests.robot deleted file mode 100644 index 4721e425..00000000 --- a/tests/dcaegen2/bbs-testcases/bbs_tests.robot +++ /dev/null @@ -1,117 +0,0 @@ -*** Settings *** -Documentation Integration tests for BBS. -... BBS receives CPE_AUTHENTICATION event from DMaaP and triggers a Policy that updates the CFS service with the PNF. -... BBS receives PNF_UPDATE event from DMaaP and triggers a Policy that updates the CFS service resources associated with the PNF. -Resource resources/bbs_library.robot -Resource ../../common.robot -Suite Setup Run keywords Create header AND Create sessions AND Set AAI Records AND Ensure Container Is Running bbs -Test Teardown Reset Simulators - - -*** Variables *** -${DMAAP_SIMULATOR_SETUP_URL} http://${DMAAP_SIMULATOR_SETUP} -${AAI_SIMULATOR_SETUP_URL} http://${AAI_SIMULATOR_SETUP} -${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_all_fields.json -${AUTH_EVENT_WITH_WRONG_SOURCENAME} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_wrong_sourceName.json -${AUTH_EVENT_WITHOUT_SWVERSION} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_without_swversion.json -${AUTH_EVENT_WITH_MISSING_RGMAC} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_rgmac.json -${AUTH_EVENT_WITH_MISSING_STATE} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_new_old_state.json -${AUTH_EVENT_WITH_MISSING_SOURCENAME} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_event_with_missing_sourceName.json -${AUTH_NOT_JSON_FORMAT} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_not_json_format.json -${AUTH_POLICY} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/auth_policy_with_all_fields.json -${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_all_fields.json -${UPDATE_EVENT_WITH_WRONG_CORRELATION} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_wrong_correlation.json -${UPDATE_EVENT_WITH_MISSING_ATTACHMENT} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_attachment.json -${UPDATE_EVENT_WITH_MISSING_CORRELATION} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_event_with_missing_correlation.json -${UPDATE_NOT_JSON_FORMAT} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_not_json_format.json -${UPDATE_POLICY} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/json_events/update_policy_with_all_fields.json -${AAI_PNFS} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnfs.json -${AAI_SERVICES} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_services.json -${AAI_PNF_NOT_FOUND} %{WORKSPACE}/tests/dcaegen2/bbs-testcases/assets/aai_records/aai_pnf_not_found.json - -*** Test Cases *** -Valid DMaaP CPE_AUTHENTICATION event can trigger Policy - [Documentation] BBS get valid CPE_AUTHENTICATION event from DMaaP with required fields - BBS triggers Policy - [Tags] BBS Valid CPE_AUTHENTICATION event - [Template] Valid auth event processing - ${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} - ${AUTH_EVENT_WITHOUT_SWVERSION} - -Invalid DMaaP CPE_AUTHENTICATION event RG MAC cannot trigger Policy - [Documentation] BBS get invalid RG MAC CPE_AUTHENTICATION event from DMaaP with missing required fields - BBS does not trigger Policy - [Tags] BBS Invalid RG MAC CPE_AUTHENTICATION event - [Template] Invalid rgmac auth event processing - ${AUTH_EVENT_WITH_MISSING_RGMAC} - -Invalid DMaaP CPE_AUTHENTICATION event cannot trigger Policy - [Documentation] BBS get invalid CPE_AUTHENTICATION event from DMaaP with missing required fields - BBS does not trigger Policy - [Tags] BBS Invalid CPE_AUTHENTICATION event - [Template] Invalid auth event processing - ${AUTH_EVENT_WITH_MISSING_STATE} - ${AUTH_EVENT_WITH_MISSING_SOURCENAME} - -Get valid CPE_AUTHENTICATION event from DMaaP and PNF record in AAI does not exist - [Documentation] BBS get valid event from DMaaP with all required fields and in AAI record doesn't exist - BBS does not trigger Policy - [Tags] BBS Missing AAI record - [Timeout] 30s - ${data}= Get Data From File ${AUTH_EVENT_WITH_WRONG_SOURCENAME} - Set event in DMaaP ${data} - Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: A&AI Request for (/aai/v14/network/pnfs/pnf/Wrong-PNF-Name?depth=all) - -CPE_AUTHENTICATION Event in DMaaP is not JSON format - [Documentation] BBS CPE_AUTHENTICATION not JSON format event from DMaaP - BBS does not Trigger Policy - [Tags] BBS - ${data}= Get Data From File ${AUTH_NOT_JSON_FORMAT} - Set event in DMaaP ${data} - Wait Until Keyword Succeeds 20x 2000ms Check BBS log DMaaP Consumption Exception: Not a JSON Array: - -# Get valid CPE_AUTHENTICATION event from DMaaP and AAI is not responding -# [Documentation] BBS get valid CPE_AUTHENTICATION event from DMaaP with all required fields and AAI is not responding - BBS does not trigger Policy -# [Tags] BBS AAI Uses containers -# [Timeout] 180s -# ${data}= Get Data From File ${AUTH_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} -# Ensure Container Is Exited aai_simulator -# Set event in DMaaP ${data} -# Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: aai_simulator: Try again -# Ensure Container Is Running aai_simulator -# Set AAI Records - -Valid DMaaP PNF_UPDATE event can trigger Policy - [Documentation] BBS get valid PNF_UPDATE event from DMaaP with required fields - BBS triggers Policy - [Tags] BBS Valid PNF_UPDATE event - [Template] Valid update event processing - ${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} - -Invalid DMaaP PNF_UPDATE event cannot trigger Policy - [Documentation] BBS get invalid PNF_UPDATE event from DMaaP with missing required fields - BBS does not trigger Policy - [Tags] BBS Invalid PNF_UPDATE event - [Template] Invalid update event processing - ${UPDATE_EVENT_WITH_MISSING_ATTACHMENT} - ${UPDATE_EVENT_WITH_MISSING_CORRELATION} - -Get valid PNF_UPDATE event from DMaaP and PNF record in AAI does not exist - [Documentation] BBS get valid PNF_UPDATE event from DMaaP with all required fields and in AAI record doesn't exist - BBS does not trigger Policy - [Tags] BBS Missing AAI record - [Timeout] 30s - ${data}= Get Data From File ${UPDATE_EVENT_WITH_WRONG_CORRELATION} - Set event in DMaaP ${data} - Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: A&AI Request for (/aai/v14/network/pnfs/pnf/Wrong-Correlation-Id?depth=all) - - -PNF_UPDATE Event in DMaaP is not JSON format - [Documentation] BBS PNF_UPDATE not JSON format event from DMaaP - BBS does not Trigger Policy - [Tags] BBS - ${data}= Get Data From File ${UPDATE_NOT_JSON_FORMAT} - Set event in DMaaP ${data} - Wait Until Keyword Succeeds 20x 2000ms Check BBS log DMaaP Consumption Exception: Not a JSON Array: - -# Get valid PNF_UPDATE event from DMaaP and AAI is not responding -# [Documentation] BBS get valid PNF_UPDATE event from DMaaP with all required fields and AAI is not responding - BBS does not trigger Policy -# [Tags] BBS AAI Uses containers -# [Timeout] 180s -# ${data}= Get Data From File ${UPDATE_EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} -# Ensure Container Is Exited aai_simulator -# Set event in DMaaP ${data} -# Wait Until Keyword Succeeds 20x 2000ms Check BBS log Error while retrieving PNF: aai_simulator: Try again -# Ensure Container Is Running aai_simulator -# Set AAI Records diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index 1e6d3105..212dfe0b 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -57,7 +57,7 @@ Verify AAI not responding is logged ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json Ensure Container Is Exited aai_simulator Set VES event in DMaaP ${ves_event} - Wait for one of PRH log entries 90s connection timed out: aai Host is unreachable: aai + Wait for one of PRH log entries 90s connection timed out: aai Host is unreachable: aai No route to host: aai [Teardown] Ensure Container Is Running aai_simulator Verify PNF re registration diff --git a/tests/dcaegen2/testcases/assets/certs/outdated.crt b/tests/dcaegen2/testcases/assets/certs/outdated.crt new file mode 100644 index 00000000..8768cff7 --- /dev/null +++ b/tests/dcaegen2/testcases/assets/certs/outdated.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEGDCCAgACFFgwd9DMpQEwVkrCkzJPGRq6xW3EMA0GCSqGSIb3DQEBCwUAMEUx +CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl +cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTkxMTE4MTIyMzIyWhcNMTkxMTE5MTIy +MzIyWjBMMQswCQYDVQQGEwJQTDELMAkGA1UECAwCRGwxEDAOBgNVBAcMB1dyb2Ns +YXcxDjAMBgNVBAoMBU5va2lhMQ4wDAYDVQQLDAVOb2tpYTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBALIx4HC0SskTvE5dzcfHcrjsvBvKJeum7NkVvpk2 +4hxhcynfmhM6wJ0VJV0x6B4mHe0ja4tJZdY5IyfRMV/5Q79hiiLmwg6hgjXX7MKn +7JnFCX1iMj+zXlQzCLgXVpB6ruBAMImiBjGn2MlTIHKthsNGX6Qf+hDmJqEfoRuI +jp7SwI4BvN084ijIpNWARdxAsAQ1qJjrCLhvJ9Ob8btCqclAzv3ZPAcOD6DjORx5 +JxIMMJ6bXfHgmsECy4dbGBMnieKF1O8NNdoypVCE+NuqckSmE2JQiHIkRHZ5Bul4 +ihk+wSR2WxiNOOuMN7bp+0Yan44ritMB06wpFdp4jGMvyTsCAwEAATANBgkqhkiG +9w0BAQsFAAOCAgEAYQEi9+o6+nlMvXJlal62QPoBPOQqFKWTBd5X0Wv+L0K/5yAO +S2Sv0woQyDLydjsglNLEJB3VJuPQsoRZDGqv9aThJ0j+/BzylbkxwcReMs7P+rl2 +DIeqjdvsato3ZB0Rtp28jBDI7HrvBfmGQQFUaeBRI7eybe3AXqy8INozkdAGeeIr +FxMmrZ0z7eQj5T8CE/ebmsbdIDRPmI672V8Tojd6nQSZFAG9/9q6f/iK45Mx6Qls +Qqfl+bdL3ey0aNsUR6yWNa2DBA15HW9GvUQuMxeGDNQn0bxib0KsKgxfbX4vLYVF +RgC/c1td9LJoSMl3tURoZwRfAHFX82jDxAExtlTMvZMleMlP3O/YRB0SNieFeidE +O3OzuCHBvEpQEcDdUMxc4XfCnV1nE6QHLsBwz3Zwt4ZnL6dS8iBE0p3NN5qHVWF7 +Vxb59ZYPCrTQbgTsKlfHyX8aB2Nk0rCgDFBbov7gVevOHjIWqmDyFhrNEJEmXO+3 +MM8UrImojbr4kn89VsujMP62jMqyXifuejGzkoHf6tBuTENiNxwmPwiX+ZD5etVE +kh8c7aoRZi6zv+vMUu6U1RpYUEPGMTGZKBsuk+2IABhfD5UcneGR3kX2Vtb34EZE +8i29bJY7CmzNBUlkbubqv8axklF2hxiN7w8oRLj+tH8jnVMMP47KuHaNx+8= +-----END CERTIFICATE----- diff --git a/tests/dcaegen2/testcases/assets/certs/outdated.key b/tests/dcaegen2/testcases/assets/certs/outdated.key new file mode 100644 index 00000000..860b30fd --- /dev/null +++ b/tests/dcaegen2/testcases/assets/certs/outdated.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAsjHgcLRKyRO8Tl3Nx8dyuOy8G8ol66bs2RW+mTbiHGFzKd+a +EzrAnRUlXTHoHiYd7SNri0ll1jkjJ9ExX/lDv2GKIubCDqGCNdfswqfsmcUJfWIy +P7NeVDMIuBdWkHqu4EAwiaIGMafYyVMgcq2Gw0ZfpB/6EOYmoR+hG4iOntLAjgG8 +3TziKMik1YBF3ECwBDWomOsIuG8n05vxu0KpyUDO/dk8Bw4PoOM5HHknEgwwnptd +8eCawQLLh1sYEyeJ4oXU7w012jKlUIT426pyRKYTYlCIciREdnkG6XiKGT7BJHZb +GI0464w3tun7RhqfjiuK0wHTrCkV2niMYy/JOwIDAQABAoIBAQCSYqLsM1AUa2AQ +SMMZ0WEPRXsqoSARvKlplJFlME8D3ZJL3eKm1WcSJCLzsmHrEokXHDfmzr8YAww8 +U3/qRc0/1RMzpLnaZxeev+lB581YbSNkm1yINAPTy7Dn+lQkkIREuLam+jF4bViL +2vwW+TJyDMfY/mPhqhAl4OPqyH3RPhSmC23zkPsqFU2ZXJQB/7CcDP9OtXN9OLM5 +/hjDTW0/+0/xLjzBDJbrzUSsBCD03/vis+mvZJ/pN31ZK+/zXz62yzGqN++bnoSA +mlAUL6QrkVER9dKoLwUoNncbbsmeYnNSvJqmPNgdm0BSDKVzP1u0lvX93nSsRG0c +vrHXb56xAoGBAOk5WwOfRtqUfkbGdJoX5R+PzRq9WGb6ZAquD8ST3rOtoQhPBQDI +Cx26UbhJyH2xKhME8ZI0rjW0llI/erJbiLK9v668HzfqgoFZIly3t7nwmstFvoo9 +1CUo9TPsppGKQLo1iJV6iJIH14kPlOtSwIbGd9ixzqp1rBCIvwEi+Fq3AoGBAMOY +x9ZlHmy2kmXTRjojf0zNPkkBsd8KatvH9AgYoUnulQBqdfCiTJTB+4JRyZ7sE6su +mbtKP3SM9FJTGg0bNCDO2fwjkqia5WyssI9sVITwoPw5o11mR7WEXtfM1UtgLJbo +xEN/TaFLoltW+kNaS0GzsJBzZvp8mbcmoFbx9hGdAoGAGVHjwqnpHFPgvbhP8mbD +tkB7aPrDfTKT5+Drz1CqbeFcyTUi+um84zZWJubDwHmacsQnodLcUvJPG5DOtkxf +s+ALzmGYFg78qiROKbi8VpB7jbP9sq5xuLMQo9l+X/CdhFnJgUjzSL9XNAcgCMhM +JJWpbzomkLUDwCvIaMwuIFMCgYEAwv81exAkXM1G9izC/oMVDkQvrCj8YxfHoISf +TNMBOOuZsGhyXAvxvPwG+cz/7Gf+09IJgSZsTI2ZpdkjR52vQmX1++Ca/Wwu/UDM +ZK/jMwWR+OKdcyfcpaHpy8pxekvPKEO2JnRruDnnCpiTt0H1dPLnO5tRNrexp13i +y8s9PiECgYEAzCk/b/62WIpEb7BPO19I7XR8xAT36QINiTJrOHqrh6iexD9T63Zf +0OuNsnLna2uvPRsSKnoU8a0/frEKIu45LBrUh1XqKjgRP1PMktAI6KGwRvPXTzGT +WVgznP2uU6wCyvd6obRfcX79egDeZrGfJ0xnuesaIEeYM+5CFgxqmHo= +-----END RSA PRIVATE KEY----- diff --git a/tests/dcaegen2/testcases/assets/certs/rootCAdec.key b/tests/dcaegen2/testcases/assets/certs/rootCAdec.key deleted file mode 100644 index e33b7e34..00000000 --- a/tests/dcaegen2/testcases/assets/certs/rootCAdec.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKAIBAAKCAgEAvsiM7YoEmyA+HU995RHPlBevYCqYHQ9KO//Z590HsmaxxMXT -XRfURZxEXrMC3uuGRC/AcAWj873gD2M5O4zeidS0t730w5Bp8zV1cqJHE6xi+MSB -gBXtd2QY9cU5cQaI0bibACdp9ooZ5NqXEGvkAjsuxwO4jkVa63+Ic1LYR3HL1RWO -Wde7DS7Uwq7KPT/cSJDKuBPvBku7n02SFFUouqK7kjpYQ9CtMP2nisD4wR05OaPM -poXPx0jnMVW1Hvn5HLCvIsxy06D0+JQgDwq7L3h2+niEM3fss3YAknTny7AqEmT+ -7Oeg5JmjzcZPFGuVZ7p0yqhjkpkyBE/ocEUyluZQsiRljSDC/fa1pKeBPk12kjMk -POktX35tqrAcB7jWG03Ois43jdBq+ePgKWoHlSKTjON2zxGHeQSzN0rYFeRnSzB+ -Z3V99MzKCL5YBe6JXJnTkXQO1oBUQJorzeH5+un+ionupb19hU4IxZQK22mxxS44 -qs1uF13Eu0lfqKZ3eu7LWQG3ZC8fpzmY4yWQ5qSOa74dXmTs9IS/YJG4tMmEx15q -ZHyaIpJ9hXgmR66h12wuRZA3kdMwxFBwuqO2Gb0PYdcqIFkRmuvzmVPDYod4XOmW -1Vhlhrxu7V+iOX7ecuRiYMJKjqnBuN1AsPxs9ru5g4tFaDcPj4RSEBveCVUCAwEA -AQKCAgBwXh7jKY9c7rim+tLjwIHKb8jTk0LUmtTWUfM+JWkLIoFBrGK5Sfe0qD18 -qWLfeUkzkAx/7lKKlSMK7R4gfO/1rlpifndTWBOPM8VhJ0NFyxrf+p1rm36p+0LY -Prl+YKLlIx3oEU7P7rchm72t5l39Em6SuRZSdXb/jbYIdpr8OYIclv2o3O9G7HZT -1C85tAtCkkVT9imqQ6DWSxHm9+FtS7u+fK7QAnB/kmbDyrS4yUWTNW6sBdRDRCUn -YZu0Cvc2drowfMqE6yBd6KCZO3DUnNc23xS+W7wGV1Iu8Lw1tCSTgPjFAAg7nGJm -KI8bL+JnneJ8GoHLLn/PGmGE/ry0LvdHtdHuBvzJKW92a2OaiN7XWJyQDXzn8Sq0 -/sHXlyVQs1OBS14R3ILzFbP8D/bIJCRbSVDPWKDALqd8XEqGDV9fYrU83TkOhn4+ -y743XWW9C0xZuaxxZQmcTthuLZwiBKYKZ3FHnMIlBqgUQ6a4bTBXwaPIcdzAHXOp -cgKbpw7z60vJCUlT7c2VXGk4YEQ+JZ7hPw9jjz93EIDiFmizcYZGvTBvsrGXvXNZ -MVX28iib08mSIMz/jm2LZHs4k6/vAPFqEPlramtFcSjVv1dOcwyvnKM1VTFiiX5o -XpmeR8WVsHUILZ5y+VEhwTgQZ5amqP/FborYm92HJA66EggxYQKCAQEA73d3vNKF -SPJOr7g8hzt/Pfc0npeuThAdbBDzzqlxsH6JnH0Esom+Vz4QAfK7q2Wf6fkUDR2n -t7P93NQyHNloLx7SN3UZyHkmW2qENlyq0iSUi2QgpLiVFhZWxcy7o8NzQR6bdFCc -WrzkCuTgDuDNWHhTj5Ewk4wDw27GnaG8K3sSTeNUYirPoEVl4HImv04PeZ7Cb7za -9mhUDKql0FHzo4UrGvrF0eblgnRsTVDPaI+ylxqKj9Z+6IBISl7Ml3oD2zRj55Z5 -/fsSCr84mD8k5JSr4EGIMEGT2Y70/AG422u+X7kV+S74hg23aMp1k62v94glUrqi -chJfDpwAE/+RYwKCAQEAy/SdRN07WvQSnJ6l3ZD+swKS9ZB6lv76xqHcHfC2p/VB -acUNJUlWwGYqLutZBrfepwnKFT8mwfnxKJAoVNcHiMkNGBjaGfVlILHhUI6fGyO3 -p6eYPo55wHCFViugLvhnE9ZWPnJghLKBQ3pOmfFc7+ZFTdMuvdq92SFUnQSqCsDO -UuockkTrNLLdsajn8wsxuUE3q/cf9XmaJ85b11k2cVP4Ipllc1pnrHrqILSgK/hD -8pgRhY7cFg5iHlOHH9zG+w4DR1zrQFsjZ8TA0Uoa3kreqB01A2Fj/BIYxhZqc5Cl -aPKPQ7tIuxm/pg7dxBCEr6uRl1pj40wDFeeGLwKT5wKCAQAf5v+ZtUYyeK2I9XeC -4KdL/xIQis6a8cSpr/x7LNHLnKACrBkjG/yyrL7/M3JTHD/YsOk98hR1AdKxR8fB -ViluFaIV51DfB1zX0vH4OBI92se7ZkR/DWQ3RBSdV3AsGg7Rvx0gutiJsh6DYQiE -kuhof+dJ+iLJlV6u+6QUPgbOmB/RJpcIWQG+LWCsLSkCVYj0P/VRY4ycRTvlUBq1 -DSXzQ/uBJaWTGDq9TXtcNYbcPECjptKM5RuVJ/n5hnWlPIkk++7PXJm1/2vg6KbG -iasFlNTtFG3rV+E1m7kBlc0l1k3PfN3zi5Fqcotbt5VAbmRCCu5F/j1ECzSEwr2z -7FlXAoIBAGh5pnIXLYd6zWnjLq3fz0idgfA+kT114boMQbgojThePqLSqNg3yDOI -YgVk01bIq0o/jn/xuIXW5bzUk4RaHeborkdwu5Beju3/kJ52YHRDiJleFXO+Agoc -2YB5mnVVE2ArBES6zExNMEADj+31oJjXCRtDmYbxXRyzoSdJs10MxOPePsKCgUWe -dkfCcQaj7lWqXb0+OuXA48GOSKd4cJX+4HXAxCIh5keJMxOL0xyS8SN82ETlGEJI -HeTQ/r/IlTkXRYCxzWRLC0jllavf3QGPspzFUVmo8tG153DZHLCUINcwoUid0DTf -jLegl+MOXxmptkukptRRJKd80NSV6nMCggEBANvmtRKhcXOUl50pnhbGOHLBAZ5G -w242Bdq8ajeejXL3idBqsqLW60hduJCS/dPFzRbfHlpsePFCrayrEqvxrSQbvmW6 -f9YCrCWKObH7sUPqUvcjIUNq9kUNTCO+0Y085K/D6lD8sg2d1CmJAX6w9WXR84jd -ZqSi4+GXekvsItKj8XwJikkpBp5eb30iibmiNoP9LXsy2z710mRzlnEXg/2MKL14 -AG5IxxZAu7r36qO8DtAMu0b7TNF3GgdbbN0doDvxNbNkXqNBxiGD028h+POHjuQt -e54uKRTGBejKwhVx+skw1DPcDfznIY7uwBSiDR2JhrSAcAqwOGXTh4tne9c= ------END RSA PRIVATE KEY----- diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json new file mode 100644 index 00000000..48e97d09 --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json @@ -0,0 +1,64 @@ +{ + "eventList": [ + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion", + "eventId": "fault0000250", + "sequence": 1, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000000, + "lastEpochMicrosec": 1413378172000000, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "PilotNumberPoolExhaustion", + "eventSourceType": "other", + "specificProblem": "Calls cannot complete - pilot numbers are unavailable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active", + "alarmAdditionalInformation": { + "PilotNumberPoolSize": "1000" + } + } + }, + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable", + "eventId": "fault0000251", + "sequence": 0, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000010, + "lastEpochMicrosec": 1413378172000010, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "RecordingServerUnreachable", + "eventSourceType": "other", + "specificProblem": "Recording server unreachable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active" + } + } + ] +} \ No newline at end of file diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json new file mode 100644 index 00000000..5245fead --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json @@ -0,0 +1,66 @@ +{ + "eventList": [ + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "dummy": "dummy_value", + "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion", + "eventId": "fault0000250", + "sequence": 1, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000000, + "lastEpochMicrosec": 1413378172000000, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "PilotNumberPoolExhaustion", + "eventSourceType": "other", + "specificProblem": "Calls cannot complete - pilot numbers are unavailable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active", + "alarmAdditionalInformation": { + "PilotNumberPoolSize": "1000" + } + } + }, + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable", + "eventId": "fault0000251", + "sequence": 0, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000010, + "lastEpochMicrosec": 1413378172000010, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "RecordingServerUnreachable", + "eventSourceType": "other", + "specificProblem": "Recording server unreachable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active" + } + } + ] +} \ No newline at end of file diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json new file mode 100644 index 00000000..1db81eed --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json @@ -0,0 +1,67 @@ + +{ + "eventList": [ + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion", + "eventId": "fault0000250", + "sequence": 1, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000000, + "lastEpochMicrosec": 1413378172000000, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "PilotNumberPoolExhaustion", + "eventSourceType": "other", + "specificProblem": "Calls cannot complete - pilot numbers are unavailable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active", + "alarmAdditionalInformation": { + "PilotNumberPoolSize": "1000" + } + } + }, + { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable", + "eventId": "fault0000251", + "sequence": 0, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam0011234", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000010, + "lastEpochMicrosec": 1413378172000010, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "RecordingServerUnreachable", + "eventSourceType": "other", + "specificProblem": "Recording server unreachable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active" + } + } + ] +} + diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json b/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json new file mode 100644 index 00000000..60d31955 --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json @@ -0,0 +1,33 @@ +{ + "event": { + "commonEventHeader": { + "version": "4.0.1", + "vesEventListenerVersion": "7.0.1", + "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion", + "eventId": "ab305d54-85b4-a31b-7db2-fb6b9e546015", + "sequence": 1, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam001", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000000, + "lastEpochMicrosec": 1413378172000000, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "PilotNumberPoolExhaustion", + "eventSourceType": "other", + "specificProblem": "Calls cannot complete - pilot numbers are unavailable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active", + "alarmAdditionalInformation": { + "PilotNumberPoolSize": "1000" + } + } + } +} \ No newline at end of file diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json b/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json new file mode 100644 index 00000000..1e867581 --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json @@ -0,0 +1,35 @@ +{ + "event": { + "commonEventHeader": { + "version": "4.0.1", + "dummy": "dummy_value", + "vesEventListenerVersion": "7.0.1", + "domain": "fault", + "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion", + "eventId": "ab305d54-85b4-a31b-7db2-fb6b9e546015", + "sequence": 1, + "priority": "High", + "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234", + "reportingEntityName": "ibcx0001vm002oam001", + "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", + "sourceName": "scfx0001vm002cap001", + "nfVendorName": "Ericsson", + "nfNamingCode": "scfx", + "nfcNamingCode": "ssc", + "startEpochMicrosec": 1413378172000000, + "lastEpochMicrosec": 1413378172000000, + "timeZoneOffset": "UTC-05:30" + }, + "faultFields": { + "faultFieldsVersion": "4.0", + "alarmCondition": "PilotNumberPoolExhaustion", + "eventSourceType": "other", + "specificProblem": "Calls cannot complete - pilot numbers are unavailable", + "eventSeverity": "CRITICAL", + "vfStatus": "Active", + "alarmAdditionalInformation": { + "PilotNumberPoolSize": "1000" + } + } + } +} \ No newline at end of file diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json b/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json new file mode 100644 index 00000000..dcd3aa5d --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json @@ -0,0 +1,35 @@ +{ + "event": { + "commonEventHeader": { + "startEpochMicrosec": 1538407540940, + "sourceId": "val13", + "eventId": "registration_38407540", + "nfcNamingCode": "oam", + "internalHeaderFields": {}, + "eventType": "pnfRegistration", + "priority": "Normal", + "version": "4.0.1", + "reportingEntityName": "NOK6061ZW3", + "sequence": 0, + "domain": "pnfRegistration", + "lastEpochMicrosec": 1538407540940, + "eventName": "test_PNF_PNF", + "vesEventListenerVersion": "7.0.1", + "sourceName": "nok201911", + "nfNamingCode": "gNB" + }, + "pnfRegistrationFields": { + "unitType": "val8", + "serialNumber": "6061ZW3", + "pnfRegistrationFieldsVersion": "2.0", + "manufactureDate": "1538407540942", + "modelNumber": "val6", + "lastServiceDate": "1538407540942", + "unitFamily": "BBU", + "vendorName": "Nokia", + "oamV4IpAddress": "10.11.12.13", + "oamV6IpAddress": "1::::9", + "softwareVersion": "val7" + } + } +} diff --git a/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json b/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/dcaegen2/testcases/dcae_ves.robot b/tests/dcaegen2/testcases/dcae_ves.robot index c035423d..80e90ed4 100644 --- a/tests/dcaegen2/testcases/dcae_ves.robot +++ b/tests/dcaegen2/testcases/dcae_ves.robot @@ -1,153 +1,120 @@ *** Settings *** -Documentation Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios -Library RequestsLibrary +Documentation Run healthchecks for DCAE VES +... Testing /eventListener/v7 and /eventListener/v7/eventBatch endpoints for DCEA VES v7. +... Testing /eventListener/v5 and /eventListener/v5/eventBatch for DCEA VES v5 with various event feeds from VoLTE, vFW and PNF +Library RequestsLibrary Library OperatingSystem Library Collections Library DcaeLibrary -Resource resources/dcae_keywords.robot -Resource ../../common.robot -Resource resources/dcae_properties.robot -Test Setup Cleanup VES Events -Suite Setup Run keywords VES Collector Suite Setup DMaaP Create sessions Create header -Suite Teardown VES Collector Suite Shutdown DMaaP - -*** Variables *** -${VESC_URL_HTTPS} https://%{VESC_IP}:8443 -${VESC_URL} http://%{VESC_IP}:8080 -${VES_ANY_EVENT_PATH} /eventListener/v5 -${VES_BATCH_EVENT_PATH} /eventListener/v5/eventBatch -${VES_THROTTLE_STATE_EVENT_PATH} /eventListener/v5/clientThrottlingState -${VES_ENDPOINT} /eventListener/v7 -${VES_VALID_JSON_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid.json -${VES_INVALID_JSON_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_invalid.json -${EVENT_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json -${EVENT_MEASURE_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json -${EVENT_DATA_FILE_BAD} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json -${EVENT_BATCH_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json -${EVENT_THROTTLING_STATE_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json -${EVENT_PNF_REGISTRATION} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json - -#DCAE Health Check -${CONFIG_BINDING_URL} http://localhost:8443 -${CB_HEALTHCHECK_PATH} /healthcheck -${CB_SERVICE_COMPONENT_PATH} /service_component/ -${VES_Service_Name1} dcae-controller-ves-collector -${VES_Service_Name2} ves-collector-not-exist +Resource ./resources/dcae_keywords.robot + +Test Teardown Cleanup VES Events +Suite Setup Run keywords VES Collector Suite Setup DMaaP Generate Certs Create sessions Create header +Suite Teardown Run keywords VES Collector Suite Shutdown DMaaP Remove Certs *** Test Cases *** -#No authorization tests +#No authentication tests VES Collector HTTP Health Check [Tags] DCAE-VESC-R1 - [Documentation] Ves Collector Health Check - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request ${suite_dcae_vesc_url_session} /healthcheck headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 + [Documentation] Run healthcheck + Run Healthcheck Publish Single VES VNF Measurement Event API V7 [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector No Auth ${VES_ENDPOINT} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true - + [Documentation] Post single event with valid data to /eventListener/v7 endpoint and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 202 ab305d54-85b4-a31b-7db2-fb6b9e546015 Publish Single VES VNF Measurement Event with wrong JSON [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 400 Response - ${evtdata}= Get Data From File ${VES_INVALID_JSON_V7} - ${resp}= Publish Event To VES Collector No Auth ${VES_ENDPOINT} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 400 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + [Documentation] Post single event with invalid data to /eventListener/v7 endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_INVALID_JSON_V7} 400 + +Publish Single VES VNF Measurement Event with missing mandatory parameter + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with lack of one of the mandatory parameters "domain" to /eventListener/v7 endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_MISSING_MANDATORY_PARAMETER_V7} 400 + +Publish Single VES VNF Measurement Event with empty json + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with empty json to /eventListener/v7 endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_EMPTY_JSON} 400 + +Publish Single VES VNF Measurement Event with parameter out of schema + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with parameter which is not defined in schema and send to /eventListener/v7 endpoint. Expected 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_PARAMETER_OUT_OF_SCHEMA_V7} 400 Publish Single VES VNF Measurement Event with No Auth over HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect ConnectionError - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${err_msg}= Run Keyword And Expect Error ConnectionError:* Publish Event To VES Collector ${VES_ENDPOINT} ${evtdata} - Should Contain ${err_msg} Errno 111 - Log Recieved error message ${err_msg} + [Documentation] Post single event over HTTPS with authentication disabled and expect ConnectionError + @{err_content} Create List Errno 111 + Send Request And Expect Error Publish Event To VES Collector ${https_basic_auth_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} ConnectionError:* @{err_content} Publish Single VES VoLTE Fault Event [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_DATA_FILE} - ${resp}= Publish Event To VES Collector No Auth ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true + [Documentation] Post single event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_ANY_EVENT_PATH} ${EVENT_DATA_FILE} 202 ab305d54-85b4-a31b-7db2-fb6b9e546015 Publish Single VES VNF Measurement Event API V5 [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_MEASURE_FILE} - ${resp}= Publish Event To VES Collector No Auth ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive 0b2b5790-3673-480a-a4bd-5a00b88e5af6 - Should Be Equal As Strings ${ret} true + [Documentation] Post single measurement event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_ANY_EVENT_PATH} ${EVENT_MEASURE_FILE} 202 0b2b5790-3673-480a-a4bd-5a00b88e5af6 Publish VES VoLTE Fault Batch Events [Tags] DCAE-VESC-R1 - [Documentation] Post batched events and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_BATCH_DATA_FILE} - ${resp}= Publish Event To VES Collector No Auth ${VES_BATCH_EVENT_PATH} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546025 - Should Be Equal As Strings ${ret} true + [Documentation] Post single event with valid data to /eventListener/v5/eventBatch endpoint and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_BATCH_EVENT_PATH} ${EVENT_BATCH_DATA_FILE} 202 ab305d54-85b4-a31b-7db2-fb6b9e546025 +Publish VES Batch Events with empty json + [Tags] DCAE-VESC-R1 + [Documentation] Post empty json to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_EMPTY_JSON} 400 + +Publish VES Batch Events with missing mandatory parameter + [Tags] DCAE-VESC-R1 + [Documentation] Post event list where one of the events doesn't have mandatory domain param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_BATCH_MISSING_MANDATORY_PARAM_V7} 400 + +Publish VES Batch Events wih parameter out of schema + [Tags] DCAE-VESC-R1 + [Documentation] Post event list where one of the events have additional dummy param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_BATCH_PARAM_OUT_OF_SCHEMA_V7} 400 Publish VES Event With Invalid Method [Tags] DCAE-VESC-R1 - [Documentation] Use invalid Put instead of Post method to expect 405 response - ${evtdata}= Get Data From File ${EVENT_DATA_FILE} + [Documentation] Use invalid Put instead of Post method to expect 405 Response Status Code Log Send HTTP Request with invalid method Put instead of Post - ${resp}= Publish Event To VES Collector With Put Method No Auth ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 405 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + Send Request And Validate Response Publish Event To VES Collector With Put Method ${http_session} ${VES_ANY_EVENT_PATH} ${EVENT_DATA_FILE} 405 Publish VES Event With Invalid URL Path [Tags] DCAE-VESC-R1 - [Documentation] Use invalid url path to expect 404 response - ${evtdata}= Get Data From File ${EVENT_DATA_FILE} + [Documentation] Post single event to invalid url path and expect 404 Response Status Code Log Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path - ${resp}= Publish Event To VES Collector No Auth /listener/v5/ ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 404 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + Send Request And Validate Response Publish Event To VES Collector ${http_session} /listener/v5/ ${EVENT_DATA_FILE} 404 Publish PNF Registration Event [Tags] DCAE-VESC-R1 - [Documentation] Post PNF registration event and expect 200 Response - ${evtdata}= Get Data From File ${EVENT_PNF_REGISTRATION} - ${resp}= Publish Event To VES Collector No Auth ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive QTFCOC540002E-reg - Should Be Equal As Strings ${ret} true + [Documentation] Post PNF registration event and expect 200 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_ANY_EVENT_PATH} ${EVENT_PNF_REGISTRATION} 202 QTFCOC540002E-reg +Publish VES Event With Invalid Method V7 + [Tags] DCAE-VESC-R1 + [Documentation] Use invalid Put instead of Post method to expect 405 Response Status Code + Log Send HTTP Request with invalid method Put instead of Post + Send Request And Validate Response Publish Event To VES Collector With Put Method ${http_session} ${VES_EVENTLISTENER_V7} ${EVENT_DATA_FILE} 405 + +Publish VES Event With Invalid URL Path V7 + [Tags] DCAE-VESC-R1 + [Documentation] Post single event to invalid url path and expect 404 Response Status Code + Log Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path + Send Request And Validate Response Publish Event To VES Collector ${http_session} /listener/v7/ ${EVENT_DATA_FILE} 404 + +Publish PNF Registration Event V7 + [Tags] DCAE-VESC-R1 + [Documentation] Post PNF registration event and expect 200 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${EVENT_PNF_REGISTRATION_V7} 202 registration_38407540 # Auth by certificate and basic auth username / password @@ -155,130 +122,109 @@ Enable VESC HTTPS with certBasicAuth [Tags] DCAE-VESC-R1 [Documentation] Enable VESC Https and Authentication and Run Health Check Enable VESC with certBasicAuth + Run Healthcheck + +Healthcheck with Outdated Cert + [Tags] DCAE-VESC-R1 + [Documentation] Run healthcheck with outdated cert ${uuid}= Generate UUID ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} - ${resp}= Get Request ${suite_dcae_vesc_url_session} /healthcheck headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - + ${err_msg}= Run Keyword And Expect Error SSLError:* Get Request ${https_outdated_cert_session} /healthcheck headers=${headers} + Should Contain ${err_msg} certificate unknown + Log Recieved error message ${err_msg} Publish Single VES Fault Event Over HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_DATA_FILE} + [Documentation] Post single event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code Log Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD} - ${resp}= Publish Event To VES Collector ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_ANY_EVENT_PATH} ${EVENT_DATA_FILE} 202 ab305d54-85b4-a31b-7db2-fb6b9e546015 Publish Single VES Measurement Event Over HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_MEASURE_FILE} - ${resp}= Publish Event To VES Collector ${VES_ANY_EVENT_PATH} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive 0b2b5790-3673-480a-a4bd-5a00b88e5af6 - Should Be Equal As Strings ${ret} true + [Documentation] Post single measurement event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_ANY_EVENT_PATH} ${EVENT_MEASURE_FILE} 202 0b2b5790-3673-480a-a4bd-5a00b88e5af6 Publish VES Fault Batch Events Over HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Post batched events and expect 202 Response - ${evtdata}= Get Data From File ${EVENT_BATCH_DATA_FILE} - ${resp}= Publish Event To VES Collector ${VES_BATCH_EVENT_PATH} ${evtdata} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546025 - Should Be Equal As Strings ${ret} true - + [Documentation] Post single event with valid data to /eventListener/v5/eventBatch endpoint over HTTPS and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_BATCH_EVENT_PATH} ${EVENT_BATCH_DATA_FILE} 202 ab305d54-85b4-a31b-7db2-fb6b9e546025 Publish VES Event With Invalid URL Path HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Use invalid url path to expect 404 response - ${evtdata}= Get Data From File ${EVENT_DATA_FILE} + [Documentation] Post single event to invalid url path over HTTPS and expect 404 response Status Code Log Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path - ${resp}= Publish Event To VES Collector /eventlistener/v5 ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 404 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} /eventlistener/v5 ${EVENT_DATA_FILE} 404 Publish Single VES VNF Measurement Event over HTTP [Tags] DCAE-VESC-R1 - [Documentation] Post single event over HTTP and expect 400 Response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector No Auth ${VES_ENDPOINT} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 400 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - + [Documentation] Post single event over HTTP with authentication enabled and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${http_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 400 Publish Single VES VNF Measurement Event with certBasicAuth over HTTPS [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 Response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector ${VES_ENDPOINT} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true + [Documentation] Post single event with valid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 202 ab305d54-85b4-a31b-7db2-fb6b9e546015 Publish Single VES VNF Measurement Event over HTTPS with wrong JSON [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 400 Response - ${evtdata}= Get Data From File ${VES_INVALID_JSON_V7} - ${resp}= Publish Event To VES Collector ${VES_ENDPOINT} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 400 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + [Documentation] Post single event with invalid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 400 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_EVENTLISTENER_V7} ${VES_INVALID_JSON_V7} 400 Publish Single VES VNF Measurement Event With Wrong Auth [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 401 response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector With Wrong Auth ${VES_ENDPOINT} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 401 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + [Documentation] Post single event with valid data and invalid username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_wrong_auth_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 401 Publish Single VES VNF Measurement Event With Cert [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 202 response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector With Cert ${VES_ENDPOINT} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} - ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true + [Documentation] Post single event with valid data and valid certificate to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_valid_cert_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 202 ab305d54-85b4-a31b-7db2-fb6b9e546015 Publish Single VES VNF Measurement Event With Wrong Cert [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect SSLError with bad handshake - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${err_msg}= Run Keyword And Expect Error SSLError:* Publish Event To VES Collector With Wrong Cert ${VES_ENDPOINT} ${evtdata} - Should Contain ${err_msg} bad handshake - Should Contain ${err_msg} certificate unknown - Log Recieved error message ${err_msg} + [Documentation] Post single event with valid data and invalid certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown + @{err_content} Create List certificate unknown + Send Request And Expect Error Publish Event To VES Collector ${https_invalid_cert_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} SSLError:* @{err_content} + +Publish Single VES VNF Measurement Event With Outdated Cert + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and outdated certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown + @{err_content} Create List certificate unknown + Send Request And Expect Error Publish Event To VES Collector ${https_outdated_cert_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} SSLError:* @{err_content} Publish Single VES VNF Measurement Event Without Auth And Cert [Tags] DCAE-VESC-R1 - [Documentation] Post single event and expect 401 response - ${evtdata}= Get Data From File ${VES_VALID_JSON_V7} - ${resp}= Publish Event To VES Collector Without Auth And Cert ${VES_ENDPOINT} ${evtdata} - Log Receive HTTPS Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 401 - ${isEmpty}= Is Json Empty ${resp} - Run Keyword If '${isEmpty}' == False Log ${resp.json()} + [Documentation] Post single event with valid data and without certificate or username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_no_cert_no_auth_session} ${VES_EVENTLISTENER_V7} ${VES_VALID_JSON_V7} 401 + +Publish V7 Batch Event with certBasicAuth over HTTPS + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and valid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} 202 Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion + +Publish V7 Batch Event With Wrong Auth + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and invalid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_wrong_auth_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} 401 + +Publish V7 Batch Event With Cert + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and valid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response + Send Request And Validate Response Publish Event To VES Collector ${https_valid_cert_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} 202 Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion + +Publish V7 Batch With Wrong Cert + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and invalid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown + @{err_content} Create List certificate unknown + Send Request And Expect Error Publish Event To VES Collector ${https_invalid_cert_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} SSLError:* @{err_content} + +Publish V7 Batch Event With Outdated Cert + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and outdated certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown + @{err_content} Create List certificate unknown + Send Request And Expect Error Publish Event To VES Collector ${https_outdated_cert_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} SSLError:* @{err_content} + +Publish V7 Batch Event Without Auth And Cert + [Tags] DCAE-VESC-R1 + [Documentation] Post single event with valid data and without certificate or username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code + Send Request And Validate Response Publish Event To VES Collector ${https_no_cert_no_auth_session} ${VES_BATCH_EVENT_ENDPOINT_V7} ${VES_VALID_BATCH_JSON_V7} 401 diff --git a/tests/dcaegen2/testcases/resources/CertsLibrary.py b/tests/dcaegen2/testcases/resources/CertsLibrary.py new file mode 100644 index 00000000..b8189422 --- /dev/null +++ b/tests/dcaegen2/testcases/resources/CertsLibrary.py @@ -0,0 +1,42 @@ + +import os +import subprocess +import time + +from robot.api import logger + + +class CertsLibrary(object): + + def __init__(self): + pass + + + + @staticmethod + def generate_certs(): + ws = os.environ['WORKSPACE'] + script2run = ws + "/tests/dcaegen2/testcases/resources/gen-certs.sh" + logger.info("Running script: " + script2run) + logger.console("Running script: " + script2run) + subprocess.call([script2run, ws]) + time.sleep(5) + return + + @staticmethod + def remove_certs(): + ws = os.environ['WORKSPACE'] + script2run = ws + "/tests/dcaegen2/testcases/resources/rm-certs.sh" + logger.info("Running script: " + script2run) + logger.console("Running script: " + script2run) + subprocess.call([script2run, ws]) + time.sleep(5) + return + + + + + + + + diff --git a/tests/dcaegen2/testcases/resources/dcae_keywords.robot b/tests/dcaegen2/testcases/resources/dcae_keywords.robot index c4cdbb9c..0011ab88 100644 --- a/tests/dcaegen2/testcases/resources/dcae_keywords.robot +++ b/tests/dcaegen2/testcases/resources/dcae_keywords.robot @@ -4,32 +4,33 @@ Library RequestsLibrary Library DcaeLibrary Library OperatingSystem Library Collections +Library CertsLibrary Variables ../resources/DcaeVariables.py +Resource ../../../common.robot Resource ../resources/dcae_properties.robot -*** Variables *** -${DCAE_HEALTH_CHECK_BODY} %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json - - *** Keywords *** Create sessions [Documentation] Create all required sessions - Create Session dcae_vesc_url ${VESC_URL} - Set Suite Variable ${suite_dcae_vesc_url_session} dcae_vesc_url ${auth}= Create List ${VESC_HTTPS_USER} ${VESC_HTTPS_PD} - Create Session dcae_vesc_url_https ${VESC_URL_HTTPS} auth=${auth} disable_warnings=1 - Set Suite Variable ${suite_dcae_vesc_url_https_session} dcae_vesc_url_https ${wrong_auth}= Create List ${VESC_HTTPS_WRONG_USER} ${VESC_HTTPS_WRONG_PD} + ${certs}= Create List ${VESC_CERT} ${VESC_KEY} + ${wrong_certs}= Create List ${VESC_WRONG_CERT} ${VESC_WRONG_KEY} + ${outdated_certs}= Create List ${VESC_OUTDATED_CERT} ${VESC_OUTDATED_KEY} + Create Session dcae_vesc_url ${VESC_URL} + Set Suite Variable ${http_session} dcae_vesc_url + Create Session dcae_vesc_url_https ${VESC_URL_HTTPS} auth=${auth} disable_warnings=1 + Set Suite Variable ${https_basic_auth_session} dcae_vesc_url_https Create Session dcae_vesc_url_https_wrong_auth ${VESC_URL_HTTPS} auth=${wrong_auth} disable_warnings=1 - Set Suite Variable ${suite_dcae_vesc_url_https_wrong_auth_session} dcae_vesc_url_https_wrong_auth - ${certs}= Create List ${VESC_ROOTCA_CERT} ${VESC_ROOTCA_KEY} + Set Suite Variable ${https_wrong_auth_session} dcae_vesc_url_https_wrong_auth Create Client Cert Session dcae_vesc_url_https_cert ${VESC_URL_HTTPS} client_certs=${certs} disable_warnings=1 - Set Suite Variable ${suite_dcae_vesc_url_https_cert_session} dcae_vesc_url_https_cert - ${wrong_certs}= Create List ${VESC_WRONG_CERT} ${VESC_WRONG_KEY} + Set Suite Variable ${https_valid_cert_session} dcae_vesc_url_https_cert Create Client Cert Session dcae_vesc_url_https_wrong_cert ${VESC_URL_HTTPS} client_certs=${wrong_certs} disable_warnings=1 verify=${False} - Set Suite Variable ${suite_dcae_vesc_url_https_wrong_cert_session} dcae_vesc_url_https_wrong_cert + Set Suite Variable ${https_invalid_cert_session} dcae_vesc_url_https_wrong_cert + Create Client Cert Session dcae_vesc_url_https_outdated_cert ${VESC_URL_HTTPS} client_certs=${outdated_certs} disable_warnings=1 verify=${False} + Set Suite Variable ${https_outdated_cert_session} dcae_vesc_url_https_outdated_cert Create Session dcae_vesc_url_https_wo_auth ${VESC_URL_HTTPS} disable_warnings=1 - Set Suite Variable ${suite_dcae_vesc_url_https_wo_auth_session} dcae_vesc_url_https_wo_auth + Set Suite Variable ${https_no_cert_no_auth_session} dcae_vesc_url_https_wo_auth Create header ${headers}= Create Dictionary Content-Type=application/json @@ -37,7 +38,6 @@ Create header Get DCAE Nodes [Documentation] Get DCAE Nodes from Consul Catalog - #Log Creating session ${GLOBAL_DCAE_CONSUL_URL} ${session}= Create Session dcae ${GLOBAL_DCAE_CONSUL_URL} ${uuid}= Generate UUID ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-Consul-Token=abcd1234 X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} @@ -64,7 +64,6 @@ DCAE Node Health Check ${len}= Get Length ${StatusList} Should Not Be Equal As Integers ${len} 0 DCAE Check Health Status ${NodeName} ${StatusList[0]} Serf Health Status - #Run Keyword if ${len} > 1 DCAE Check Health Status ${NodeName} ${StatusList[1]} Serf Health Status DCAE Check Health Status [Arguments] ${NodeName} ${ItemStatus} ${CheckType} @@ -128,50 +127,47 @@ Get DCAE Service Component Status ${resp}= Get Request dcae-service-component ${urlpath} [Return] ${resp} -Publish Event To VES Collector No Auth - [Documentation] Send an event to VES Collector - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} - Publish Event To VES Collector [Documentation] Send an event to VES Collector - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_https_session} ${evtpath} data=${evtdata} headers=${suite_headers} + [Arguments] ${session} ${evtpath} ${evtdata} + ${resp}= Post Request ${session} ${evtpath} data=${evtdata} headers=${suite_headers} [Return] ${resp} Publish Event To VES Collector With Put Method [Documentation] Send an event to VES Collector - [Arguments] ${evtpath} ${evtdata} - ${resp}= Put Request ${suite_dcae_vesc_url_https_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} - -Publish Event To VES Collector With Put Method No Auth - [Documentation] Send an event to VES Collector - [Arguments] ${evtpath} ${evtdata} - ${resp}= Put Request ${suite_dcae_vesc_url_session} ${evtpath} data=${evtdata} headers=${suite_headers} + [Arguments] ${session} ${evtpath} ${evtdata} + ${resp}= Put Request ${session} ${evtpath} data=${evtdata} headers=${suite_headers} [Return] ${resp} -Publish Event To VES Collector With Wrong Auth - [Documentation] Send an event to VES Collector by session with wrong auth - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_https_wrong_auth_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} - -Publish Event To VES Collector With Cert - [Documentation] Send an event to VES Collector by session with certs - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_https_cert_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} - -Publish Event To VES Collector With Wrong Cert - [Documentation] Send an event to VES Collector by session with wrong certs - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_https_wrong_cert_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} - -Publish Event To VES Collector Without Auth And Cert - [Documentation] Send an event to VES Collector by session without Auth and Cert - [Arguments] ${evtpath} ${evtdata} - ${resp}= Post Request ${suite_dcae_vesc_url_https_wo_auth_session} ${evtpath} data=${evtdata} headers=${suite_headers} - [Return] ${resp} +Send Request And Validate Response + [Documentation] Post singel event to passed url with passed data and validate received response + [Arguments] ${keyword} ${session} ${evtpath} ${evtjson} ${resp_code} ${msg_code}=None + ${evtdata}= Get Data From File ${evtjson} + ${resp}= Run Keyword ${keyword} ${session} ${evtpath} ${evtdata} + Log Receive HTTPS Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + ${isEmpty}= Is Json Empty ${resp} + Run Keyword If '${isEmpty}' == False Log ${resp.json()} + Run Keyword If '${msg_code}' != 'None' Check Whether Message Received ${msg_code} + +Check Whether Message Received + [Documentation] Validare if message has been received + [Arguments] ${msg_code} + ${ret}= DMaaP Message Receive ${msg_code} + Should Be Equal As Strings ${ret} true + +Send Request And Expect Error + [Documentation] Post singel event to passed url with passed data and expect error + [Arguments] ${keyword} ${session} ${evtpath} ${evtjson} ${error_type} @{error_content} + ${evtdata}= Get Data From File ${evtjson} + ${err_msg}= Run Keyword And Expect Error ${error_type} ${keyword} ${session} ${evtpath} ${evtdata} + :FOR ${content} IN @{error_content} + \ Should Contain ${err_msg} ${content} + Log Recieved error message ${err_msg} + +Run Healthcheck + [Documentation] Run Healthcheck + ${uuid}= Generate UUID + ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} + ${resp}= Get Request ${http_session} /healthcheck headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 diff --git a/tests/dcaegen2/testcases/resources/dcae_properties.robot b/tests/dcaegen2/testcases/resources/dcae_properties.robot index 7505fab4..961bb46d 100644 --- a/tests/dcaegen2/testcases/resources/dcae_properties.robot +++ b/tests/dcaegen2/testcases/resources/dcae_properties.robot @@ -4,17 +4,52 @@ Documentation store all properties that can change or are used in multipl ... make sure you prepend them with GLOBAL so that other files can easily see it is from this file. *** Variables *** -${GLOBAL_APPLICATION_ID} robot-dcaegen2 -${GLOBAL_DCAE_CONSUL_URL} http://135.205.228.129:8500 -${GLOBAL_DCAE_CONSUL_URL1} http://135.205.228.170:8500 -${GLOBAL_DCAE_VES_URL} http://localhost:8443/eventlistener/v5 -${GLOBAL_DCAE_USERNAME} console -${GLOBAL_DCAE_PASSWORD} ZjJkYjllMjljMTI2M2Iz -${VESC_HTTPS_USER} sample1 -${VESC_HTTPS_PD} sample1 -${VESC_HTTPS_WRONG_PD} sample -${VESC_HTTPS_WRONG_USER} sample -${VESC_ROOTCA_CERT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCA.crt -${VESC_ROOTCA_KEY} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCAdec.key -${VESC_WRONG_CERT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.crt -${VESC_WRONG_KEY} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.key \ No newline at end of file + +${GLOBAL_APPLICATION_ID} robot-dcaegen2 +${GLOBAL_DCAE_CONSUL_URL} http://135.205.228.129:8500 +${GLOBAL_DCAE_CONSUL_URL1} http://135.205.228.170:8500 +${GLOBAL_DCAE_VES_URL} http://localhost:8443/eventlistener/v5 +${GLOBAL_DCAE_USERNAME} console +${GLOBAL_DCAE_PASSWORD} ZjJkYjllMjljMTI2M2Iz +${VESC_HTTPS_USER} sample1 +${VESC_HTTPS_PD} sample1 +${VESC_HTTPS_WRONG_PD} sample +${VESC_HTTPS_WRONG_USER} sample +${VESC_CERT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/temporary.crt +${VESC_KEY} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/temporary.key +${VESC_WRONG_CERT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.crt +${VESC_WRONG_KEY} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.key +${VESC_OUTDATED_CERT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/outdated.crt +${VESC_OUTDATED_KEY} %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/outdated.key + +${VESC_URL_HTTPS} https://%{VESC_IP}:8443 +${VESC_URL} http://%{VESC_IP}:8080 +${VES_ANY_EVENT_PATH} /eventListener/v5 +${VES_BATCH_EVENT_PATH} /eventListener/v5/eventBatch +${VES_THROTTLE_STATE_EVENT_PATH} /eventListener/v5/clientThrottlingState +${VES_EVENTLISTENER_V7} /eventListener/v7 +${VES_BATCH_EVENT_ENDPOINT_V7} /eventListener/v7/eventBatch +${VES_VALID_JSON_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid.json +${VES_INVALID_JSON_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_invalid.json +${VES_PARAMETER_OUT_OF_SCHEMA_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json +${VES_MISSING_MANDATORY_PARAMETER_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json +${VES_EMPTY_JSON} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json +${VES_VALID_BATCH_JSON_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json +${VES_BATCH_MISSING_MANDATORY_PARAM_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json +${VES_BATCH_PARAM_OUT_OF_SCHEMA_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json +${EVENT_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json +${EVENT_MEASURE_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json +${EVENT_DATA_FILE_BAD} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json +${EVENT_BATCH_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json +${EVENT_THROTTLING_STATE_DATA_FILE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json +${EVENT_PNF_REGISTRATION} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json +${EVENT_PNF_REGISTRATION_V7} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json +${DCAE_HEALTH_CHECK_BODY} %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json + +#DCAE Health Check +${CONFIG_BINDING_URL} http://localhost:8443 +${CB_HEALTHCHECK_PATH} /healthcheck +${CB_SERVICE_COMPONENT_PATH} /service_component/ +${VES_Service_Name1} dcae-controller-ves-collector +${VES_Service_Name2} ves-collector-not-exist + diff --git a/tests/dcaegen2/testcases/resources/gen-certs.sh b/tests/dcaegen2/testcases/resources/gen-certs.sh new file mode 100755 index 00000000..f3f358f9 --- /dev/null +++ b/tests/dcaegen2/testcases/resources/gen-certs.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +WS=$1 +dir=$WS/tests/dcaegen2/testcases/assets/certs + +openssl genrsa -out "$dir/temporary.key" 2048 + +openssl req -new -key "$dir/temporary.key" -subj "/C=PL/ST=DL/O=Nokia/CN=dcaegen2" -out "$dir/temporary.csr" + +openssl x509 -req -in "$dir/temporary.csr" -CA "$dir/rootCA.crt" -CAkey "$dir/rootCA.key" -passin pass:collector -CAcreateserial -out "$dir/temporary.crt" -days 1 -sha256 diff --git a/tests/dcaegen2/testcases/resources/rm-certs.sh b/tests/dcaegen2/testcases/resources/rm-certs.sh new file mode 100755 index 00000000..827849c7 --- /dev/null +++ b/tests/dcaegen2/testcases/resources/rm-certs.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +WS=$1 +dir=$WS/tests/dcaegen2/testcases/assets/certs + +rm "$dir/temporary.crt" "$dir/temporary.csr" "$dir/temporary.key" "$dir/rootCA.srl" \ No newline at end of file diff --git a/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.json b/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.json index 810d970d..ba62a171 100644 --- a/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.json +++ b/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.json @@ -1,5 +1,5 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.controlloop.operational.Apex": { "version": "1.0.0", @@ -50,17 +50,17 @@ "default": "1.0.0" }, "id": { - "type": "int", + "type": "integer", "description": "Specifies the engine id", "required": true }, "instance_count": { - "type": "int", + "type": "integer", "description": "Specifies the number of engine threads that should be run", "required": true }, "deployment_port": { - "type": "int", + "type": "integer", "description": "Specifies the port to connect to for engine administration", "required": false, "default": 1 @@ -68,14 +68,12 @@ "policy_model_file_name": { "type": "string", "description": "The name of the file from which to read the APEX policy model", - "required": false, - "default": "" + "required": false }, "policy_type_impl": { "type": "string", "description": "The policy type implementation from which to read the APEX policy model", - "required": false, - "default": "" + "required": false }, "periodic_event_period": { "type": "string", @@ -119,7 +117,7 @@ "required": false }, "synchronous_mode": { - "type": "bool", + "type": "boolean", "description": "Specifies the event handler is syncronous (receive event and send response)", "required": false, "default": false @@ -127,17 +125,15 @@ "synchronous_peer": { "type": "string", "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode", - "required": false, - "default": "" + "required": false }, "synchronous_timeout": { - "type": "int", + "type": "integer", "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode", - "required": false, - "default": "" + "required": false }, "requestor_mode": { - "type": "bool", + "type": "boolean", "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)", "required": false, "default": false @@ -145,14 +141,12 @@ "requestor_peer": { "type": "string", "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode", - "required": false, - "default": "" + "required": false }, "requestor_timeout": { - "type": "int", + "type": "integer", "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode", - "required": false, - "default": "" + "required": false } } }, @@ -186,7 +180,7 @@ } } }, - "onap.datatypes.policies.controlloop.operational.apex.Environmental": { + "onap.datatypes.policies.controlloop.operational.apex.Environment": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { @@ -237,7 +231,7 @@ } }, "locking": { - "type": "onap.datatypes.policies.controlloop.operational.apex.plugin", + "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin", "description": "The plugin to be used for locking context in and between APEX PDPs at runtime", "required": false }, @@ -263,4 +257,4 @@ } } } -} \ No newline at end of file +} diff --git a/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.tosca.json b/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.tosca.json index 0a87dd90..07118ac3 100644 --- a/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.tosca.json +++ b/tests/policy/apex-pdp/data/onap.policies.controlloop.operational.Apex.tosca.json @@ -1,6747 +1,7432 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "operational.sampledomain": { "type": "onap.policies.controlloop.operational.Apex", "type_version": "1.0.0", - "derived_from": "tosca.policies.Root", "name": "onap.policies.controlloop.Operational.apex.sampledomain", "version": "1.0.0", "properties": { - "content": { - "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" + "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" }, - "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\"" - } - } ] + "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\"" } - }, - "policies" : { - "key" : { - "name" : "Policies", - "version" : "0.0.1" + }, + { + "key": { + "name": "Event0000", + "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\nvar returnValue = executor.isTrue;" - }, - "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" - } - } - } ] + "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" } - } - }, { - "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\nvar returnValue = executor.isTrue;" - }, - "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" - } - } - } ] + } + } + ] + }, + "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" : "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\nvar returnValue = executor.isTrue;" - }, - "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": { + "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" : "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\nvar returnValue = executor.isTrue;" - }, - "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" - } - } - } ] + } + }, + { + "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" } - } - } ] - }, - "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\nvar returnValue = executor.isTrue;" - }, - "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": { + "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" : "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\nvar returnValue = executor.isTrue;" - }, - "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": "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" } - } - }, { - "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\nvar returnValue = executor.isTrue;" - }, - "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" - } - } - } ] + } + } + ] + }, + "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" : "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\nvar returnValue = executor.isTrue;" - }, - "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" - } - } - } ] + } + }, + { + "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" } - } - } ] - }, - "firstState" : "Match" + } + }, + { + "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" } - }, - "tasks" : { - "key" : { - "name" : "Tasks", - "version" : "0.0.1" + }, + { + "key": { + "name": "Policy1", + "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + "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" + } + } + } + ] + } + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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" + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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" + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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" + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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" + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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 + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "taskParameters": { + "entry": [ + { + "key": "Parameter0", + "value": { + "key": { + "parentKeyName": "Task_Decide2", + "parentKeyVersion": "0.0.1", + "parentLocalName": "NULL", + "localName": "Parameter0" + }, + "defaultValue": "DefaultValue0" + } } - }, { - "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.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } + ] + }, + "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;" + } } - }, - "events" : { - "key" : { - "name" : "Events", - "version" : "0.0.1" + }, + { + "key": { + "name": "Task_Establish0", + "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 - } - } ] - } + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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" + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "taskParameters": { + "entry": [ + { + "key": "Parameter0", + "value": { + "key": { + "parentKeyName": "Task_Establish2", + "parentKeyVersion": "0.0.1", + "parentLocalName": "NULL", + "localName": "Parameter0" + }, + "defaultValue": "DefaultValue0" + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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 + } } - }, { - "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 - } - } ] - } + ] + }, + "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;" + } } - }, - "albums" : { - "key" : { - "name" : "Context", - "version" : "0.0.1" + }, + { + "key": { + "name": "Task_Match0", + "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" - } + "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 + } } - }, { - "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" - } + ] + }, + "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 + } } - }, { - "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" - } + ] + }, + "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;" + } } - }, - "schemas" : { - "key" : { - "name" : "TestDatatypes", - "version" : "0.0.1" + }, + { + "key": { + "name": "Task_Match1", + "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" + "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 + } } - }, { - "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" + ] + }, + "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 + } } - }, { - "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" + ] + }, + "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" + } } - }, { - "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" + ] + }, + "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 + } } - }, { - "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" + ] + }, + "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 + } } - }, { - "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" + ] + }, + "taskParameters": { + "entry": [ + { + "key": "Parameter0", + "value": { + "key": { + "parentKeyName": "Task_Match2", + "parentKeyVersion": "0.0.1", + "parentLocalName": "NULL", + "localName": "Parameter0" + }, + "defaultValue": "DefaultValue0" + } } - }, { - "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" + ] + }, + "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 + } } - }, { - "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" + ] + }, + "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 + } } - }, { - "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" + ] + }, + "taskParameters": { + "entry": [ + { + "key": "Parameter0", + "value": { + "key": { + "parentKeyName": "Task_Match3", + "parentKeyVersion": "0.0.1", + "parentLocalName": "NULL", + "localName": "Parameter0" + }, + "defaultValue": "DefaultValue0" + } } - }, { - "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" + ] + }, + "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" : "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": "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" : "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": "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" : "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": "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" : "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": "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" : "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": "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" : "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": "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" : "TestSlogan", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "TestSlogan", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.String" + ] + } + } + }, + { + "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" : "TestTemperature", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "TestTemperature", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Double" + ] + } + } + }, + { + "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" : "TestTimestamp", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "TestTimestamp", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" + ] + } + } + }, + { + "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 + } } - } ] + ] + } } - } - } - }, - "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" + "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" + } + } + } + ] + } }, - "synchronousMode": true, - "synchronousPeer": "FirstProducer", - "synchronousTimeout": 2000 + "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" + } + } + ] + } + } } }, - "eventOutputParameters": { - "FirstProducer": { - "carrierTechnologyParameters": { - "carrierTechnology": "RESTSERVER", - "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RestServerCarrierTechnologyParameters" - }, - "eventProtocolParameters": { - "eventProtocol": "JSON" - }, - "synchronousMode": true, - "synchronousPeer": "FirstConsumer", - "synchronousTimeout": 2000 + "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/api/api-test.robot b/tests/policy/api/api-test.robot index 7f108d01..76c1bdc6 100644 --- a/tests/policy/api/api-test.robot +++ b/tests/policy/api/api-test.robot @@ -7,7 +7,7 @@ Library json *** Test Cases *** Healthcheck [Documentation] Runs Policy Api Health check - ${auth}= Create List healthcheck zb!XztG34 + ${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 @@ -18,7 +18,7 @@ Healthcheck Statistics [Documentation] Runs Policy Api Statistics - ${auth}= Create List healthcheck zb!XztG34 + ${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 @@ -29,7 +29,7 @@ Statistics RetrievePolicyTypes [Documentation] Gets Policy Types - ${auth}= Create List healthcheck zb!XztG34 + ${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 @@ -38,10 +38,21 @@ RetrievePolicyTypes Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.json()['version']} 1.0.0 -CreateTCAPolicyType - [Documentation] Create TCA Policy Type - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json +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.cdap.tca.hi.lo.app.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.cdap.tca.hi.lo.app.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 @@ -49,12 +60,12 @@ CreateTCAPolicyType 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 + 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 + ${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 @@ -64,10 +75,10 @@ RetrieveMonitoringPolicyTypes List Should Contain Value ${resp.json()['policy_types']} onap.policies.Monitoring -CreateNewMonitoringPolicy - [Documentation] Create a new Monitoring TCA policy - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json +CreateNewMonitoringPolicyV1 + [Documentation] Create a new Monitoring TCA policy version 1 + ${auth}= Create List healthcheck zb!XztG34 + ${postjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.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 @@ -78,10 +89,21 @@ CreateNewMonitoringPolicy 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 -SimpleCreateNewMonitoringPolicy - [Documentation] Create a new Monitoring TCA policiy using simple endpoint - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json +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 ${CURDIR}/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 ${CURDIR}/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 @@ -95,7 +117,7 @@ SimpleCreateNewMonitoringPolicy RetrievePoliciesOfType [Documentation] Retrieve all Policies Created for a specific Policy Type ${auth}= Create List healthcheck zb!XztG34 - ${expjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json + ${expjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.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 @@ -106,8 +128,8 @@ RetrievePoliciesOfType 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 Policy of a Type +DeleteSpecificPolicyV1 + [Documentation] Delete the Monitoring Policy Version 1 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} @@ -117,3 +139,39 @@ DeleteSpecificPolicy Should Be Equal As Strings ${resp.status_code} 200 ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app/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.cdap.tca.hi.lo.app.json b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v1.json similarity index 97% rename from tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json rename to tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v1.json index f06247d7..15c20458 100644 --- a/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json +++ b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v1.json @@ -1,8 +1,9 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_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.cdap.tca.hi.lo.app": { @@ -10,11 +11,8 @@ "version": "1.0.0", "properties": { "tca_policy": { - "type": "map", - "description": "TCA Policy JSON", - "entry_schema": { - "type": "onap.datatypes.monitoring.tca_policy" - } + "type": "onap.datatypes.monitoring.tca_policy", + "description": "TCA Policy JSON" } } } @@ -210,4 +208,4 @@ } } } -} \ No newline at end of file +} diff --git a/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json new file mode 100644 index 00000000..a7a801a8 --- /dev/null +++ b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json @@ -0,0 +1,206 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "policy_types": { + "onap.policies.monitoring.cdap.tca.hi.lo.app": { + "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/api/data/vCPE.policy.monitoring.input.tosca.json b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1.json similarity index 96% rename from tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json rename to tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1.json index a8ffe520..1079c7c1 100644 --- a/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json +++ b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1.json @@ -1,12 +1,12 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "onap.restart.tca": { "type": "onap.policies.monitoring.cdap.tca.hi.lo.app", "version": "1.0.0", - "type_version": "1.0.0", + "type_version": "1.0.0", "metadata": { "policy-id": "onap.restart.tca" }, diff --git a/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1_2.json b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1_2.json new file mode 100644 index 00000000..35ad3c54 --- /dev/null +++ b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1_2.json @@ -0,0 +1,52 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "onap.restart.tca": { + "type": "onap.policies.monitoring.cdap.tca.hi.lo.app", + "version": "1.0.0", + "type_version": "1.0.0", + "description": "monitoring policy", + "metadata": { + "policy-id": "onap.restart.tca" + }, + "properties": { + "tca_policy" : { + "domain": "measurementsForVfScaling", + "metricsPerEventName": [ + { + "eventName": "Measurement_vGMUX", + "controlLoopSchemaType": "VNF", + "policyScope": "DCAE", + "policyName": "DCAE.Config_tca-hi-lo", + "policyVersion": "v0.0.1", + "thresholds": [ + { + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", + "thresholdValue": 0, + "direction": "EQUAL", + "severity": "MAJOR", + "closedLoopEventStatus": "ABATED" + }, + { + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", + "thresholdValue": 0, + "direction": "GREATER", + "severity": "CRITICAL", + "closedLoopEventStatus": "ONSET" + } + ] + } + ] + } + } + } + } + ] + } +} diff --git a/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json new file mode 100644 index 00000000..c6b2ad2d --- /dev/null +++ b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json @@ -0,0 +1,51 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "onap.restart.tca": { + "type": "onap.policies.monitoring.cdap.tca.hi.lo.app", + "version": "2.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "onap.restart.tca" + }, + "properties": { + "tca_policy" : { + "domain": "measurementsForVfScaling", + "metricsPerEventName": [ + { + "eventName": "Measurement_vGMUX", + "controlLoopSchemaType": "VNF", + "policyScope": "DCAE", + "policyName": "DCAE.Config_tca-hi-lo", + "policyVersion": "v0.0.1", + "thresholds": [ + { + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", + "thresholdValue": 0, + "direction": "EQUAL", + "severity": "MAJOR", + "closedLoopEventStatus": "ABATED" + }, + { + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", + "thresholdValue": 0, + "direction": "GREATER", + "severity": "CRITICAL", + "closedLoopEventStatus": "ONSET" + } + ] + } + ] + } + } + } + } + ] + } +} diff --git a/tests/policy/drools-applications/drools-applications-test.robot b/tests/policy/drools-applications/drools-applications-test.robot index cf4d3cea..0a41a6c5 100644 --- a/tests/policy/drools-applications/drools-applications-test.robot +++ b/tests/policy/drools-applications/drools-applications-test.robot @@ -15,3 +15,37 @@ Alive 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://${POLICY_DROOLS_IP}:6969/healthcheck + ${session}= Create Session policy https://${POLICY_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 + +Frankfurt + [Documentation] Checks frankfurt controller is up + ${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/controllers/frankfurt/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()['frankfurt']} 0 + +Usecases + [Documentation] Checks usecases controller is up + ${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/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 + diff --git a/tests/policy/drools-pdp/drools-pdp-test.robot b/tests/policy/drools-pdp/drools-pdp-test.robot index fdb46a92..cf4d3cea 100644 --- a/tests/policy/drools-pdp/drools-pdp-test.robot +++ b/tests/policy/drools-pdp/drools-pdp-test.robot @@ -8,8 +8,8 @@ Library json Alive [Documentation] Runs Policy PDP Alive Check ${auth}= Create List demo@people.osaaf.org demo123456! - Log Creating session https://${POLICY_IP}:9696 - ${session}= Create Session policy https://${POLICY_IP}:9696 auth=${auth} + 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} diff --git a/tests/policy/engine/Policy-CSIT.robot b/tests/policy/engine/Policy-CSIT.robot deleted file mode 100644 index e55ccac8..00000000 --- a/tests/policy/engine/Policy-CSIT.robot +++ /dev/null @@ -1,425 +0,0 @@ -*** Settings *** -Documentation Policy ONAP CSIT Test cases -Library String -Library HttpLibrary.HTTP -LIbrary Process -Library BuiltIn -Library ONAPLibrary.Templating -Resource policy_interface.robot - -*** Variables *** -${RESOURCE_PATH_CREATE} /pdp/api/createPolicy -${RESOURCE_PATH_CREATE_PUSH} /pdp/api/pushPolicy -${RESOURCE_PATH_CREATE_DELETE} /pdp/api/deletePolicy -${RESOURCE_PATH_GET_CONFIG} /pdp/api/getConfig -${RESOURCE_PATH_LISTPOLICY} /pdp/api/listPolicy -${CREATE_CONFIG_VFW_TEMPLATE} configpolicy_vFW_R1.jinja -${CREATE_CONFIG_VDNS_TEMPLATE} configpolicy_vDNS_R1.jinja -${CREATE_CONFIG_VCPE_TEMPLATE} configpolicy_vCPE_R1.jinja -${CREATE_OPS_VFW_TEMPLATE} opspolicy_VFW_R1.jinja -${CREATE_OOF_HPA_TEMPLATE} oofpolicy_HPA_R1.jinja -${CREATE_SDNC_VFW_TEMPLATE} sdncnamingpolicy_vFW.jinja -${CREATE_SDNC_VPG_TEMPLATE} sdncnamingpolicy_vPG.jinja -${PUSH_POLICY_TEMPLATE} pushpolicy.jinja -${MULTIPLE_PUSH_POLICY_TEMPLATE} multiple_pushpolicy.jinja -${MULTIPLE_UNPUSH_POLICY_TEMPLATE} multiple_unpushpolicy.jinja -${CREATE_OPS_VDNS_TEMPLATE} opspolicy_VDNS_R1.jinja -${DEL_POLICY_TEMPLATE} deletepolicy.jinja -${GETCONFIG_TEMPLATE} getconfigpolicy.jinja -${GETOOF_TEMPLATE} getoofpolicy.jinja -${LISTPOLICY_TEMPLATE} listpolicy.jinja -${CONFIG_POLICY_VFW_NAME} vFirewall -${CONFIG_POLICY_VFW_TYPE} MicroService -${CONFIG_POLICY_VDNS_NAME} vLoadBalancer -${CONFIG_POLICY_VDNS_TYPE} MicroService -${OPS_POLICY_VFW_NAME} vFirewall -${OPS_POLICY_VFW_TYPE} BRMS_PARAM -${OPS_POLICY_VDNS_NAME} vLoadBalancer -${OPS_POLICY_VDNS_TYPE} BRMS_PARAM -${CONFIG_POLICY_VCPE_NAME} vCPE -${CONFIG_POLICY_VCPE_TYPE} MicroService -${OPS_POLICY_VCPE_NAME} vCPE -${OPS_POLICY_VCPE_TYPE} BRMS_PARAM -${OPS_POLICY_VOLTE_NAME} VoLTE -${OPS_POLICY_VOLTE_TYPE} BRMS_PARAM -${OOF_POLICY_HPA_NAME} HPA -${OOF_POLICY_HPA_TYPE} Optimization -${SDNC_POLICY_VFW_NAME} ONAP_vFW_Naming -${SDNC_POLICY_VPG_NAME} ONAP_vPG_Naming -${MULTIPLE_PUSH_POLICY_NAME1} com.testBase1 -${MULTIPLE_PUSH_POLICY_NAME2} com.testBase2 -${MULTIPLE_PUSH_POLICY_NAME3} com.testBase3 -${file_path} ../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl -${RESOURCE_PATH_UPLOAD} /pdp/api/policyEngineImport?importParametersJson=%7B%22serviceName%22%3A%22Manyu456%22%2C%20%22serviceType%22%3A%22BRMSPARAM%22%7D -${CREATE_OPS_VCPE_TEMPLATE} opspolicy_vCPE_R1.jinja -${CREATE_OPS_VOLTE_TEMPLATE} opspolicy_vOLTE_R1.jinja - - -*** Test Cases *** -Policy Health check - Run Policy Health Check - -VFW Config Policy - ${CONFIG_POLICY_VFW_NAME}= Create Config VFW Policy - Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} - #VFW Policy Tests - -VDNS Config Policy - ${CONFIG_POLICY_VDNS_NAME}= Create Config VDNS Policy - Push Config Policy ${CONFIG_POLICY_VDNS_NAME} ${CONFIG_POLICY_VDNS_TYPE} - #VDNS Policy Tests - -VCPE Config Policy - ${CONFIG_POLICY_VCPE_NAME}= Create Config VCPE Policy - Push Config Policy ${CONFIG_POLICY_VCPE_NAME} ${CONFIG_POLICY_VCPE_TYPE} - #VCPE Policy Tests - -VFW Ops Policy - ${OPS_POLICY_VFW_NAME}= Create Ops VFW Policy - Push Ops Policy ${OPS_POLICY_VFW_NAME} ${OPS_POLICY_VFW_TYPE} - -VDNS Ops Policy - ${OPS_POLICY_VDNS_NAME}= Create Ops VDNS Policy - Push Ops Policy ${OPS_POLICY_VDNS_NAME} ${OPS_POLICY_VDNS_TYPE} - -VCPE Ops Policy - ${OPS_POLICY_VCPE_NAME}= Create Ops VCPE Policy - Push Ops Policy ${OPS_POLICY_VCPE_NAME} ${OPS_POLICY_VCPE_TYPE} - -VOLTE Ops Policy - ${OPS_POLICY_VOLTE_NAME}= Create Ops VOLTE Policy - Push Ops Policy ${OPS_POLICY_VOLTE_NAME} ${OPS_POLICY_VOLTE_TYPE} - #VOLTE Policy Tests - -VFW SDNC Naming Policy - ${SDNC_POLICY_VFW_NAME}= Create VFW SDNC Naming Policy - Push Config Policy ${SDNC_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} - #VFW Policy Tests - -VPG SDNC Naming Policy - ${SDNC_POLICY_VPG_NAME}= Create VPG SDNC Naming Policy - Push Config Policy ${SDNC_POLICY_VPG_NAME} ${CONFIG_POLICY_VFW_TYPE} - #VPG Policy Tests - -HPA OOF Policy - ${OOF_POLICY_HPA_NAME}= Create OOF HPA Policy - Push Config Policy ${OOF_POLICY_HPA_NAME} ${OOF_POLICY_HPA_TYPE} - #HPA Policy Tests - -VFW Get Configs Policy - Sleep 5s - Get Configs VFW Policy - -VDNS Get Configs Policy - Sleep 5s - Get Configs VDNS Policy - -VCPE Get Configs Policy - Sleep 5s - Get Configs VCPE Policy - -HPA Get OOF Policy - Sleep 5s - Get OOF HPA Policy - -ListPolicy - ListPolicy test com.Config_Sample.1.xml - -Multiple Push Policy - ${MULTIPLE_PUSH_POLICY_NAME1}= Create Ops VDNS Policy - ${MULTIPLE_PUSH_POLICY_NAME2}= Create Ops VDNS Policy - ${MULTIPLE_PUSH_POLICY_NAME3}= Create Ops VDNS Policy - Push Multiple Policy test ${MULTIPLE_PUSH_POLICY_NAME1} ${MULTIPLE_PUSH_POLICY_NAME2} ${MULTIPLE_PUSH_POLICY_NAME3} ${OPS_POLICY_VDNS_TYPE} - Sleep 5s - Delete Multiple Policy test ${MULTIPLE_PUSH_POLICY_NAME1} ${MULTIPLE_PUSH_POLICY_NAME2} ${MULTIPLE_PUSH_POLICY_NAME3} ${OPS_POLICY_VDNS_TYPE} - -*** Keywords *** - -VFW Policy Tests - ${CONFIG_POLICY_VFW_NAME}= Create Config VFW Policy - Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} - Get Configs VFW Policy - ${OPS_POLICY_VFW_NAME}= Create Ops VFW Policy - Push Ops Policy ${OPS_POLICY_VFW_NAME} ${OPS_POLICY_VFW_TYPE} - ${SDNC_POLICY_VFW_NAME}= Create VFW SDNC Naming Policy - Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} - -VDNS Policy Tests - ${CONFIG_POLICY_VDNS_NAME}= Create Config VDNS Policy - Push Config Policy ${CONFIG_POLICY_VDNS_NAME} ${CONFIG_POLICY_VDNS_TYPE} - Get Configs VDNS Policy - ${OPS_POLICY_VDNS_NAME}= Create Ops VDNS Policy - Push Ops Policy ${OPS_POLICY_VDNS_NAME} ${OPS_POLICY_VDNS_TYPE} - -VCPE Policy Tests - ${CONFIG_POLICY_VCPE_NAME}= Create Config VCPE Policy - Push Config Policy ${CONFIG_POLICY_VCPE_NAME} ${CONFIG_POLICY_VCPE_TYPE} - Get Configs VCPE Policy - ${OPS_POLICY_VCPE_NAME}= Create Ops VCPE Policy - Push Ops Policy ${OPS_POLICY_VCPE_NAME} ${OPS_POLICY_VCPE_TYPE} - -VPG Policy Tests - ${SDNC_POLICY_VPG_NAME}= Create VPG SDNC Naming Policy - Push Config Policy ${SDNC_POLICY_VPG_NAME} ${CONFIG_POLICY_VFW_TYPE} - -VOLTE Policy Tests - ${OPS_POLICY_VOLTE_NAME}= Create Ops VOLTE Policy - Push Ops Policy ${OPS_POLICY_VOLTE_NAME} ${OPS_POLICY_VOLTE_TYPE} - -HPA Policy Tests - ${OOF_POLICY_HPA_NAME}= Create OOF HPA Policy - Push Config Policy ${OOF_POLICY_HPA_NAME} ${OOF_POLICY_HPA_TYPE} - Get OOF HPA Policy - -Get Configs VFW Policy - [Documentation] Get Config Policy for VFW - Create Environment policy ${CURDIR} - ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VFW_NAME}* - ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy} - ${output} = Apply Template policy ${GETCONFIG_TEMPLATE} ${configpolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - -Create OOF HPA Policy - [Documentation] Create OOF Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_HPA - ${OOF_POLICY_HPA_NAME}= Set Test Variable ${policyname1} - ${hpapolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_OOF_HPA_TEMPLATE} ${hpapolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Get OOF HPA Policy - [Documentation] Get OOF Policy for HPA - Create Environment policy ${CURDIR} - ${gethpapolicy}= Catenate .*${OOF_POLICY_HPA_NAME}* - ${hpapolicy_name}= Create Dictionary oof_policy_name=${gethpapolicy} - ${output} = Apply Template policy ${GETOOF_TEMPLATE} ${hpapolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - -Create Config VFW Policy - [Documentation] Create Config Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vFirewall - ${CONFIG_POLICY_VFW_NAME}= Set Test Variable ${policyname1} - ${configpolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_CONFIG_VFW_TEMPLATE} ${configpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create VPG SDNC Naming Policy - [Documentation] Create VPG SDNC Naming Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_ONAP_vPG_Naming - ${SDNC_POLICY_VPG_NAME}= Set Test Variable ${policyname1} - ${sdncpolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_SDNC_VPG_TEMPLATE} ${sdncpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create VFW SDNC Naming Policy - [Documentation] Create VFW SDNC Naming Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_ONAP_vFW_Naming - ${SDNC_POLICY_VFW_NAME}= Set Test Variable ${policyname1} - ${sdncpolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_SDNC_VFW_TEMPLATE} ${sdncpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create Policy Name - [Documentation] Generate Policy Name - [Arguments] ${prefix}=CSIT_ - ${random}= Generate Random String 15 [LOWER][NUMBERS] - ${policyname}= Catenate ${prefix}${random} - [Return] ${policyname} - -Create Ops VFW Policy - [Documentation] Create Operational Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vFirewall - ${OPS_POLICY_VFW_NAME}= Set Test Variable ${policyname1} - ${dict}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_OPS_VFW_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Push Ops Policy - [Documentation] Push Ops Policy - [Arguments] ${policyname} ${policytype} - Create Environment policy ${CURDIR} - ${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype} - ${output} = Apply Template policy ${PUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Push Config Policy - [Documentation] Push Config Policy - [Arguments] ${policyname} ${policytype} - Create Environment policy ${CURDIR} - ${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype} - ${output} = Apply Template policy ${PUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Delete Ops Policy - [Documentation] Delete Config Policy - [Arguments] ${policy_name} - Create Environment policy ${CURDIR} - ${policyname3}= Catenate com.Config_BRMS_Param_${policyname}.1.xml - ${dict}= Create Dictionary policy_name=${policyname3} - ${output} = Apply Template policy ${DEL_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Delete Config Policy - [Documentation] Delete Ops Policy - [Arguments] ${policy_name} - Create Environment policy ${CURDIR} - ${policyname3}= Catenate com.Config_MS_com.${policy_name}.1.xml - ${dict}= Create Dictionary policy_name=${policyname3} - ${output} = Apply Template policy ${DEL_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Delete OOF Policy - [Documentation] Delete OOF Policy - [Arguments] ${policy_name} - Create Environment policy ${CURDIR} - ${policyname3}= Catenate com.Config_OOF_${policy_name}.1.xml - ${dict}= Create Dictionary policy_name=${policyname3} - ${output} = Apply Template policy ${DEL_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Get Configs VDNS Policy - [Documentation] Get Config Policy for VDNS - Create Environment policy ${CURDIR} - ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VDNS_NAME}* - ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy} - ${output} = Apply Template policy ${GETCONFIG_TEMPLATE} ${configpolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - -Create Config VDNS Policy - [Documentation] Create Config Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vLoadBalancer - ${CONFIG_POLICY_VDNS_NAME}= Set Test Variable ${policyname1} - ${configpolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_CONFIG_VDNS_TEMPLATE} ${configpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create Ops VDNS Policy - [Documentation] Create Operational Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vLoadBalancer - ${OPS_POLICY_VDNS_NAME}= Set Test Variable ${policyname1} - ${dict}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_OPS_VDNS_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create Config VCPE Policy - [Documentation] Create Config Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vCPE - ${CONFIG_POLICY_VCPE_NAME}= Set Test Variable ${policyname1} - ${configpolicy}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_CONFIG_VCPE_TEMPLATE} ${configpolicy} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Get Configs VCPE Policy - [Documentation] Get Config Policy for VCPE - Create Environment policy ${CURDIR} - ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VCPE_NAME}* - ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy} - ${output} = Apply Template policy ${GETCONFIG_TEMPLATE} ${configpolicy_name} - ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} - Should Be Equal As Strings ${get_resp.status_code} 200 - -Create Ops vCPE Policy - [Documentation] Create Operational Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_vCPE - ${OPS_POLICY_VCPE_NAME}= Set Test Variable ${policyname1} - ${dict}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_OPS_VCPE_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Create Ops VolTE Policy - [Documentation] Create Operational Policy - Create Environment policy ${CURDIR} - ${randompolicyname} = Create Policy Name - ${policyname1}= Catenate com.${randompolicyname}_VoLTE - ${dict}= Create Dictionary policy_name=${policyname1} - ${output} = Apply Template policy ${CREATE_OPS_VOLTE_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} - Log ${put_resp} - Should Be Equal As Strings ${put_resp.status_code} 200 - [Return] ${policyname1} - -Upload DRL file - [Documentation] Upload DRL file1 - ${file_data}= Get Binary File ${file_path} - ${files}= Create Dictionary file=${file_data} - #${CONFIG_POLICY_VDNS_NAME}= Set Test Variable ${policyname1} - # ${files2} = {'file': open('../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl', 'rb')} - # ${files}= Create Dictionary file ${file_data} - ${put_resp} = Run Policy Post form Request ${RESOURCE_PATH_UPLOAD} ${files} - Should Be Equal As Strings ${put_resp.status_code} 200 - -ListPolicy test - [Documentation] Listing Config Policies - [Arguments] ${policy_name} - Create Environment policy ${CURDIR} - ${dict}= Create Dictionary policy_name=${policy_name} - ${output} = Apply Template policy ${LISTPOLICY_TEMPLATE} ${dict} - ${put_resp} = policy_interface.Run Policy Post Request ${RESOURCE_PATH_LISTPOLICY} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Push Multiple Policy test - [Documentation] Push Multiple Policy - [Arguments] ${policyname1} ${policyname2} ${policyname3} ${policytype} - Create Environment policy ${CURDIR} - ${dict}= Create Dictionary policy_name1=${policyname1} policy_name2=${policyname2} policy_name3=${policyname3} policy_type=${policytype} - ${output} = Apply Template policy ${MULTIPLE_PUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - -Delete Multiple Policy test - [Documentation] Delete Multiple Policy - [Arguments] ${policyname1} ${policyname2} ${policyname3} ${policytype} - Create Environment policy ${CURDIR} - ${dict}= Create Dictionary policy_name1=${policyname1} policy_name2=${policyname2} policy_name3=${policyname3} policy_type=${policytype} - ${output} = Apply Template policy ${MULTIPLE_UNPUSH_POLICY_TEMPLATE} ${dict} - ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} - Should Be Equal As Strings ${put_resp.status_code} 200 - diff --git a/tests/policy/engine/__init__.robot b/tests/policy/engine/__init__.robot deleted file mode 100644 index c7970e6a..00000000 --- a/tests/policy/engine/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation Policy - Suite 1 diff --git a/tests/policy/engine/configpolicy_vCPE_R1.jinja b/tests/policy/engine/configpolicy_vCPE_R1.jinja deleted file mode 100644 index 6bcd74fe..00000000 --- a/tests/policy/engine/configpolicy_vCPE_R1.jinja +++ /dev/null @@ -1,7 +0,0 @@ -{ - "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"policyVersion\": \"v0.0.1\", \"threshholds\": [{ \"severity\": \"MAJOR\", \"fieldPath\": \"$$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": \"0\", \"closedLoopEventStatus\": \"ABATED\", \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"direction\": \"EQUAL\" }, { \"severity\": \"CRITICAL\", \"fieldPath\": \"$$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": \"0\", \"closedLoopEventStatus\": \"ONSET\", \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"direction\": \"GREATER\" }], \"policyName\": \"DCAE.Config_tca-hi-lo\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"eventName\": \"Measurement_vGMUX\" } }", - "policyConfigType": "MicroService", - "policyName": "{{policy_name}}", - "onapName": "DCAE", - "priority": "5" -} diff --git a/tests/policy/engine/configpolicy_vDNS_R1.jinja b/tests/policy/engine/configpolicy_vDNS_R1.jinja deleted file mode 100644 index a2c3eeb9..00000000 --- a/tests/policy/engine/configpolicy_vDNS_R1.jinja +++ /dev/null @@ -1,7 +0,0 @@ -{ - "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevDNS\", \"description\": \"MicroService vDNS Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"policyVersion\": \"v0.0.1\", \"threshholds\": [{ \"severity\": \"CRITICAL\", \"fieldPath\": \"$$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": \"300\", \"closedLoopEventStatus\": \"ONSET\", \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"version\": \"1.0.2\", \"direction\": \"GREATER_OR_EQUAL\" }], \"policyName\": \"DCAE.Config_tca-hi-lo\", \"controlLoopSchemaType\": \"VM\", \"policyScope\": \"DCAE\", \"eventName\": \"vLoadBalancer\" } }", - "policyConfigType": "MicroService", - "policyName": "{{policy_name}}", - "onapName": "DCAE", - "priority": "5" -} diff --git a/tests/policy/engine/configpolicy_vFW_R1.jinja b/tests/policy/engine/configpolicy_vFW_R1.jinja deleted file mode 100644 index b843a0b0..00000000 --- a/tests/policy/engine/configpolicy_vFW_R1.jinja +++ /dev/null @@ -1,7 +0,0 @@ -{ - "configBody": "{\"service\": \"tca_policy\",\"location\": \"SampleServiceLocation\",\"uuid\": \"test\",\"policyName\": \"MicroServicevFirewall\",\"description\": \"MicroService vFirewall Policy\",\"configName\": \"SampleConfigName\",\"templateVersion\": \"OpenSource.version.1\",\"version\": \"1.1.0\",\"priority\": \"1\",\"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"riskType\": \"SampleRiskType\",\"riskLevel\": \"1\",\"guard\": \"False\",\"content\": {\"policyVersion\": \"v0.0.1\",\"threshholds\": [{\"severity\": \"MAJOR\",\"fieldPath\": \"$$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\": \"300\",\"closedLoopEventStatus\": \"ONSET\",\"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\": \"1.0.2\",\"direction\": \"LESS_OR_EQUAL\"}, {\"severity\": \"CRITICAL\",\"fieldPath\": \"$$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\",\"thresholdValue\": \"700\",\"closedLoopEventStatus\": \"ONSET\",\"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\": \"1.0.2\",\"direction\": \"GREATER_OR_EQUAL\"}],\"policyName\": \"DCAE.Config_tca-hi-lo\",\"controlLoopSchemaType\": \"VNF\",\"policyScope\": \"DCAE\",\"eventName\": \"vFirewallBroadcastPackets\"}}", - "policyConfigType": "MicroService", - "policyName": "{{policy_name}}", - "onapName": "DCAE", - "priority": "5" -} diff --git a/tests/policy/engine/createpolicy.jinja b/tests/policy/engine/createpolicy.jinja deleted file mode 100644 index bbb1f1ad..00000000 --- a/tests/policy/engine/createpolicy.jinja +++ /dev/null @@ -1,21 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "{{policy_name}}", - "policyDescription": "Create BRMS Param policy", - "attributes": { - "RULE": { - "templateName": "ClosedLoopDemo_closedLoopControlName", - "aaiNamedQueryUUID": "2", - "aaiPassword": "2", - "aaiPatternMatch": "2", - "aaiURL": "2", - "actor": "2", - "appcTopic": "2", - "closedLoopControlName": "2", - "msoPassword": "2", - "msoURL": "2", - "msoUsername": "2", - "aaiUsername": "3" - } - } -} diff --git a/tests/policy/engine/deletepolicy.jinja b/tests/policy/engine/deletepolicy.jinja deleted file mode 100644 index 73c5badf..00000000 --- a/tests/policy/engine/deletepolicy.jinja +++ /dev/null @@ -1,5 +0,0 @@ -{ - "pdpGroup": "default", - "policyComponent": "PDP", - "policyName": "{{policy_name}}" -} diff --git a/tests/policy/engine/getconfigpolicy.jinja b/tests/policy/engine/getconfigpolicy.jinja deleted file mode 100644 index 11e8cae6..00000000 --- a/tests/policy/engine/getconfigpolicy.jinja +++ /dev/null @@ -1,8 +0,0 @@ -{ - "configAttributes" : { - }, - "configName" : ".*", - "ecompName" : "DCAE", - "policyName" : "{{config_policy_name}}", - "unique" : false -} \ No newline at end of file diff --git a/tests/policy/engine/getoofpolicy.jinja b/tests/policy/engine/getoofpolicy.jinja deleted file mode 100644 index 3c7dd755..00000000 --- a/tests/policy/engine/getoofpolicy.jinja +++ /dev/null @@ -1,6 +0,0 @@ -{ - "configAttributes" : { - }, - "policyName" : "{{oof_policy_name}}", - "unique" : false -} diff --git a/tests/policy/engine/global_properties.robot b/tests/policy/engine/global_properties.robot deleted file mode 100644 index e0c816ea..00000000 --- a/tests/policy/engine/global_properties.robot +++ /dev/null @@ -1,30 +0,0 @@ -*** Settings *** -Documentation store all properties that can change or are used in multiple places here -... format is all caps with underscores between words and prepended with GLOBAL -... make sure you prepend them with GLOBAL so that other files can easily see it is from this file. - - -*** Variables *** -${GLOBAL_APPLICATION_ID} robot-ete -${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/ -${GLOBAL_SELENIUM_BROWSER} chrome -${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary -${GLOBAL_SELENIUM_DELAY} 0 -${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 -${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 15 -${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration -${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume -${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute -${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} network -${GLOBAL_OPENSTACK_GLANCE_SERVICE_TYPE} image -${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} identity -${GLOBAL_AAI_CLOUD_OWNER} Rackspace -${GLOBAL_BUILD_NUMBER} 31 -${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt -# policy info - everything is from the private oam network (also called ecomp private network) -${GLOBAL_POLICY_SERVER_URL} https://%{PDP_IP}:8081 -${GLOBAL_POLICY_AUTH} dGVzdHBkcDphbHBoYTEyMw== -${GLOBAL_POLICY_CLIENTAUTH} cHl0aG9uOnRlc3Q= -${GLOBAL_POLICY_HEALTHCHECK_URL} https://%{POLICY_IP}:6969 -${GLOBAL_POLICY_USERNAME} demo@people.osaaf.org -${GLOBAL_POLICY_PASSWORD} demo123456! diff --git a/tests/policy/engine/listpolicy.jinja b/tests/policy/engine/listpolicy.jinja deleted file mode 100644 index ce2d3df0..00000000 --- a/tests/policy/engine/listpolicy.jinja +++ /dev/null @@ -1,3 +0,0 @@ -{ - "policyName": "{{policy_name}}" -} diff --git a/tests/policy/engine/multiple_pushpolicy.jinja b/tests/policy/engine/multiple_pushpolicy.jinja deleted file mode 100644 index bda0da08..00000000 --- a/tests/policy/engine/multiple_pushpolicy.jinja +++ /dev/null @@ -1,5 +0,0 @@ -{ - "policyName":"{{policy_name1}},{{policy_name2}},{{policy_name3}}", - "policyType":"{{policy_type}}", - "pdpGroup":"default" -} diff --git a/tests/policy/engine/multiple_unpushpolicy.jinja b/tests/policy/engine/multiple_unpushpolicy.jinja deleted file mode 100644 index 55fb8810..00000000 --- a/tests/policy/engine/multiple_unpushpolicy.jinja +++ /dev/null @@ -1,6 +0,0 @@ -{ - "policyName": "{{policy_name1}},{{policy_name2}},{{policy_name3}}", - "policyType": "{{policy_type}}", - "policyComponent": "PDP", - "pdpGroup": "default" -} diff --git a/tests/policy/engine/oofpolicy_HPA_R1.jinja b/tests/policy/engine/oofpolicy_HPA_R1.jinja deleted file mode 100644 index 6834ceb6..00000000 --- a/tests/policy/engine/oofpolicy_HPA_R1.jinja +++ /dev/null @@ -1,6 +0,0 @@ -{ - "configBody": "{\"service\":\"hpaPolicy\",\"policyName\":\"testWorkingTOSCA\",\"description\":\"testing\",\"templateVersion\":\"OpenSource.version.1\",\"version\":\"CSIT\",\"priority\":\"5\",\"riskType\":\"SampleRiskType\",\"riskLevel\":\"3\",\"guard\":\"False\",\"content\":{\"identity\":\"testIdentity\",\"policyScope\":[\"test1\",\"test2\",\"test3\"],\"policyType\":\"hpaPolicy\",\"resources\":\"testResources1\",\"flavorFeatures\":[{\"flavorLabel\":\"testFlavor\",\"flavorProperties\":[{\"score\":\"testScore\",\"featureAttributes\":[{\"unit\":\"testUnit\",\"attribute\":\"teatFeatureAttribute\",\"value\":\"testValue\",\"operator\":\"any\"}],\"mandatory\":\"testMandatory\",\"hpaFeature\":\"testHAPFeature\",\"architecture\":\"testArch\"}]}]}}", - "policyConfigType": "Optimization", - "policyName": "{{policy_name}}", - "onapName": "OOF" -} diff --git a/tests/policy/engine/opspolicy_VDNS_R1.jinja b/tests/policy/engine/opspolicy_VDNS_R1.jinja deleted file mode 100644 index 8b1e6d2d..00000000 --- a/tests/policy/engine/opspolicy_VDNS_R1.jinja +++ /dev/null @@ -1,16 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "{{policy_name}}", - "policyDescription": "BRMS Param vDNS policy", - "policyScope": "com", - "attributes": { - "MATCHING": { - "controller" : "amsterdam" - }, - "RULE": { - "templateName": "ClosedLoopControlName", - "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0D%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-scale-up%0D%0A++++name%3A+Create+a+new+VF+Module%0D%0A++++description%3A%0D%0A++++actor%3A+SO%0D%0A++++recipe%3A+VF+Module+Create%0D%0A++++target%3A%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - } - } -} \ No newline at end of file diff --git a/tests/policy/engine/opspolicy_VFW_R1.jinja b/tests/policy/engine/opspolicy_VFW_R1.jinja deleted file mode 100644 index 0a6977df..00000000 --- a/tests/policy/engine/opspolicy_VFW_R1.jinja +++ /dev/null @@ -1,16 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "{{policy_name}}", - "policyDescription": "BRMS Param vFirewall policy", - "policyScope": "com", - "attributes": { - "MATCHING": { - "controller" : "amsterdam" - }, - "RULE": { - "templateName": "ClosedLoopControlName", - "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - } - } -} diff --git a/tests/policy/engine/opspolicy_vCPE_R1.jinja b/tests/policy/engine/opspolicy_vCPE_R1.jinja deleted file mode 100644 index a04a0c1e..00000000 --- a/tests/policy/engine/opspolicy_vCPE_R1.jinja +++ /dev/null @@ -1,16 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "{{policy_name}}", - "policyDescription": "BRMS Param vCPE policy", - "policyScope": "com", - "attributes": { - "MATCHING": { - "controller" : "amsterdam" - }, - "RULE": { - "templateName": "ClosedLoopControlName", - "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - } - } -} \ No newline at end of file diff --git a/tests/policy/engine/opspolicy_vOLTE_R1.jinja b/tests/policy/engine/opspolicy_vOLTE_R1.jinja deleted file mode 100644 index 67119659..00000000 --- a/tests/policy/engine/opspolicy_vOLTE_R1.jinja +++ /dev/null @@ -1,16 +0,0 @@ -{ - "policyConfigType": "BRMS_PARAM", - "policyName": "{{policy_name}}", - "policyDescription": "BRMS Param VOLTE policy", - "policyScope": "com", - "attributes": { - "MATCHING": { - "controller" : "amsterdam" - }, - "RULE": { - "templateName": "ClosedLoopControlName", - "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" - } - } -} \ No newline at end of file diff --git a/tests/policy/engine/policy_interface.robot b/tests/policy/engine/policy_interface.robot deleted file mode 100644 index da7fdd87..00000000 --- a/tests/policy/engine/policy_interface.robot +++ /dev/null @@ -1,66 +0,0 @@ -*** Settings *** -Documentation The main interface for interacting with Policy. It handles low level stuff like managing the http request library and Policy required fields -Library RequestsLibrary -Library String -Library Collections -Resource global_properties.robot - -*** Variables *** -${POLICY_HEALTH_CHECK_PATH} /healthcheck - -*** Keywords *** - -Run Policy Health Check - [Documentation] Runs Policy Health check - ${auth}= Create List ${GLOBAL_POLICY_USERNAME} ${GLOBAL_POLICY_PASSWORD} - Log Creating session ${GLOBAL_POLICY_SERVER_URL} - ${session}= Create Session policy ${GLOBAL_POLICY_HEALTHCHECK_URL} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy ${POLICY_HEALTH_CHECK_PATH} headers=${headers} - Log Received response from policy ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be True ${resp.json()['healthy']} - @{ITEMS}= Copy List ${resp.json()['details']} - :FOR ${ELEMENT} IN @{ITEMS} - \ Should Be Equal As Strings ${ELEMENT['code']} 200 - \ Should Be True ${ELEMENT['healthy']} - -Run Policy Put Request - [Documentation] Runs Policy Put request - [Arguments] ${data_path} ${data} - Log Creating session ${GLOBAL_POLICY_SERVER_URL} - ${session}= Create Session policy ${GLOBAL_POLICY_SERVER_URL} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} Environment=TEST - ${resp}= Put Request policy ${data_path} data=${data} headers=${headers} - Log Received response from policy ${resp.text} - [Return] ${resp} - -Run Policy Post Request - [Documentation] Runs Policy Post request - [Arguments] ${data_path} ${data} - Log Creating session ${GLOBAL_POLICY_SERVER_URL} - ${session}= Create Session policy ${GLOBAL_POLICY_SERVER_URL} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} Environment=TEST - ${resp}= Post Request policy ${data_path} data=${data} headers=${headers} - Log Received response from policy ${resp.text} - [Return] ${resp} - -Run Policy Delete Request - [Documentation] Runs Policy Delete request - [Arguments] ${data_path} ${data} - Log Creating session ${GLOBAL_POLICY_SERVER_URL} - ${session}= Create Session policy ${GLOBAL_POLICY_SERVER_URL} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} Environment=TEST - ${resp}= Delete Request policy ${data_path} data=${data} headers=${headers} - Log Received response from policy ${resp.text} - [Return] ${resp} - -Run Policy Get Configs Request - [Documentation] Runs Policy Get Configs request - [Arguments] ${data_path} ${data} - Log Creating session ${GLOBAL_POLICY_SERVER_URL} - ${session}= Create Session policy ${GLOBAL_POLICY_SERVER_URL} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} - ${resp}= Post Request policy ${data_path} data=${data} headers=${headers} - Log Received response from policy ${resp.text} - [Return] ${resp} diff --git a/tests/policy/engine/pushpolicy.jinja b/tests/policy/engine/pushpolicy.jinja deleted file mode 100644 index a1faaede..00000000 --- a/tests/policy/engine/pushpolicy.jinja +++ /dev/null @@ -1,5 +0,0 @@ -{ - "policyName":"{{policy_name}}", - "policyType":"{{policy_type}}", - "pdpGroup":"default" -} \ No newline at end of file diff --git a/tests/policy/engine/sdncnamingpolicy_vFW.jinja b/tests/policy/engine/sdncnamingpolicy_vFW.jinja deleted file mode 100644 index a012d59c..00000000 --- a/tests/policy/engine/sdncnamingpolicy_vFW.jinja +++ /dev/null @@ -1,11 +0,0 @@ -{ - "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VFW_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vFW\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", - "policyName": "{{policy_name}}", - "policyConfigType": "MicroService", - "onapName": "SDNC", - "riskLevel": "4", - "riskType": "test", - "guard": "false", - "priority": "4", - "description": "ONAP_VFW_NAMING_TIMESTAMP" -} \ No newline at end of file diff --git a/tests/policy/engine/sdncnamingpolicy_vPG.jinja b/tests/policy/engine/sdncnamingpolicy_vPG.jinja deleted file mode 100644 index 9aa4f505..00000000 --- a/tests/policy/engine/sdncnamingpolicy_vPG.jinja +++ /dev/null @@ -1,11 +0,0 @@ -{ - "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VPG_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vPG\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", "policyName": "{{policy_name}}", - "policyName": "{{policy_name}}", - "policyConfigType": "MicroService", - "onapName": "SDNC", - "riskLevel": "4", - "riskType": "test", - "guard": "false", - "priority": "4", - "description": "ONAP_VPG_NAMING_TIMESTAMP" -} \ No newline at end of file diff --git a/tests/policy/xacml-pdp/data/onap.policies.monitoring.cdap.tca.hi.lo.app.json b/tests/policy/xacml-pdp/data/onap.policies.monitoring.cdap.tca.hi.lo.app.json index f06247d7..06574735 100644 --- a/tests/policy/xacml-pdp/data/onap.policies.monitoring.cdap.tca.hi.lo.app.json +++ b/tests/policy/xacml-pdp/data/onap.policies.monitoring.cdap.tca.hi.lo.app.json @@ -1,5 +1,5 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Monitoring": { "derived_from": "tosca.policies.Root", @@ -10,11 +10,8 @@ "version": "1.0.0", "properties": { "tca_policy": { - "type": "map", - "description": "TCA Policy JSON", - "entry_schema": { - "type": "onap.datatypes.monitoring.tca_policy" - } + "type": "onap.datatypes.monitoring.tca_policy", + "description": "TCA Policy JSON" } } } @@ -210,4 +207,4 @@ } } } -} \ No newline at end of file +} diff --git a/tests/policy/xacml-pdp/data/vCPE.policy.monitoring.input.tosca.json b/tests/policy/xacml-pdp/data/vCPE.policy.monitoring.input.tosca.json index fac5cfad..3003d9a8 100644 --- a/tests/policy/xacml-pdp/data/vCPE.policy.monitoring.input.tosca.json +++ b/tests/policy/xacml-pdp/data/vCPE.policy.monitoring.input.tosca.json @@ -1,5 +1,5 @@ { - "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { diff --git a/tests/policy/xacml-pdp/xacml-pdp-test.robot b/tests/policy/xacml-pdp/xacml-pdp-test.robot index 8227996f..0305af8e 100644 --- a/tests/policy/xacml-pdp/xacml-pdp-test.robot +++ b/tests/policy/xacml-pdp/xacml-pdp-test.robot @@ -28,7 +28,6 @@ Statistics Should Be Equal As Strings ${resp.json()['code']} 200 ExecuteXacmlPolicy - Wait Until Keyword Succeeds 2 min 5 sec CreateMonitorPolicyType Wait Until Keyword Succeeds 2 min 5 sec CreateNewMonitorPolicy Wait Until Keyword Succeeds 2 min 5 sec DeployMonitorPolicy Wait Until Keyword Succeeds 2 min 10 sec GetAbbreviatedDecisionResult @@ -36,20 +35,6 @@ ExecuteXacmlPolicy *** Keywords *** -CreateMonitorPolicyType - [Documentation] Create Monitoring Policy Type - ${auth}= Create List healthcheck zb!XztG34 - ${postjson}= Get file ${CURDIR}/data/onap.policies.monitoring.cdap.tca.hi.lo.app.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 policy2 ${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 - CreateNewMonitorPolicy [Documentation] Create a new Monitoring policy ${auth}= Create List healthcheck zb!XztG34 diff --git a/tests/usecases/config-over-netconf/config_over_netconf.robot b/tests/usecases/config-over-netconf/config_over_netconf.robot index c6e06596..2ba64007 100644 --- a/tests/usecases/config-over-netconf/config_over_netconf.robot +++ b/tests/usecases/config-over-netconf/config_over_netconf.robot @@ -7,8 +7,8 @@ Library String *** Variables *** ${SDNC_KEYSTORE_CONFIG_PATH} /config/netconf-keystore:keystore -${SDNC_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/netopeer2 -${PNFSIM_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/netopeer2/yang-ext:mount/mynetconf:netconflist +${SDNC_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/pnf-simulator +${PNFSIM_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/pnf-simulator/yang-ext:mount/mynetconf:netconflist ${BP_UPLOAD_URL} /api/v1/execution-service/upload ${BP_PROCESS_URL} /api/v1/execution-service/process ${BP_ARCHIVE_PATH} ${CURDIR}/data/blueprint_archive.zip diff --git a/tests/usecases/config-over-netconf/data/mount.xml b/tests/usecases/config-over-netconf/data/mount.xml index 108369bc..22053e8a 100644 --- a/tests/usecases/config-over-netconf/data/mount.xml +++ b/tests/usecases/config-over-netconf/data/mount.xml @@ -1,5 +1,5 @@ - netopeer2 + pnf-simulator ODL_private_key_0 netconf diff --git a/tests/vid/newVNFChange/test1.robot b/tests/vid/newVNFChange/test1.robot index b2093451..4c3e2a68 100644 --- a/tests/vid/newVNFChange/test1.robot +++ b/tests/vid/newVNFChange/test1.robot @@ -14,7 +14,6 @@ ${body}= {"workflowsDetails":[{"workflowName":"VNF In Place Software Update","v *** Test Cases *** add new VNF Change in VID GUI From Local worfkow - [Documentation] Logs in to VID GUI Setup Browser Go To ${VID_LOGIN_URL} @@ -38,24 +37,25 @@ add new VNF Change in VID GUI From Local worfkow ${headers}= Create Dictionary Accept-Encoding=gzip Accept-Encoding=deflate Content-Type=application/json ${response}= Post Request vid /vid/change-management/vnf_workflow_relation headers=${headers} data=${body} + Wait Until Element Is Visible xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@ng-click='vm.createNewChange()'] Wait Until Page Contains New VNF Change ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Select From List xpath=//select[@name='subscriber'] CAR_2020_ER + Select From List By Label xpath=//select[@name='subscriber'] CAR_2020_ER - Select From List xpath=//select[@name='serviceType'] gNB + Select From List By Label xpath=//select[@name='serviceType'] gNB - Select From List xpath=//select[@name='vnfType'] vLBMS + Select From List By Label xpath=//select[@name='vnfType'] vLBMS - Select From List xpath=//select[@name='fromVNFVersion'] 3.0 + Select From List By Label xpath=//select[@name='fromVNFVersion'] 3.0 Click Element xpath=//multiselect[@name='vnfName'] Click Element xpath=//a[contains(text(),'vnf-ws')] - Select From List xpath=//select[@name='workflow'] VNF In Place Software Update + Select From List By Label xpath=//select[@name='workflow'] VNF In Place Software Update Wait Until Page Contains Operations timeout ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Input Text xpath=//input[@id='internal-workflow-parameter-text-2-operations-timeout'] 10 diff --git a/tests/vid/newVNFChange/test2.robot b/tests/vid/newVNFChange/test2.robot index b1dfcd7d..6ff17f64 100644 --- a/tests/vid/newVNFChange/test2.robot +++ b/tests/vid/newVNFChange/test2.robot @@ -17,8 +17,8 @@ add new VNF Change in VID GUI From SO NATIVE worfkow Run Process ${CURDIR}/../resources/scripts/SetFeatureFlag.sh FLAG_HANDLE_SO_WORKFLOWS true shell=True cwd=${CURDIR}/../resources/scripts/ Reload Page - Wait Until Page Contains VNF Changes ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Wait Until Element Is Visible xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@ng-click='vm.createNewChange()'] diff --git a/tests/vid/newVNFChange/test3.robot b/tests/vid/newVNFChange/test3.robot index 30244f99..443c4802 100644 --- a/tests/vid/newVNFChange/test3.robot +++ b/tests/vid/newVNFChange/test3.robot @@ -16,6 +16,7 @@ Resource ../resources/keywords/login_vid_keywords.robot add new VNF Change in VID GUI From SO SDC worfkow [Documentation] create VNF Change from SO SDC workflows + Wait Until Element Is Visible xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@heading='VNF Changes']//a[1] Click Element xpath=//div[@ng-click='vm.createNewChange()'] diff --git a/tests/vid/resources/docker-compose.yml b/tests/vid/resources/docker-compose.yml index 6aaa5a7e..4182ab62 100644 --- a/tests/vid/resources/docker-compose.yml +++ b/tests/vid/resources/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: vid-server: - image: nexus3.onap.org:10001/onap/vid:5.0-STAGING-latest + image: nexus3.onap.org:10001/onap/vid:6.0-STAGING-latest environment: - VID_MYSQL_DBNAME=vid_openecomp_epsdk - VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U diff --git a/tests/vid/resources/simulators/test_data_assets/requests.json b/tests/vid/resources/simulators/test_data_assets/requests.json index 5344ada9..cc049ac3 100644 --- a/tests/vid/resources/simulators/test_data_assets/requests.json +++ b/tests/vid/resources/simulators/test_data_assets/requests.json @@ -2,7 +2,7 @@ "requests": [ { "method": "GET", - "path": "/aai/v13/service-design-and-creation/models", + "path": "/aai/v16/service-design-and-creation/models", "queryParams": { "depth": "2", "model-invariant-id": "88a71d72-ec80-4357-808e-f288823cb353" @@ -10,14 +10,14 @@ }, { "method": "GET", - "path": "/aai/v13/business/customers/customer/CAR_2020_ER", + "path": "/aai/v16/business/customers/customer/CAR_2020_ER", "queryParams": { "depth": "2" } }, { "method": "GET", - "path": "/aai/v13/query", + "path": "/aai/v16/query", "queryParams": { "format": "simple" } @@ -31,7 +31,7 @@ }, { "method": "GET", - "path": "/aai/v13/business/customers", + "path": "/aai/v16/business/customers", "queryParams": { "subscriber-type": "INFRA", "depth": "0" @@ -39,7 +39,7 @@ }, { "method": "GET", - "path": "/aai/v13/service-design-and-creation/models", + "path": "/aai/v16/service-design-and-creation/models", "queryParams": { "depth": "2", "model-invariant-id": "88a71d72-ec80-4357-808e-f288823cb353" diff --git a/tests/vid/resources/simulators/test_data_assets/responses.json b/tests/vid/resources/simulators/test_data_assets/responses.json index ee55f292..987cce88 100644 --- a/tests/vid/resources/simulators/test_data_assets/responses.json +++ b/tests/vid/resources/simulators/test_data_assets/responses.json @@ -2,7 +2,7 @@ "responses": [ { "responseCode": 200, - "path": "/aai/v13/business/customers/customer/CAR_2020_ER?depth=2", + "path": "/aai/v16/business/customers/customer/CAR_2020_ER?depth=2", "method": "GET", "body": { "global-customer-id": "CAR_2020_ER", @@ -31,7 +31,7 @@ { "related-to": "project", "relationship-label": "org.onap.relationships.inventory.Uses", - "related-link": "/aai/v13/business/projects/project/AwTestProject", + "related-link": "/aai/v16/business/projects/project/AwTestProject", "relationship-data": [ { "relationship-key": "project.project-name", @@ -42,7 +42,7 @@ { "related-to": "generic-vnf", "relationship-label": "org.onap.relationships.inventory.ComposedOf", - "related-link": "/aai/v13/network/generic-vnfs/generic-vnf/7d6d6809-56e9-42c2-9379-a768381bc812", + "related-link": "/aai/v16/network/generic-vnfs/generic-vnf/7d6d6809-56e9-42c2-9379-a768381bc812", "relationship-data": [ { "relationship-key": "generic-vnf.vnf-id", @@ -59,7 +59,7 @@ { "related-to": "owning-entity", "relationship-label": "org.onap.relationships.inventory.BelongsTo", - "related-link": "/aai/v13/business/owning-entities/owning-entity/74af7120-c5da-4933-9b73-32b4dbb6da4b", + "related-link": "/aai/v16/business/owning-entities/owning-entity/74af7120-c5da-4933-9b73-32b4dbb6da4b", "relationship-data": [ { "relationship-key": "owning-entity.owning-entity-id", @@ -77,7 +77,7 @@ { "related-to": "tenant", "relationship-label": "org.onap.relationships.inventory.Uses", - "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0", + "related-link": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", @@ -108,14 +108,14 @@ }, { "responseCode": 200, - "path": "/aai/v13/query?format=simple", + "path": "/aai/v16/query?format=simple", "method": "GET", "body": { "results": [ { "id": "442472", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25", "properties": { "vnf-id": "a9c90905-99f2-45d5-8389-a2e0f6997c25", "vnf-name": "vnf-ws", @@ -137,37 +137,37 @@ "id": "385160", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "node-type": "service-instance", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8" }, { "id": "454760", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "vf-module", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" }, { "id": "249952", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "line-of-business", - "url": "/aai/v13/business/lines-of-business/line-of-business/LOB-Demonstration" + "url": "/aai/v16/business/lines-of-business/line-of-business/LOB-Demonstration" }, { "id": "266376", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "platform", - "url": "/aai/v13/business/platforms/platform/Platform-Demonstration" + "url": "/aai/v16/business/platforms/platform/Platform-Demonstration" }, { "id": "430168", "relationship-label": "tosca.relationships.HostedOn", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" }, { "id": "290944", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "availability-zone", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" } ] } @@ -176,14 +176,14 @@ }, { "responseCode": 200, - "path": "/aai/v13/query?format=simple", + "path": "/aai/v16/query?format=simple", "method": "PUT", "body": { "results": [ { "id": "385160", "node-type": "service-instance", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8", + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8", "properties": { "service-instance-id": "12965035-a690-400c-bf18-211a5b4710c8", "service-instance-name": "ws-service-02", @@ -201,32 +201,32 @@ "id": "200768", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "project", - "url": "/aai/v13/business/projects/project/Project-Demonstration" + "url": "/aai/v16/business/projects/project/Project-Demonstration" }, { "id": "442472", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" }, { "id": "200840", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" }, { "id": "262176", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "owning-entity", - "url": "/aai/v13/business/owning-entities/owning-entity/227139a2-ed5e-4fcf-acfb-fd854db52a29" + "url": "/aai/v16/business/owning-entities/owning-entity/227139a2-ed5e-4fcf-acfb-fd854db52a29" } ] }, { "id": "147608", "node-type": "customer", - "url": "/aai/v13/business/customers/customer/Demonstration", + "url": "/aai/v16/business/customers/customer/Demonstration", "properties": { "global-customer-id": "Demonstration", "subscriber-name": "Demonstration", @@ -238,50 +238,50 @@ "id": "143424", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vCPE" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vCPE" }, { "id": "168024", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW" }, { "id": "172064", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/gNB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/gNB" }, { "id": "192616", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vIMS" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vIMS" }, { "id": "200840", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" }, { "id": "209024", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL" }, { "id": "290920", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vAW" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vAW" } ] }, { "id": "442472", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25", "properties": { "vnf-id": "a9c90905-99f2-45d5-8389-a2e0f6997c25", "vnf-name": "vnf-ws", @@ -303,44 +303,44 @@ "id": "385160", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "node-type": "service-instance", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/12965035-a690-400c-bf18-211a5b4710c8" }, { "id": "454760", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "vf-module", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" }, { "id": "249952", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "line-of-business", - "url": "/aai/v13/business/lines-of-business/line-of-business/LOB-Demonstration" + "url": "/aai/v16/business/lines-of-business/line-of-business/LOB-Demonstration" }, { "id": "266376", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "platform", - "url": "/aai/v13/business/platforms/platform/Platform-Demonstration" + "url": "/aai/v16/business/platforms/platform/Platform-Demonstration" }, { "id": "430168", "relationship-label": "tosca.relationships.HostedOn", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" }, { "id": "290944", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "availability-zone", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" } ] }, { "id": "454760", "node-type": "vf-module", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a", "properties": { "vf-module-id": "98da0cd7-008a-4935-864e-333bb97bd15a", "vf-module-name": "ws-vnf", @@ -359,20 +359,20 @@ "id": "442472", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" }, { "id": "430168", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" } ] }, { "id": "430168", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a", + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a", "properties": { "vserver-id": "154e8975-5a59-4824-af5d-b6564b7b712a", "vserver-name": "vnf-wshealth_node003", @@ -388,38 +388,38 @@ "id": "442472", "relationship-label": "tosca.relationships.HostedOn", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25" }, { "id": "454760", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "vf-module", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/a9c90905-99f2-45d5-8389-a2e0f6997c25/vf-modules/vf-module/98da0cd7-008a-4935-864e-333bb97bd15a" }, { "id": "167968", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "tenant", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0" }, { "id": "450592", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "image", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/bbbaf330-2883-4fa5-b1e9-3c6a5f0e6839" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/bbbaf330-2883-4fa5-b1e9-3c6a5f0e6839" }, { "id": "458848", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "flavor", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/9ede20a8-cdb3-4f8a-874d-60a900fae43d" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/9ede20a8-cdb3-4f8a-874d-60a900fae43d" } ] }, { "id": "167968", "node-type": "tenant", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0", + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0", "properties": { "tenant-id": "982c540f6e69488eb6be5664255e00c0", "tenant-name": "onap-wro", @@ -430,122 +430,122 @@ "id": "274536", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/e8020a03-5cd9-4f8c-b2d8-9972a256cf6a" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/e8020a03-5cd9-4f8c-b2d8-9972a256cf6a" }, { "id": "430168", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "vserver", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0/vservers/vserver/154e8975-5a59-4824-af5d-b6564b7b712a" }, { "id": "143424", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vCPE" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vCPE" }, { "id": "168024", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW" }, { "id": "172064", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/gNB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/gNB" }, { "id": "192616", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vIMS" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vIMS" }, { "id": "200840", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" }, { "id": "209024", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFWCL" }, { "id": "274528", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/AwTestCustomer/service-subscriptions/service-subscription/vAW" + "url": "/aai/v16/business/customers/customer/AwTestCustomer/service-subscriptions/service-subscription/vAW" }, { "id": "282728", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/AwTestCustomer/service-subscriptions/service-subscription/vFW" + "url": "/aai/v16/business/customers/customer/AwTestCustomer/service-subscriptions/service-subscription/vFW" }, { "id": "290920", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vAW" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vAW" }, { "id": "299040", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/7cd10a99-a2f8-45d8-80ab-49fdb5a70c6b/service-subscriptions/service-subscription/vAPP" + "url": "/aai/v16/business/customers/customer/7cd10a99-a2f8-45d8-80ab-49fdb5a70c6b/service-subscriptions/service-subscription/vAPP" }, { "id": "360512", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vCPE" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vCPE" }, { "id": "409736", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vIMS" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vIMS" }, { "id": "450656", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vFWCL" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vFWCL" }, { "id": "450664", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vLB" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vLB" }, { "id": "454752", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/gNB" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/gNB" }, { "id": "454816", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vFW" + "url": "/aai/v16/business/customers/customer/SDN-ETHERNET-INTERNET/service-subscriptions/service-subscription/vFW" }, { "id": "159928", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "cloud-region", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne" } ] }, { "id": "159928", "node-type": "cloud-region", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne", + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne", "properties": { "cloud-owner": "CloudOwner", "cloud-region-id": "RegionOne", @@ -560,38 +560,38 @@ "id": "167968", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "tenant", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/982c540f6e69488eb6be5664255e00c0" }, { "id": "290944", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "availability-zone", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" }, { "id": "450592", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "image", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/bbbaf330-2883-4fa5-b1e9-3c6a5f0e6839" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/bbbaf330-2883-4fa5-b1e9-3c6a5f0e6839" }, { "id": "458848", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "flavor", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/9ede20a8-cdb3-4f8a-874d-60a900fae43d" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/9ede20a8-cdb3-4f8a-874d-60a900fae43d" }, { "id": "204928", "relationship-label": "org.onap.relationships.inventory.LocatedIn", "node-type": "complex", - "url": "/aai/v13/cloud-infrastructure/complexes/complex/clli1" + "url": "/aai/v16/cloud-infrastructure/complexes/complex/clli1" } ] }, { "id": "434336", "node-type": "service-instance", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/57dba41e-0b00-48ad-9cb9-f0d813be5142", + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/57dba41e-0b00-48ad-9cb9-f0d813be5142", "properties": { "service-instance-id": "57dba41e-0b00-48ad-9cb9-f0d813be5142", "service-instance-name": "ws-service-test", @@ -609,32 +609,32 @@ "id": "200768", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "project", - "url": "/aai/v13/business/projects/project/Project-Demonstration" + "url": "/aai/v16/business/projects/project/Project-Demonstration" }, { "id": "434208", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/d823b98b-8800-4a7c-a755-f0dd5933e479" + "url": "/aai/v16/network/generic-vnfs/generic-vnf/d823b98b-8800-4a7c-a755-f0dd5933e479" }, { "id": "200840", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "service-subscription", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB" }, { "id": "262176", "relationship-label": "org.onap.relationships.inventory.BelongsTo", "node-type": "owning-entity", - "url": "/aai/v13/business/owning-entities/owning-entity/227139a2-ed5e-4fcf-acfb-fd854db52a29" + "url": "/aai/v16/business/owning-entities/owning-entity/227139a2-ed5e-4fcf-acfb-fd854db52a29" } ] }, { "id": "434208", "node-type": "generic-vnf", - "url": "/aai/v13/network/generic-vnfs/generic-vnf/d823b98b-8800-4a7c-a755-f0dd5933e479", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/d823b98b-8800-4a7c-a755-f0dd5933e479", "properties": { "vnf-id": "d823b98b-8800-4a7c-a755-f0dd5933e479", "vnf-name": "ws-vnf", @@ -656,25 +656,25 @@ "id": "434336", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "node-type": "service-instance", - "url": "/aai/v13/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/57dba41e-0b00-48ad-9cb9-f0d813be5142" + "url": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/service-instances/service-instance/57dba41e-0b00-48ad-9cb9-f0d813be5142" }, { "id": "249952", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "line-of-business", - "url": "/aai/v13/business/lines-of-business/line-of-business/LOB-Demonstration" + "url": "/aai/v16/business/lines-of-business/line-of-business/LOB-Demonstration" }, { "id": "266376", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "platform", - "url": "/aai/v13/business/platforms/platform/Platform-Demonstration" + "url": "/aai/v16/business/platforms/platform/Platform-Demonstration" }, { "id": "290944", "relationship-label": "org.onap.relationships.inventory.Uses", "node-type": "availability-zone", - "url": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" + "url": "/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/doopaZone" } ] } @@ -812,7 +812,7 @@ }, { "responseCode": 200, - "path": "/aai/v13/business/customers?subscriber-type=INFRA&depth=0", + "path": "/aai/v16/business/customers?subscriber-type=INFRA&depth=0", "method": "GET", "body": { "customer": [ @@ -833,7 +833,7 @@ }, { "responseCode": 200, - "path": "/aai/v13/service-design-and-creation/models?depth=2&model-invariant-id=88a71d72-ec80-4357-808e-f288823cb353", + "path": "/aai/v16/service-design-and-creation/models?depth=2&model-invariant-id=88a71d72-ec80-4357-808e-f288823cb353", "method": "GET", "body": { "model": [ @@ -861,7 +861,7 @@ { "related-to": "model-ver", "relationship-label": "org.onap.relationships.inventory.IsA", - "related-link": "/aai/v13/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9", + "related-link": "/aai/v16/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9", "relationship-data": [ { "relationship-key": "model.model-invariant-id", @@ -889,7 +889,7 @@ { "related-to": "model-element", "relationship-label": "org.onap.relationships.inventory.IsA", - "related-link": "/aai/v13/service-design-and-creation/models/model/33ebe1a9-1df3-4c35-b8a0-cd0504159511/model-vers/model-ver/cb8501da-6e03-40e0-900c-ef0df30d1183/model-elements/model-element/fb64065a-30f4-4a89-9084-f335df91a2fd/model-elements/model-element/483d7c17-69eb-4d0d-a9ac-97cc67bc8d2c", + "related-link": "/aai/v16/service-design-and-creation/models/model/33ebe1a9-1df3-4c35-b8a0-cd0504159511/model-vers/model-ver/cb8501da-6e03-40e0-900c-ef0df30d1183/model-elements/model-element/fb64065a-30f4-4a89-9084-f335df91a2fd/model-elements/model-element/483d7c17-69eb-4d0d-a9ac-97cc67bc8d2c", "relationship-data": [ { "relationship-key": "model.model-invariant-id",