Merge "Remove obsolete start scripts"
authorGary Wu <gary.wu@futurewei.com>
Tue, 25 Jun 2019 16:37:34 +0000 (16:37 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 25 Jun 2019 16:37:34 +0000 (16:37 +0000)
112 files changed:
plans/dcaegen2/prh-testsuites/setup.sh
plans/optf-cmso/cmso/testplan.txt
plans/policy/apex-pdp/setup.sh
plans/policy/api/setup.sh
plans/policy/api/teardown.sh
plans/policy/pap/setup.sh
plans/policy/pap/teardown.sh
plans/policy/xacml-pdp/setup.sh
plans/usecases/5G-bulkpm/assets/datafile_endpoints.json
plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml
run-csit.sh
scripts/optf-cmso/cmso/start_cmso_containers.sh [deleted file]
scripts/optf-cmso/cmso/wait_for_port.sh [deleted file]
scripts/policy/docker-compose-api.yml
scripts/policy/docker-compose-pap.yml
scripts/policy/policy-apex-pdp/config/apex-pdp/OnapPfConfig.json [deleted file]
scripts/policy/policy-apex-pdp/config/apex-pdp/topic.properties [deleted file]
scripts/policy/policy-apex-pdp/config/pap/defaultConfig.json [deleted file]
scripts/policy/policy-apex-pdp/config/pap/logback.xml [deleted file]
scripts/policy/policy-apex-pdp/config/pap/s3pConfig.json [deleted file]
scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystore [deleted file]
scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststore [deleted file]
scripts/policy/policy-apex-pdp/config/pap/topic.properties [deleted file]
scripts/policy/policy-apex-pdp/docker-compose-apex.yml
scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json
tests/dcaegen2/prh-testcases/assets/aai-not-responding/ves-event.json
tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json
tests/dcaegen2/prh-testcases/assets/json_events/event_with_optional_registration_fields_all_filled.json
tests/dcaegen2/prh-testcases/assets/json_events/ves-event-pnf-registration-with-attachment-point.json
tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/assets/re-registration/ves-event.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json
tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json
tests/dcaegen2/prh-testcases/prh_config_tests.robot [new file with mode: 0644]
tests/dcaegen2/prh-testcases/prh_tests.robot
tests/dcaegen2/prh-testcases/resources/.env
tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
tests/dcaegen2/prh-testcases/resources/docker-compose.yml
tests/dcaegen2/prh-testcases/resources/prh_config_library.robot [new file with mode: 0644]
tests/dcaegen2/prh-testcases/resources/prh_library.robot
tests/dcaegen2/prh-testcases/resources/prh_sessions.robot [new file with mode: 0644]
tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py
tests/integration/vCPE/test1.robot
tests/optf-cmso/cmso/attlibs/CurlLibrary.py [deleted file]
tests/optf-cmso/cmso/attlibs/HTTPUtils.py [deleted file]
tests/optf-cmso/cmso/attlibs/JSONUtils.py [deleted file]
tests/optf-cmso/cmso/attlibs/OSUtils.py [deleted file]
tests/optf-cmso/cmso/attlibs/RequestsClientCert.py [deleted file]
tests/optf-cmso/cmso/attlibs/StringTemplater.py [deleted file]
tests/optf-cmso/cmso/attlibs/UID.py [deleted file]
tests/optf-cmso/cmso/resources/approval_requests.robot [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyDomain.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleID.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleName.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyUserID.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectPolicyId.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectWorkflow.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNegativeNormalDurationInSeconds.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoEndTime.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoNodeName.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoStartTime.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowSwitchedTime.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyAdditionalDuration.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyDomain.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyScheduleId.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyUserId.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyDomain.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleId.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleName.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptySchedulingInfo.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyUserId.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData1.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData2.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData3.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/MultipleVnfImmediate.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNFsOneChangeWindow.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNSsTwoChangeWindows.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediate.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateIncorrectWorkflow.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateReplaceVNFInfra.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindow.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackData.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackURL.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowReplaceVNFInfra.json.template [deleted file]
tests/optf-cmso/cmso/resources/assets/templates/changemanagement/VidCallbackData.json.template [deleted file]
tests/optf-cmso/cmso/resources/browser_setup.robot [deleted file]
tests/optf-cmso/cmso/resources/change_management_ete.robot [deleted file]
tests/optf-cmso/cmso/resources/create_schedule.robot [deleted file]
tests/optf-cmso/cmso/resources/files.robot [deleted file]
tests/optf-cmso/cmso/resources/json_templater.robot [deleted file]
tests/optf-cmso/cmso/resources/misc.robot [deleted file]
tests/optf-cmso/cmso/resources/scheduler_common.robot [deleted file]
tests/optf-cmso/cmso/resources/vtm_common.robot [deleted file]
tests/optf-cmso/cmso/testsuites/ChangeManagementImmediate.robot [deleted file]
tests/optf-cmso/cmso/testsuites/CmsoCsit.robot [new file with mode: 0644]
tests/optf-cmso/cmso/testsuites/__init__.robot [deleted file]
tests/portal/testsuites/browser_setup.robot
tests/portal/testsuites/portal_VID.robot
tests/portal/testsuites/test1.robot
tests/usecases/5G-bulkpm/BulkpmE2E.robot
tests/vid/resources/docker-compose.yml

index 28882c8..9dc8de9 100644 (file)
@@ -46,4 +46,4 @@ echo CBS_IP=${CBS_IP}
 wait_for_service_init localhost:8100/heartbeat
 
 # #Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v DMAAP_SIMULATOR_SETUP:${DMAAP_SIMULATOR_IP}:2224 -v AAI_SIMULATOR_SETUP:${AAI_SIMULATOR_IP}:3335 -v CONSUL_SETUP:${CONSUL_IP}:8500"
\ No newline at end of file
+ROBOT_VARIABLES="-v DMAAP_SIMULATOR_SETUP:${DMAAP_SIMULATOR_IP}:2224 -v AAI_SIMULATOR_SETUP:${AAI_SIMULATOR_IP}:3335 -v CONSUL_SETUP:${CONSUL_IP}:8500 -v PRH_SETUP:${PRH_IP}:8100"
\ No newline at end of file
index 7645a85..42f64f1 100644 (file)
@@ -1,3 +1,3 @@
 # Test suites are relative paths under [integration/csit.git]/tests/.
 # Place the suites in run order.
-optf-cmso/cmso/testsuites
+optf-cmso/cmso/testsuites
\ No newline at end of file
index 9639646..1e61726 100644 (file)
@@ -3,6 +3,7 @@
 #  Copyright (C) 2018 Ericsson. All rights reserved.
 #
 #  Modifications copyright (c) 2019 Nordix Foundation.
+#  Modifications Copyright (C) 2019 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.
@@ -62,7 +63,15 @@ sleep 3
 
 # Adding this waiting container due to race condition between pap and mariadb
 docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml up -d
+
+#Configure the database
+docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_all
+
+unset http_proxy https_proxy
 
 POLICY_API_IP=`get-instance-ip.sh policy-api`
 POLICY_PAP_IP=`get-instance-ip.sh policy-pap`
@@ -76,24 +85,4 @@ echo API IP IS ${POLICY_API_IP}
 echo APEX IP IS ${APEX_IP}
 echo DMAAP_IP IS ${DMAAP_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 ${APEX_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
-for i in {1..10}; do
-   curl -sS ${DMAAP_IP}:3904 && break
-   echo sleep $i
-   sleep $i
-done
-#Configure the database
-docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
-
 ROBOT_VARIABLES="-v APEX_IP:${APEX_IP} -v POLICY_API_IP:${POLICY_API_IP} -v POLICY_PAP_IP:${POLICY_PAP_IP}"
index a29254a..6168085 100644 (file)
@@ -24,8 +24,15 @@ pip install -U docker==2.7.0
 
 # 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
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml up -d
-sleep 3
+
+#Configure the database
+docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_all
+
+unset http_proxy https_proxy
 
 POLICY_API_IP=`get-instance-ip.sh policy-api`
 MARIADB_IP=`get-instance-ip.sh mariadb`
@@ -33,20 +40,4 @@ MARIADB_IP=`get-instance-ip.sh mariadb`
 echo API IP IS ${POLICY_API_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_API_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
-
 ROBOT_VARIABLES="-v POLICY_API_IP:${POLICY_API_IP}"
index fc82dfa..0572e03 100755 (executable)
@@ -19,4 +19,3 @@
 
 kill-instance.sh policy-api
 kill-instance.sh mariadb
-kill-instance.sh policy-wait
index d1ba20c..8bd3f0a 100644 (file)
@@ -1,6 +1,7 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
 #  Copyright (C) 2019 Nordix Foundation.
+#  Modifications Copyright (C) 2019 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.
@@ -24,11 +25,17 @@ pip install -U docker==2.7.0
 
 # Adding this waiting container due to race condition between pap and mariadb
 docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml up -d
-sleep 3
+
+#Configure the database
+docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_all
 
 unset http_proxy https_proxy
 
+
 POLICY_PAP_IP=`get-instance-ip.sh policy-pap`
 POLICY_API_IP=`get-instance-ip.sh policy-api`
 MARIADB_IP=`get-instance-ip.sh mariadb`
@@ -36,26 +43,6 @@ MARIADB_IP=`get-instance-ip.sh mariadb`
 echo PAP IP IS ${POLICY_PAP_IP}
 echo API IP IS ${POLICY_API_IP}
 echo MARIADB IP IS ${MARIADB_IP}
-# Wait for 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_PAP_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
-for i in {1..10}; do
-   curl -sS ${POLICY_API_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
 
 #Add policy type and policy to the database via the Policy Api
 AUTH="healthcheck:zb!XztG34"
index f05d3af..c2d7e21 100644 (file)
@@ -1,6 +1,7 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
 #  Copyright (C) 2019 Nordix Foundation.
+#  Modifications Copyright (C) 2019 AT&T Intellectual Property.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,4 +21,3 @@
 kill-instance.sh policy-pap
 kill-instance.sh policy-api
 kill-instance.sh mariadb
-kill-instance.sh policy-wait
index 96ae471..24fc2d7 100644 (file)
@@ -60,7 +60,13 @@ sleep 3
 
 # 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
-docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml up -d
+
+#Configure the database
+docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_all
 
 unset http_proxy https_proxy
 
@@ -77,25 +83,4 @@ echo PAP IP IS ${POLICY_PAP_IP}
 echo MARIADB IP IS ${MARIADB_IP}
 echo DMAAP_IP IS ${DMAAP_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_PDPX_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
-for i in {1..10}; do
-   curl -sS ${DMAAP_IP}:3904 && break
-   echo sleep $i
-   sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb  chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb  /docker-entrypoint-initdb.d/db.sh
-
 ROBOT_VARIABLES="-v POLICY_PDPX_IP:${POLICY_PDPX_IP} -v POLICY_API_IP:${POLICY_API_IP} -v POLICY_PAP_IP:${POLICY_PAP_IP}"
index d07e3d8..4d9c197 100644 (file)
@@ -1,43 +1,32 @@
 {
-    "configs": {
-        "dmaap": {
-            "dmaapConsumerConfiguration": {
-                "dmaapHostName": "dmaapmrhost",
-                "dmaapPortNumber": 3904,
-                "dmaapTopicName": "/events/unauthenticated.VES_NOTIFICATION_OUTPUT",
-                "dmaapProtocol": "http",
-                "dmaapUserName": "",
-                "dmaapUserPassword": "",
-                "dmaapContentType": "application/json",
-                "consumerId": "C12",
-                "consumerGroup": "OpenDcae-c12",
-                "timeoutMs": -1,
-                "messageLimit": 1
-            },
-            "dmaapProducerConfiguration": {
-                "dmaapHostName": "dmaapdrhost",
-                "dmaapPortNumber": 8443,
-                "dmaapTopicName": "publish",
-                "dmaapProtocol": "https",
-                "dmaapUserName": "dradmin",
-                "dmaapUserPassword": "dradmin",
-                "dmaapContentType": "application/octet-stream"
-            }
-        },
-        "ftp": {
-            "ftpesConfiguration": {
-                "keyCert": "/config/dfc.jks",
-                "keyPassword": "secret",
-                "trustedCa": "/config/ftp.jks",
-                "trustedCaPassword": "secret"
-            }
-        },
-        "security": {
-            "trustStorePath" : "trustStorePath",
-            "trustStorePasswordPath" : "trustStorePasswordPath",
-            "keyStorePath" : "keyStorePath",
-            "keyStorePasswordPath" : "keyStorePasswordPath",
-            "enableDmaapCertAuth" : "enableDmaapCertAuth"
-            }
+    "//description":"This file is only used for testing purposes",
+    "dmaap.ftpesConfig.keyCert":"/config/dfc.jks",
+    "dmaap.ftpesConfig.keyPassword":"secret",
+    "dmaap.ftpesConfig.trustedCa":"config/ftp.jks",
+    "dmaap.ftpesConfig.trustedCaPassword":"secret",
+    "dmaap.security.trustStorePath":"change it",
+    "dmaap.security.trustStorePasswordPath":"trustStorePasswordPath",
+    "dmaap.security.keyStorePath":"keyStorePath",
+    "dmaap.security.keyStorePasswordPath":"change it",
+    "dmaap.security.enableDmaapCertAuth":"false",
+    "dmaap.dmaapProducerConfiguration" : {
+          "changeIdentifier":"PM_MEAS_FILES",
+          "feedName":"feed00"
+     },  
+     "streams_subscribes":{
+       "dmaap_subscriber":{
+          "dmmap_info":{
+             "topic_url":"http://dradmin:dradmin@dmaapmrhost:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"
+          },
+          "type":"message_router"
+       }
+    },
+     "feed00":{
+       "username":"dradmin",
+       "log_url":"https://dmaapdrhost:8443/feedlog/1",
+       "publish_url":"https://dmaapdrhost:8443/publish/1",
+       "location":"san-francisco",
+       "password":"dradmin",
+       "publisher_id":"972.360gm"
     }
-}
\ No newline at end of file
+ }
\ No newline at end of file
index 7880656..59da2d9 100644 (file)
@@ -1,7 +1,7 @@
 version: '2.1'
 services:
   datarouter-prov:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov:2.1.0-SNAPSHOT-latest
+    image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov:latest
     container_name: datarouter-prov
     hostname: dmaap-dr-prov
     ports:
@@ -25,7 +25,7 @@ services:
       - "dcae-pm-mapper:3.3.3.3"
 
   datarouter-node:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-node:2.1.0-SNAPSHOT-latest
+    image: nexus3.onap.org:10001/onap/dmaap/datarouter-node:latest
     container_name: datarouter-node
     hostname: dmaap-dr-node
     ports:
@@ -41,7 +41,7 @@ services:
       - "dcae-pm-mapper:3.3.3.3"
 
   datarouter-subscriber:
-      image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber:2.1.0-SNAPSHOT-latest
+      image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber:latest
       container_name: fileconsumer-node
       hostname: subscriber.com
       ports:
@@ -76,7 +76,7 @@ services:
 
   ves:
     container_name: vescollector
-    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
+    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.4.4
     environment:
        DMAAPHOST:
 
index eeb8d59..0aa4863 100755 (executable)
@@ -97,7 +97,7 @@ pip install robotframework-selenium2library==1.8.0 robotframework-extendedseleni
 # install eteutils
 mkdir -p ${ROBOT_VENV}/src/onap
 rm -rf ${ROBOT_VENV}/src/onap/testsuite
-pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.4'
+pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.5'
 
 pip freeze
 
diff --git a/scripts/optf-cmso/cmso/start_cmso_containers.sh b/scripts/optf-cmso/cmso/start_cmso_containers.sh
deleted file mode 100644 (file)
index ded86d7..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# -------------------------------------------------------------------------
-#   Copyright (c) 2018 AT&T Intellectual Property
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-# -------------------------------------------------------------------------
-#
-
-echo "This is ${WORKSPACE}/scripts/opft-cmso/cmso/start_cmso_containers.sh"
-
-DB_IMAGE_VERSION=1.0-SNAPSHOT-latest
-SERVICE_IMAGE_VERSION=1.0-SNAPSHOT-latest
-
-# start cmso mariadb and  db-init containers with docker compose and configuration from cmso/cmso-service/extra/docker/cmso-service/docker-compose.yml
-
-docker run -p 3306:3306 --name cmso-mariadb -v $(pwd)/mariadb/conf1:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=beer -d mariadb:10.1.11
-
-CMSO_DB_IP=`get-instance-ip.sh  cmso-mariadb`
-
-${WORKSPACE}/scripts/optf-osdf/osdf/wait_for_port.sh ${CMSO_DB_IP} 3306
-
-sed  -i -e "s%192.168.56.101:3306%${CMSO_DB_IP}:3306%g" ./etc/config/cmso.properties
-sed  -i -e "s%192.168.56.101:3306%${CMSO_DB_IP}:3306%g" ./etc/config/liquibase.properties
-
-
-docker run --name cmso-db-init -v $(pwd)/etc:/share/etc -v $(pwd)/logs:/share/logs \
- -d nexus3.onap.org:10001/onap/optf-cmso-dbinit:${DB_IMAGE_VERSION}
-
-sleep 30
-
-docker run --name cmso-service -p 8080:8080 -v $(pwd)/etc:/share/etc -v $(pwd)/logs:/share/logs\
- -v $(pwd)/debug-logs:/share/debug-logs -d nexus3.onap.org:10001/onap/optf-cmso-service:${SERVICE_IMAGE_VERSION}
-
-CMSO_SERVICE_IP=`get-instance-ip.sh  cmso-service`
-
-${WORKSPACE}/scripts/optf-osdf/osdf/wait_for_port.sh ${CMSO_SERVICE_IP} 8080
-
-
-ROBOT_VARIABLES="-v GLOBAL_SCHEDULER_HOST:${CMSO_SERVICE_IP}"
-
-echo ${ROBOT_VARIABLES}
\ No newline at end of file
diff --git a/scripts/optf-cmso/cmso/wait_for_port.sh b/scripts/optf-cmso/cmso/wait_for_port.sh
deleted file mode 100755 (executable)
index 360fc21..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# -------------------------------------------------------------------------
-#   Copyright (c) 2018 AT&T Intellectual Property
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-# -------------------------------------------------------------------------
-#
-
-if [[ $# -ne 2 ]]; then
-       echo "Usage: wait-for-port hostname port" >&2
-       exit 1
-fi
-
-host=$1
-port=$2
-
-echo "Waiting for $host port $port open"
-until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do
-       sleep 1
-done
-
-echo "$host port $port is open"
-
-exit 0
index 452297f..5cf5a27 100644 (file)
@@ -36,8 +36,22 @@ services:
        - "6969:6969"
    start_dependencies:
       image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
       container_name: policy-wait
       depends_on:
         - mariadb
       hostname: policy-wait
       command: mariadb:3306
+   start_all:
+      image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
+      container_name: policy-wait-all
+      depends_on:
+        - mariadb
+        - api
+      hostname: policy-wait-all
+      command:
+        mariadb:3306
+        api:6969
index 115f884..383e1bc 100644 (file)
@@ -27,10 +27,10 @@ services:
       ports:
        - "3306:3306"
    pap:
-      image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+      image: nexus3.onap.org:10001/onap/policy-pap
       container_name: policy-pap
       depends_on: 
-       - "mariadb"
+       - mariadb
       hostname: policy-pap
       ports:
        - "6969:6969"
@@ -44,8 +44,24 @@ services:
        - "9969:6969"
    start_dependencies:
       image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
       container_name: policy-wait
       depends_on:
         - mariadb
       hostname: policy-wait
       command: mariadb:3306
+   start_all:
+      image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
+      container_name: policy-wait-all
+      depends_on:
+        - mariadb
+        - pap
+        - api
+      hostname: policy-wait-all
+      command:
+        mariadb:3306
+        pap:6969
+        api:6969
diff --git a/scripts/policy/policy-apex-pdp/config/apex-pdp/OnapPfConfig.json b/scripts/policy/policy-apex-pdp/config/apex-pdp/OnapPfConfig.json
deleted file mode 100644 (file)
index 6944c9b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-    "name":"OnapPfParameterGroup",
-     "restServerParameters": {
-        "host": "0.0.0.0",
-        "port": 6969,
-        "userName": "healthcheck",
-        "password": "zb!XztG34",
-        "https": true,
-        "aaf": false
-    },
-    "pdpStatusParameters":{
-        "timeIntervalMs": 10000,
-        "pdpType":"apex",
-        "description":"Pdp Heartbeat",
-        "supportedPolicyTypes":[{"name":"onap.policies.controlloop.operational.Apex","version":"1.0.0"}]
-    }
-}
diff --git a/scripts/policy/policy-apex-pdp/config/apex-pdp/topic.properties b/scripts/policy/policy-apex-pdp/config/apex-pdp/topic.properties
deleted file mode 100644 (file)
index b7df11a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# 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=========================================================
-
-dmaap.source.topics=POLICY-PDP-PAP
-dmaap.sink.topics=POLICY-PDP-PAP
-
-dmaap.source.topics.POLICY-PDP-PAP.servers= dmaap:3904
-dmaap.sink.topics.POLICY-PDP-PAP.servers= dmaap:3904
diff --git a/scripts/policy/policy-apex-pdp/config/pap/defaultConfig.json b/scripts/policy/policy-apex-pdp/config/pap/defaultConfig.json
deleted file mode 100644 (file)
index 32b6c30..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    "name": "PapGroup",
-    "restServerParameters": {
-        "host": "0.0.0.0",
-        "port": 6969,
-        "userName": "healthcheck",
-        "password": "zb!XztG34",
-        "https": true,
-        "aaf": false
-    },
-    "pdpParameters": {
-        "updateParameters": {
-            "maxRetryCount": 1,
-            "maxWaitMs": 30000
-        },
-        "stateChangeParameters": {
-            "maxRetryCount": 1,
-            "maxWaitMs": 30000
-        }
-    },
-    "databaseProviderParameters": {
-        "name": "PolicyProviderParameterGroup",
-        "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
-        "databaseDriver": "org.mariadb.jdbc.Driver",
-        "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
-        "databaseUser": "policy_user",
-        "databasePassword": "cG9saWN5X3VzZXI=",
-        "persistenceUnit": "PolicyMariaDb"
-    }
-}
diff --git a/scripts/policy/policy-apex-pdp/config/pap/logback.xml b/scripts/policy/policy-apex-pdp/config/pap/logback.xml
deleted file mode 100644 (file)
index a34956c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<!--
-  ============LICENSE_START=======================================================
-   Copyright (C) 2019 Nordix Foundation.
-   Modifications Copyright (C) 2019 AT&T Intellectual Property.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-       http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  SPDX-License-Identifier: Apache-2.0
-  ============LICENSE_END=========================================================
--->
-
-<configuration scan="true" scanPeriod="30 seconds" debug="false">
-
-    <property name="logDir" value="${POLICY_LOGS}" />
-
-    <property name="errorLog" value="error" />
-    <property name="debugLog" value="debug" />
-    <property name="networkLog" value="network" />
-
-    <property name="debugPattern"
-        value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n" />
-    <property name="errorPattern" value="${debugPattern}" />
-    <property name="networkPattern" value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n" />
-
-    <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDir}/${errorLog}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${logDir}/${errorLog}.%d{yyyy-MM-dd}.%i.log.zip
-            </fileNamePattern>
-            <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>10GB</totalSizeCap>
-        </rollingPolicy>
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <encoder>
-            <pattern>${errorPattern}</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">
-        <appender-ref ref="ErrorOut" />
-    </appender>
-
-    <appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDir}/${debugLog}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${logDir}/${debugLog}.%d{yyyy-MM-dd}.%i.log.zip
-            </fileNamePattern>
-            <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>10GB</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${debugPattern}</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">
-        <appender-ref ref="DebugOut" />
-    </appender>
-
-    <appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDir}/${networkLog}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${logDir}/${networkLog}.%d{yyyy-MM-dd}.%i.log.zip
-            </fileNamePattern>
-            <maxFileSize>50MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>10GB</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${networkPattern}</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">
-        <appender-ref ref="NetworkOut" />
-    </appender>
-
-    <logger name="network" level="INFO" additivity="false">
-        <appender-ref ref="AsyncNetworkOut" />
-    </logger>
-
-    <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">
-        <appender-ref ref="AsyncNetworkOut" />
-    </logger>
-
-    <root level="INFO">
-        <appender-ref ref="AsyncDebugOut" />
-        <appender-ref ref="AsyncErrorOut" />
-    </root>
-
-</configuration>
diff --git a/scripts/policy/policy-apex-pdp/config/pap/s3pConfig.json b/scripts/policy/policy-apex-pdp/config/pap/s3pConfig.json
deleted file mode 100644 (file)
index 3085f45..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "name": "PapGroup",
-    "restServerParameters": {
-        "host": "0.0.0.0",
-        "port": 6969,
-        "userName": "healthcheck",
-        "password": "zb!XztG34",
-        "https": true,
-        "aaf": false
-    }
-}
diff --git a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystore b/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystore
deleted file mode 100644 (file)
index bf876b8..0000000
Binary files a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystore and /dev/null differ
diff --git a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststore b/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststore
deleted file mode 100644 (file)
index b7d52ad..0000000
Binary files a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststore and /dev/null differ
diff --git a/scripts/policy/policy-apex-pdp/config/pap/topic.properties b/scripts/policy/policy-apex-pdp/config/pap/topic.properties
deleted file mode 100644 (file)
index b7df11a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# 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=========================================================
-
-dmaap.source.topics=POLICY-PDP-PAP
-dmaap.sink.topics=POLICY-PDP-PAP
-
-dmaap.source.topics.POLICY-PDP-PAP.servers= dmaap:3904
-dmaap.sink.topics.POLICY-PDP-PAP.servers= dmaap:3904
index 9039b89..c6578dd 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2019 Nordix Foundation.
+# Modifications Copyright (C) 2019 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.
@@ -26,21 +27,20 @@ services:
          - ./config/db:/docker-entrypoint-initdb.d
       ports:
        - "3306:3306"
-   dmaap:
+   message-router:
       image: dmaap/simulator
       container_name: dmaap-simulator
       hostname: dmaap-simulator
       ports:
        - "3904:3904"
    pap:
-      image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+      image: nexus3.onap.org:10001/onap/policy-pap
       container_name: policy-pap
       depends_on:
        - mariadb
-       - dmaap
+       - message-router
       hostname: policy-pap
-      volumes:
-         - ./config/pap/:/opt/app/policy/pap/etc/
+
    api:
       image: nexus3.onap.org:10001/onap/policy-api
       container_name: policy-api
@@ -48,27 +48,45 @@ services:
        - mariadb
       hostname: policy-api
    apex:
-      image: nexus3.onap.org:10001/onap/policy-apex-pdp:2.1-SNAPSHOT-latest
+      image: nexus3.onap.org:10001/onap/policy-apex-pdp
       container_name: policy-apex-pdp
       depends_on:
        - mariadb
-       - dmaap
+       - message-router
        - pap
-       - api
       hostname: policy-apex-pdp
       command: ['/opt/app/policy/apex-pdp/bin/apexOnapPf.sh', '-c', '/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json', '-p', '/opt/app/policy/apex-pdp/etc/onappf/config/topic.properties']
-      volumes:
-         - ./config/apex-pdp/:/opt/app/policy/apex-pdp/etc/onappf/config/
+
       ports:
        - "6969:6969"
        - "23324:23324"
    start_dependencies:
       image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
       container_name: policy-wait
       depends_on:
         - mariadb
-        - dmaap
+        - message-router
       hostname: policy-wait
       command:
-        - mariadb:3306
-        - dmaap:3904
+        mariadb:3306
+        message-router:3904
+   start_all:
+      image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
+      container_name: policy-wait-all
+      depends_on:
+        - mariadb
+        - message-router
+        - api
+        - pap
+        - apex
+      hostname: policy-wait-all
+      command:
+        mariadb:3306
+        message-router:3904
+        api:6969
+        pap:6969
+        apex:6969
index 62e0ce2..96a4b12 100644 (file)
@@ -37,7 +37,7 @@ services:
       ports:
        - "3904:3904"
    pap:
-      image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+      image: nexus3.onap.org:10001/onap/policy-pap
       container_name: policy-pap
       depends_on:
        - mariadb
@@ -50,23 +50,42 @@ services:
        - mariadb
       hostname: policy-api
    xacml-pdp:
-      image: nexus3.onap.org:10001/onap/policy-xacml-pdp:2.0.0-SNAPSHOT-latest 
+      image: nexus3.onap.org:10001/onap/policy-xacml-pdp
       container_name: policy-xacml-pdp
       depends_on:
        - mariadb
        - message-router
        - pap
-       - api
       hostname: policy-xacml-pdp
       ports:
        - "6969:6969"
    start_dependencies:
       image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
       container_name: policy-wait
       depends_on:
         - mariadb
         - message-router
       hostname: policy-wait
       command:
-        - mariadb:3306
-        - message-router:3904
+        mariadb:3306
+        message-router:3904
+   start_all:
+      image: dadarek/wait-for-dependencies
+      environment:
+        TIMEOUT_LENGTH: 60
+      container_name: policy-wait-all
+      depends_on:
+        - mariadb
+        - message-router
+        - api
+        - pap
+        - xacml-pdp
+      hostname: policy-wait-all
+      command:
+        mariadb:3306
+        message-router:3904
+        api:6969
+        pap:6969
+        xacml-pdp:6969
index 10ce41c..3a768df 100644 (file)
@@ -1,39 +1,37 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW8",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW8",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7"
-      }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW8",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW8",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7"
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
index 10ce41c..3a768df 100644 (file)
@@ -1,39 +1,37 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW8",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW8",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7"
-      }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW8",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW8",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7"
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
index 13c564c..cd3e73f 100644 (file)
@@ -13,7 +13,7 @@
         "modelNumber": "modelNumber",
         "unitType": "unitType",
         "additionalFields": {
-          "attachmentPoint": "bla-bla-30-3",
+          "attachment-point": "bla-bla-30-3",
           "svlan": "1005",
           "cvlan": "678"
         }
index 9be02f1..0f2af3c 100644 (file)
@@ -14,7 +14,7 @@
         "modelNumber": "modelNumber",
         "unitType": "unitType",
         "additionalFields": {
-          "attachmentPoint": "bla-bla-30-3",
+          "attachment-point": "bla-bla-30-3",
           "svlan": "1005",
           "cvlan": "678"
         }
index 054774c..97d2dff 100644 (file)
@@ -11,7 +11,7 @@
         "modelNumber": "modelNumber",
         "unitType": "unitType",
         "additionalFields": {
-          "attachmentPoint": "bla-bla-30-3",
+          "attachment-point": "bla-bla-30-3",
           "svlan": "1005",
           "cvlan": "678"
         }
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
new file mode 100644 (file)
index 0000000..6119ea8
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "service-instance-id": "bbs_service",
+  "service-instance-name": "bbs_service",
+  "environment-context": "General_Revenue-Bearing",
+  "workload-context": "Production",
+  "model-invariant-id": "c71827e7-42fc-46ab-b059-22584c58108b",
+  "model-version-id": "8efe4a8a-6646-43e2-8807-a376ff22d2e0",
+  "resource-version": "1554127221722",
+  "orchestration-status": "Active",
+  "relationship-list": {
+    "relationship": [
+      {
+        "related-to": "pnf",
+        "relationship-label": "org.onap.relationships.inventory.ComposedOf",
+        "related-link": "/aai/v12/network/pnfs/pnf/NOK6061ZW9",
+        "relationship-data": [
+          {
+            "relationship-key": "pnf.pnf-name",
+            "relationship-value": "NOK6061ZW9"
+          }
+        ]
+      }
+    ]
+  }
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
new file mode 100644 (file)
index 0000000..e01e26e
--- /dev/null
@@ -0,0 +1,66 @@
+{
+    "pnf-name": "NOK6061ZW9",
+    "pnf-name2": "example-pnf-name2-val-58071",
+    "pnf-name2-source": "example-pnf-name2-source-val-22408",
+    "pnf-id": "example-pnf-id-val-55834",
+    "equip-type": "example-equip-type-val-5497",
+    "equip-vendor": "example-equip-vendor-val-85730",
+    "equip-model": "example-equip-model-val-38526",
+    "management-option": "example-management-option-val-15776",
+    "ipaddress-v4-oam": "example-ipaddress-v4-oam-val-33556",
+    "sw-version": "example-sw-version-val-64239",
+    "in-maint": true,
+    "frame-id": "example-frame-id-val-76733",
+    "serial-number": "example-serial-number-val-79366",
+    "ipaddress-v4-loopback-0": "example-ipaddress-v4-loopback0-val-34781",
+    "ipaddress-v6-loopback-0": "example-ipaddress-v6-loopback0-val-29979",
+    "ipaddress-v4-aim": "example-ipaddress-v4-aim-val-53703",
+    "ipaddress-v6-aim": "example-ipaddress-v6-aim-val-93386",
+    "ipaddress-v6-oam": "example-ipaddress-v6-oam-val-92665",
+    "inv-status": "example-inv-status-val-8477",
+    "prov-status": "example-prov-status-val-68268",
+    "nf-role": "example-nf-role-val-68489",
+    "relationship-list": {
+        "relationship": [
+            {
+                "related-to": "service-instance",
+                "relationship-label": "org.onap.relationships.inventory.ComposedOf",
+                "related-link": "/aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service",
+                "relationship-data": [
+                    {
+                        "relationship-key": "customer.global-customer-id",
+                        "relationship-value": "Demonstration"
+                    },
+                    {
+                        "relationship-key": "service-subscription.service-type",
+                        "relationship-value": "vFW"
+                    },
+                    {
+                        "relationship-key": "service-instance.service-instance-id",
+                        "relationship-value": "bbs_service"
+                    }
+                ],
+                "related-to-property": [
+                    {
+                        "property-key": "service-instance.service-instance-name",
+                        "property-value": "bbs_service"
+                    }
+                ]
+            },
+            {
+                "related-to": "logical-link",
+                "relationship-label": "org.onap.relationships.inventory.BridgedTo",
+                "related-link": "/aai/v12/network/logical-links/logical-link/bbs-link",
+                "relationship-data": [
+                    {
+                        "relationship-key": "logical-link.link-name",
+                        "relationship-value": "bbs-link"
+                    }
+                ]
+            }
+        ]
+    }
+
+
+
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json
new file mode 100644 (file)
index 0000000..0e4f6ab
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "link-name": "bbs-link",
+  "in-maint": false,
+  "link-type": "attachment-point",
+  "relationship-list":
+  {
+    "relationship": [
+      {
+        "related-to": "pnf",
+        "relationship-label": "org.onap.relationships.inventory.BridgedTo",
+        "related-link": "/network/pnfs/pnf/NOK6061ZW9",
+        "relationship-data": [
+          {
+            "relationship-key": "pnf.pnf-name",
+            "relationship-value": "NOK6061ZW9"
+          }
+        ]
+      }
+    ]
+  }
+}
+
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json
new file mode 100644 (file)
index 0000000..5c77e12
--- /dev/null
@@ -0,0 +1,8 @@
+[
+  {
+    "additionalFields": {
+      "attachment-point": "bbs-link"
+    },
+    "correlationId": "NOK6061ZW9"
+  }
+]
\ No newline at end of file
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/ves-event.json b/tests/dcaegen2/prh-testcases/assets/re-registration/ves-event.json
new file mode 100644 (file)
index 0000000..5de986c
--- /dev/null
@@ -0,0 +1,40 @@
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
+      },
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW9",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW9",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7",
+      "additionalFields": {
+        "attachment-point": "bbs-link"
+      }
+    }
+  }
+}
\ No newline at end of file
index 2bdc057..dd135f4 100644 (file)
@@ -1,18 +1,16 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "sourceName": ""
-      },
-      "pnfRegistrationFields": {
-        "oamV4IpAddress": "10.18.123.236",
-        "oamV6IpAddress": "2001:0db8:85a3:0000:0000:8a2a:0370:7334",
-        "serialNumber": "",
-        "vendorName": "",
-        "modelNumber": "",
-        "unitType": "",
-        "additionalFields": {}
-      }
+{
+  "event": {
+    "commonEventHeader": {
+      "sourceName": ""
+    },
+    "pnfRegistrationFields": {
+      "oamV4IpAddress": "10.18.123.236",
+      "oamV6IpAddress": "2001:0db8:85a3:0000:0000:8a2a:0370:7334",
+      "serialNumber": "",
+      "vendorName": "",
+      "modelNumber": "",
+      "unitType": "",
+      "additionalFields": {}
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
index c48c841..9b4c7e2 100644 (file)
@@ -1,11 +1,13 @@
 {
   "link-name": "bbs-link",
-  "link-type": "attachmentPoint",
-  "relationship-list": [
+  "link-type": "attachment-point",
+  "relationship-list":
     {
-      "relationship": {
-        "related-link": "/network/pnfs/pnf/NOK6061ZW9"
-      }
+      "relationship": [
+            {
+            "related-link": "/network/pnfs/pnf/NOK6061ZW9",
+            "relationship-data": []
+            }
+        ]
     }
-  ]
 }
index 9f02498..5de986c 100644 (file)
@@ -1,42 +1,40 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW9",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW9",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7",
-        "additionalFields": {
-          "attachmentPoint": "bbs-link"
-        }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW9",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW9",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7",
+      "additionalFields": {
+        "attachment-point": "bbs-link"
       }
     }
   }
-]
+}
\ No newline at end of file
index b7e5af5..ba91f28 100644 (file)
@@ -1,41 +1,39 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW8",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW8",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7",
-        "additionalFields": {
-        }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW8",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW8",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7",
+      "additionalFields": {
       }
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
index c1b6dc2..b56341f 100644 (file)
@@ -1,42 +1,40 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW8",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW8",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7",
-        "additionalFields": {
-          "attachmentPoint": ""
-        }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW8",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW8",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7",
+      "additionalFields": {
+        "attachment-point": ""
       }
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
index 10ce41c..3a768df 100644 (file)
@@ -1,39 +1,37 @@
-[
-  {
-    "event": {
-      "commonEventHeader": {
-        "startEpochMicrosec": 1540212137393,
-        "sourceId": "val13",
-        "eventId": "registration_40212137",
-        "nfcNamingCode": "oam",
-        "internalHeaderFields": {
-          "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
-        },
-        "eventType": "pnfRegistration",
-        "priority": "Normal",
-        "version": "4.0.1",
-        "reportingEntityName": "NOK6061ZW8",
-        "sequence": 0,
-        "domain": "pnfRegistration",
-        "lastEpochMicrosec": 1540212137393,
-        "eventName": "pnfRegistration_Nokia_5gDu",
-        "vesEventListenerVersion": "7.0.1",
-        "sourceName": "NOK6061ZW8",
-        "nfNamingCode": "gNB"
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1540212137393,
+      "sourceId": "val13",
+      "eventId": "registration_40212137",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {
+        "collectorTimeStamp": "Mon, 10 22 2018 12:42:18 UTC"
       },
-      "pnfRegistrationFields": {
-        "unitType": "val8",
-        "serialNumber": "6061ZW9",
-        "pnfRegistrationFieldsVersion": "2.0",
-        "manufactureDate": "1540212137393",
-        "modelNumber": "val6",
-        "lastServiceDate": "1540212137393",
-        "unitFamily": "BBU",
-        "vendorName": "Nokia",
-        "oamV4IpAddress": "val3",
-        "oamV6IpAddress": "val4",
-        "softwareVersion": "val7"
-      }
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW8",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1540212137393,
+      "eventName": "pnfRegistration_Nokia_5gDu",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "NOK6061ZW8",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW9",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1540212137393",
+      "modelNumber": "val6",
+      "lastServiceDate": "1540212137393",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "val3",
+      "oamV6IpAddress": "val4",
+      "softwareVersion": "val7"
     }
   }
-]
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/prh-testcases/prh_config_tests.robot b/tests/dcaegen2/prh-testcases/prh_config_tests.robot
new file mode 100644 (file)
index 0000000..144504d
--- /dev/null
@@ -0,0 +1,33 @@
+*** Settings ***
+Documentation     Tests related to updating PRH app config based on CBS config
+Suite Setup       Run keywords   Create sessions
+Resource          resources/prh_sessions.robot
+Resource          resources/prh_config_library.robot
+Resource          resources/prh_library.robot
+Test Timeout      15 seconds
+
+*** Test Cases ***
+CBS configuration forced refresh
+    [Documentation]    It should be possible to force refresh PRH configuration from CBS
+    [Tags]    PRH    coniguration
+    ${some_random_value}=     Generate random value
+    Put key-value to consul    foo_${some_random_value}    bar_${some_random_value}
+    Force PRH config refresh
+    Check key-value in PRH app environment    foo_${some_random_value}    bar_${some_random_value}
+
+CBS configuration scheduled refresh
+    [Documentation]    PRH should pull for CBS configuration updates according to schedule
+    [Tags]    PRH    coniguration
+    Set scheduled CBS updates interval   1s
+    ${some_random_value}=     Generate random value
+    Put key-value to consul    spam_${some_random_value}    ham_${some_random_value}
+    wait until keyword succeeds    20x   500ms
+    ...    Check key-value in PRH app environment    spam_${some_random_value}    ham_${some_random_value}
+    [Teardown]    Set scheduled CBS updates interval    0
+
+PRH log level change based on CBS config
+    [Documentation]    It should be possible to change logging levels in PRH based on entries in CBS
+    [Tags]    PRH    coniguration    logging
+    Set logging level in CBS    org.onap.dcaegen2.services.prh.foo    WARN
+    Force PRH config refresh
+    Verify logging level    org.onap.dcaegen2.services.prh.foo    WARN
\ No newline at end of file
index acaf78f..4e387b9 100644 (file)
@@ -6,18 +6,14 @@ Test Teardown     Reset Simulators
 Test Timeout      2 minutes
 
 Library           resources/PrhLibrary.py
+Resource          resources/prh_sessions.robot
 Resource          resources/prh_library.robot
-Resource          ../../common.robot
 
 *** Variables ***
 ${TEST_CASES_DIR}    %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets
 
-${DMAAP_SIMULATOR_SETUP_URL}    http://${DMAAP_SIMULATOR_SETUP}
-${AAI_SIMULATOR_SETUP_URL}    http://${AAI_SIMULATOR_SETUP}
-${CONSUL_SETUP_URL}    http://${CONSUL_SETUP}
-
 *** Test Cases ***
-Simple BBS case event
+BBS case event - attachment point
     [Documentation]    PRH get from DMaaP valid event with valid attachment point
     [Tags]    PRH    Valid event    Attachment point
     [Template]    Verify PNF ready sent and logical link created
@@ -52,3 +48,13 @@ Should not sent PNF ready when AAI is not responding
     [Tags]    PRH    AAI not responding
     Verify AAI not responding is logged    ${TEST_CASES_DIR}/aai-not-responding
 
+BBS case event - Re-registration
+    [Documentation]    After regitered PNF, PRH reads another one PRH event with registration event
+    [Tags]    PRH    Valid event    Re registraiton
+    [Template]    Verify PNF re registration
+    ${TEST_CASES_DIR}/re-registration
+
+PRH logging level change
+    [Documentation]    ad-hoc PRH logging level change using rest endpoint
+    [Tags]    PRH    logging level
+    Verify change logging level
index a558a2e..b1de55a 100644 (file)
@@ -1,5 +1,4 @@
-LOG_LEVEL=INFO
-PRH_LOG_LEVEL=TRACE
 HOSTNAME=dcae-prh
 CONSUL_HOST=consul
 CONFIG_BINDING_SERVICE=cbs
+CONFIG_BINDING_SERVICE_SERVICE_PORT=10000
\ No newline at end of file
index 88aeb45..b3f5f8d 100644 (file)
@@ -1,5 +1,5 @@
 import json
-
+import re
 import docker
 import time
 
@@ -10,84 +10,73 @@ class PrhLibrary(object):
         pass
 
     @staticmethod
-    def find_log_entry(search_for):
-        print (type(search_for))
+    def find_one_of_log_entryies(searched_entries):
+        print(type(searched_entries))
         client = docker.from_env()
         container = client.containers.get('prh')
-        print ("Check for log searches for pattern: ", search_for )
+        print("Check for log searches for pattern: ", searched_entries)
         for line in container.logs(stream=True):
-            print ("Check for log analysis line: ", line )
-            if search_for in line.strip():
+            print("Check for log analysis line: ", line )
+            for searched_entry in searched_entries:
+                if searched_entry in line.strip():
+                    return True
+        else:
+            return False
+
+    @staticmethod
+    def find_log_json(prefix, json_message):
+        print("Looking for:")
+        print("Prefix: " + str(prefix))
+        print("Json: " + str(json_message))
+        try:
+            decoded_message = json.loads(json_message)
+        except json.JSONDecodeError:
+            print("Could not decode given message")
+            return False
+        pattern = re.compile(prefix + "(.*)$")
+        client = docker.from_env()
+        container = client.containers.get('prh')
+        for line in container.logs(stream=True):
+            print("Check for log analysis line: ", line )
+            if PrhLibrary.__same_json_in_log(decoded_message, line, pattern):
                 return True
         else:
             return False
 
     @staticmethod
     def create_invalid_notification(json_file):
-        event = json.loads(json_file)[0]
-        correlation_id = PrhLibrary.extract_correlation_id_value(event, "correlationId")
-        ipv4 = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "oamV4IpAddress", "oamV4IpAddress")
-        ipv6 = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "oamV6IpAddress", "oamV6IpAddress")
-        serial_number = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "serialNumber", "serialNumber")
-        vendor_name = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "vendorName", "vendorName")
-        model_number = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "modelNumber", "modelNumber")
-        unit_type = PrhLibrary.extract_value_from_pnfRegistrationFields(event, "unitType", "unitType")
-
-        additional_fields = PrhLibrary.extract_additional_fields(event)
-
-        str_json = '{' + correlation_id + ipv4 + ipv6 + serial_number + vendor_name + model_number + unit_type + '"nfNamingCode":""' + "," + '"softwareVersion":"",' + additional_fields
-        return json.dumps(str_json).replace("\\", "")[1:-1].replace("\":", "\": ").rstrip(',') + '\\n}'
+        output = {}
+        input = json.loads(json_file)
+        output["correlationId"] = PrhLibrary.__extract_correlation_id_value(input)
+        output["oamV4IpAddress"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "oamV4IpAddress")
+        output["oamV6IpAddress"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "oamV6IpAddress")
+        output["serialNumber"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "serialNumber")
+        output["vendorName"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "vendorName")
+        output["modelNumber"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "modelNumber")
+        output["unitType"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "unitType")
+        output['nfNamingCode'] = ''
+        output['softwareVersion'] = ''
+
+        output["additionalFields"] = PrhLibrary.__get_additional_fields_as_key_value_pairs(input)
+
+        return json.dumps(output)
 
     @staticmethod
     def create_pnf_ready_notification_as_pnf_ready(json_file):
-        json_to_python = json.loads(json_file)
-        correlation_id = PrhLibrary.extract_correlation_id_value(json_to_python, "correlationId")
-
-        additional_fields = PrhLibrary.extract_additional_fields_value(json_to_python)
+        output = {}
+        input = json.loads(json_file)[0]
 
-        str_json = '{' + correlation_id + additional_fields
+        output["correlationId"] = PrhLibrary.__extract_correlation_id_value(input)
+        output["serialNumber"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "serialNumber")
+        output["equip-vendor"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "vendorName")
+        output["equip-model"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "modelNumber")
+        output["equip-type"] = PrhLibrary.__extract_value_from_pnfRegistrationFields(input, "unitType")
+        output["nf-role"] = PrhLibrary.__extract_nf_role(input)
+        output["sw-version"] = ""
 
-        return json.dumps(str_json.rstrip(',') + '}').replace("\\", "")[1:-1]
-
-    @staticmethod
-    def extract_additional_fields_value(content):
-        fields = PrhLibrary.get_additional_fields_as_key_value_pairs(content)
-        if len(fields) == 0:
-            return ""
-        return PrhLibrary.build_additional_fields_json(fields)
-
-    @staticmethod
-    def extract_additional_fields(content):
-        fields = PrhLibrary.get_additional_fields_as_key_value_pairs(content)
-        if fields == []:
-            return '"additionalFields":null'
-        return PrhLibrary.build_additional_fields_json(fields)
-
-    @staticmethod
-    def get_additional_fields_as_key_value_pairs(content):
-        return content.get("event").get("pnfRegistrationFields").get(
-            "additionalFields") if "additionalFields" in content["event"]["pnfRegistrationFields"] else []
-
-    @staticmethod
-    def build_additional_fields_json(fields):
-        res = '"additionalFields":{'
-        for f in fields:
-            res += '"' + f + '":"' + fields.get(f) + '",'
-        return res.rstrip(',') + '},'
-
-    @staticmethod
-    def extract_value_from_pnfRegistrationFields(content, name, key):
-        return '"' + name + '":"' + (content.get("event").get("pnfRegistrationFields").get(key) + '",' if key in content["event"]["pnfRegistrationFields"] else '",')
-
-    @staticmethod
-    def extract_correlation_id_value(content, name):
-        return '"' + name + '":"' + (content.get("event").get("commonEventHeader").get("sourceName") + '",' if "sourceName" in content["event"]["commonEventHeader"] else '",')
+        output["additionalFields"] = PrhLibrary.__get_additional_fields_as_key_value_pairs(input)
 
-    @staticmethod
-    def create_pnf_name(json_file):
-        json_to_python = json.loads(json_file)
-        correlation_id = json_to_python.get("event").get("commonEventHeader").get("sourceName") + '",' if "sourceName" in json_to_python["event"]["commonEventHeader"] else '",'
-        return correlation_id
+        return json.dumps(output)
 
     @staticmethod
     def ensure_container_is_running(name):
@@ -127,4 +116,55 @@ class PrhLibrary(object):
 
     @staticmethod
     def is_in_status(client, name, status):
-        return len(client.containers.list(all=True, filters={"name": "^/"+name+"$", "status": status})) == 1
\ No newline at end of file
+        return len(client.containers.list(all=True, filters={"name": "^/"+name+"$", "status": status})) == 1
+
+    @staticmethod
+    def create_pnf_name(json_file):
+        json_to_python = json.loads(json_file)
+        correlation_id = json_to_python.get("event").get("commonEventHeader").get("sourceName") + '",' if "sourceName" in json_to_python["event"]["commonEventHeader"] else '",'
+        return correlation_id
+
+    @staticmethod
+    def __get_additional_fields_as_key_value_pairs(content):
+        return content.get("event").get("pnfRegistrationFields").get(
+            "additionalFields") if "additionalFields" in content["event"]["pnfRegistrationFields"] else {}
+
+    @staticmethod
+    def __extract_value_from_pnfRegistrationFields(content, key):
+        return content["event"]["pnfRegistrationFields"][key] if key in content["event"]["pnfRegistrationFields"] else ''
+
+    @staticmethod
+    def __extract_correlation_id_value(content):
+        return content["event"]["commonEventHeader"]["sourceName"] if "sourceName" in content["event"]["commonEventHeader"] else ''
+
+    @staticmethod
+    def __extract_nf_role(content):
+        return content["event"]["commonEventHeader"]["nfNamingCode"] if "nfNamingCode" in content["event"]["commonEventHeader"] else ''
+
+    @staticmethod
+    def __same_json_in_log(decoded_message, line, pattern):
+        extracted_json = PrhLibrary.__extract_json(line, pattern)
+        if extracted_json is not None:
+            print("Found json: " + extracted_json)
+            try:
+                if json.loads(extracted_json) == decoded_message:
+                    return True
+            except json.JSONDecodeError:
+                print("Could not decode")
+        return False
+
+    @staticmethod
+    def __extract_json(line, pattern):
+        full_message = PrhLibrary.__extract_full_message_from_line(line)
+        if full_message is not None:
+            match = pattern.match(full_message)
+            if match:
+                return match.group(1).replace("\\n", "\n").replace("\\t", "\t")
+        return None
+
+    @staticmethod
+    def __extract_full_message_from_line(line):
+        split = line.split("|")
+        if len(split) > 3:
+            return split[3]
+        return None
index aba658b..ca94dfb 100644 (file)
@@ -8,11 +8,10 @@ services:
     volumes:
       - ./simulator/certs:/tmp/certs
     environment:
-      - LOG_LEVEL
-      - PRH_LOG_LEVEL
-      - HOSTNAME
-      - CONSUL_HOST
+      - HOSTNAME=dcae-prh
+      - CONSUL_HOST                # not in use, but still required by SDK - should be removed later on
       - CONFIG_BINDING_SERVICE
+      - CONFIG_BINDING_SERVICE_SERVICE_PORT
     container_name: prh
     depends_on:
       cbs:
@@ -55,6 +54,10 @@ services:
     image: consul:1.0.6
     restart: on-failure
     command: ["kv", "put", "-http-addr=http://consul:8500", "dcae-prh", '{
+                                              "cbs.updates-interval": 0,
+                                              "logging.level.org.onap.dcaegen2.services.prh": "debug",
+                                              "logging.level.org.onap.dcaegen2.services.sdk": "debug",
+                                              "logging.level.org.onap.dcaegen2.services.prh.controllers.AppInfoController": "off",
                                               "dmaap.dmaapConsumerConfiguration.dmaapUserName":"admin",
                                               "dmaap.dmaapConsumerConfiguration.dmaapUserPassword":"admin",
                                               "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json",
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_config_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_config_library.robot
new file mode 100644 (file)
index 0000000..26a6270
--- /dev/null
@@ -0,0 +1,43 @@
+*** Settings ***
+Documentation     Keywords related to checking and updating PRH app config based on CBS config
+Library           RequestsLibrary
+Library           Collections
+
+*** Keywords ***
+
+Put key-value to consul
+   [Arguments]    ${key}    ${value}
+   ${prh_config}=    Get PRH config from consul
+   set to dictionary    ${prh_config}    ${key}    ${value}
+   put request    consul_session    /v1/kv/dcae-prh    json=${prh_config}
+   Get PRH config from consul    prh config in consul after update
+
+Get PRH config from consul
+    [Arguments]    ${logMessage}=prh config in consul
+    ${phr_config_response}=    get request    consul_session    /v1/kv/dcae-prh?raw
+    log    ${logMessage}: ${phr_config_response.content}
+    [Return]    ${phr_config_response.json()}
+
+Force PRH config refresh
+    ${refresh_response}=    post request    prh_session    /actuator/refresh
+    should be equal as integers    ${refresh_response.status_code}    200
+
+Check key-value in PRH app environment
+    [Arguments]    ${key}    ${expected_value}
+    ${env_response}=    get request    prh_session    /actuator/env/${key}
+    should be equal as integers    ${env_response.status_code}    200
+    log    ${env_response.content}
+    should be equal    ${env_response.json()["property"]["value"]}    ${expected_value}
+
+Set scheduled CBS updates interval
+    [Arguments]    ${cbs_updates_interval}
+    Put key-value to consul    cbs.updates-interval    ${cbs_updates_interval}
+    Force PRH config refresh
+
+Set logging level in CBS
+    [Arguments]    ${logger}   ${level}
+    Put key-value to consul    logging.level.${logger}    ${level}
+
+Generate random value
+    ${some_random_value}     evaluate    random.randint(sys.maxint/10, sys.maxint)    modules=random,sys
+    [Return]    ${some_random_value}
\ No newline at end of file
index 1fae100..3ed377c 100644 (file)
@@ -13,27 +13,29 @@ Verify PNF ready sent
     Add PNF entry in AAI    ${pnf_entry}
     Set VES event in DMaaP    ${ves_event}
     Wait Until Keyword Succeeds    10x    3000ms    Check CBS ready
-    Wait Until Keyword Succeeds    10x    3000ms    Check recorded PNF_READY notification    ${expected_pnf_ready_event}
+    Wait Until Keyword Succeeds    10x    3000ms    Check created PNF_READY notification    ${expected_pnf_ready_event}
 
 Verify PNF ready sent and logical link created
     [Arguments]    ${test_case_directory}
     ${expected_logical_link}=    Get Data From File    ${test_case_directory}/expected-logical-link.json
     Verify PNF ready sent    ${test_case_directory}
-    Check recorded Logical Link    ${expected_logical_link}
+    Check created Logical Link   ${expected_logical_link}
 
 Verify event with missing required field is logged
     [Arguments]    ${test_case_directory}
     ${invalid_ves_event}=    Get Data From File    ${test_case_directory}/invalid-ves-event.json
     Set VES event in DMaaP    ${invalid_ves_event}
-    ${error_msg}=    Create event parsing error    ${invalid_ves_event}
-    Wait Until Keyword Succeeds    10x    3000ms    Check PRH log    ${error_msg}
+    Log    Invalid ves event: ${invalid_ves_event}
+    ${notification}=    Create invalid notification    ${invalid_ves_event}
+    ${error_msg}=    Set Variable    Incorrect json, consumerDmaapModel can not be created:
+    Wait Until Keyword Succeeds    10x    3000ms    Check PRH json log    ${error_msg}    ${notification}
 
 Verify incorrect JSON event is logged
     [Timeout]    60s
     [Arguments]    ${test_case_directory}
     ${invalid_ves_event}=    Get Data From File    ${test_case_directory}/invalid-ves-event.json
     Set VES event in DMaaP    ${invalid_ves_event}
-    Wait Until Keyword Succeeds    10x    3000ms    Check PRH log    |com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonArray
+    Check PRH log    |WARN    |Incorrect json, consumerDmaapModel can not be created:
 
 Verify missing AAI record is logged
     [Timeout]    100s
@@ -42,8 +44,7 @@ Verify missing AAI record is logged
     ${ves_event}=    Get Data From File    ${test_case_directory}/ves-event.json
     Add PNF entry in AAI    ${incorrect_aai_entry}
     Set VES event in DMaaP    ${ves_event}
-    Wait Until Keyword Succeeds    10x    3000ms    Check PRH log    |AAIProducerTask exception has been registered
-    Wait Until Keyword Succeeds    10x    3000ms    Check PRH log    |Chain of tasks have been aborted due to errors in PRH workflow
+    Check PRH log    Request failed for URL 'https://aai:3334/aai/v12/network/pnfs/pnf/NOK6061ZW8'. Response code: 404 Not Found
 
 Verify AAI not responding is logged
     [Timeout]    100s
@@ -51,30 +52,56 @@ 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 Until Keyword Succeeds    10x    3000ms    Check PRH log    java.net.UnknownHostException: aai
+    Check PRH log    connection timed out: aai    Host is unreachable: aai
     Ensure Container Is Running   aai_simulator
 
+Verify PNF re registration
+    [Timeout]    500s
+    [Arguments]    ${test_case_directory}
+    ${aai_entry}=    Get Data From File    ${test_case_directory}/aai-entry.json
+    Log    PNF Re-registration: AAI entry for AAI Simulator ${aai_entry}
+    Add PNF entry in AAI    ${aai_entry}
+    ${service_instance}=    Get Data From File    ${test_case_directory}/aai-entry-service-instance.json
+    Add service instance entry in AAI    ${service_instance}
+
+    ${ves_event}=    Get Data From File    ${test_case_directory}/ves-event.json
+    Set VES event in DMaaP    ${ves_event}
+    ${expected_pnf_update_event}=    Get Data From File    ${test_case_directory}/expected-pnf-update-event.json
+    Wait Until Keyword Succeeds    10x    3000ms    Check created PNF_UPDATE notification    ${expected_pnf_update_event}
+
 Check CBS ready
-    ${resp}=    Get Request    ${consul_setup_session}    /v1/catalog/services
+    ${resp}=    Get Request    ${consul_session}    /v1/catalog/services
     Should Be Equal As Strings    ${resp.status_code}    200
     Log    Service Catalog response: ${resp.content}
     Dictionary Should Contain Key    ${resp.json()}    cbs    |Consul service catalog should contain CBS entry
 
-Check recorded PNF_READY notification
+Check created PNF_READY notification
     [Arguments]    ${expected_event_pnf_ready_in_dpaap}
-    ${resp}=    Get Request    ${dmaap_setup_session}    /setup/pnf_ready    headers=${suite_headers}
+    ${resp}=    Get Request    ${dmaap_session}    /verify/pnf_ready    headers=${suite_headers}
     Should Be Equal As Strings    ${resp.status_code}    200
     Should Be Equal As JSON    ${resp.content}    ${expected_event_pnf_ready_in_dpaap}
 
-Check recorded Logical Link
+Check created PNF_UPDATE notification
+    [Arguments]    ${expected_event_pnf_update_in_dpaap}
+    ${resp}=    Get Request    ${dmaap_session}    /verify/pnf_update    headers=${suite_headers}
+    Log    Response from DMaaP: ${resp.content}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    #Should Be Equal As JSON    ${resp.content}    ${expected_event_pnf_ready_in_dpaap}
+
+Check created Logical Link
     [Arguments]    ${expected_logical_link_in_aai}
-    ${resp}=    Get Request    ${aai_setup_session}    /setup/created_logical_link    headers=${suite_headers}
+    ${resp}=    Get Request    ${aai_session}    /verify/created_logical_link    headers=${suite_headers}
     Should Be Equal As Strings    ${resp.status_code}    200
     Should Be Equal As JSON    ${resp.content}    ${expected_logical_link_in_aai}
 
 Check PRH log
-    [Arguments]    ${log_entry}
-    ${found}=    Find log entry    ${log_entry}
+    [Arguments]    @{log_entries}
+    ${found}=    Find one of log entryies    ${log_entries}
+    Should Be True    ${found}
+
+Check PRH json log
+    [Arguments]    ${prefix}    ${json}
+    ${found}=    Find log json    ${prefix}    ${json}
     Should Be True    ${found}
 
 Create event parsing error
@@ -87,12 +114,19 @@ Add PNF entry in AAI
     [Arguments]    ${pnf_entry}
     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
     Log    AAI url ${AAI_SIMULATOR_SETUP_URL}
-    ${resp}=    Put Request    ${aai_setup_session}    /setup/add_pnf_entry    headers=${suite_headers}    data=${pnf_entry}
+    ${resp}=    Put Request    ${aai_session}    /setup/add_pnf_entry    headers=${suite_headers}    data=${pnf_entry}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Add service instance entry in AAI
+    [Arguments]    ${aai_service_instance}
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    Log    AAI url ${AAI_SIMULATOR_SETUP_URL}
+    ${resp}=    Put Request    ${aai_session}    /setup/add_service_instace    headers=${suite_headers}    data=${aai_service_instance}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Set VES event in DMaaP
     [Arguments]    ${ves_event}
-    ${resp}=    Put Request    ${dmaap_setup_session}    /setup/ves_event    headers=${suite_headers}    data=${ves_event}
+    ${resp}=    Put Request    ${dmaap_session}    /setup/ves_event    headers=${suite_headers}    data=${ves_event}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Should Be Equal As JSON
@@ -103,26 +137,39 @@ Should Be Equal As JSON
     ${actual_json}=    Evaluate    json.loads("""${actual}""")    json
     Should Be Equal    ${actual_json}    ${expected_json}
 
-Create sessions
-    Create Session    dmaap_setup_session    ${DMAAP_SIMULATOR_SETUP_URL}
-    Set Suite Variable    ${dmaap_setup_session}    dmaap_setup_session
-    Create Session    aai_setup_session    ${AAI_SIMULATOR_SETUP_URL}
-    Set Suite Variable    ${aai_setup_session}    aai_setup_session
-    Create Session    consul_setup_session    ${CONSUL_SETUP_URL}
-    Set Suite Variable    ${consul_setup_session}    consul_setup_session
-
 Reset Simulators
     Reset AAI simulator
     Reset DMaaP simulator
 
 Reset AAI simulator
-    ${resp}=    Post Request     ${aai_setup_session}    /reset
+    ${resp}=    Post Request     ${aai_session}    /reset
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Reset DMaaP simulator
-    ${resp}=    Post Request     ${dmaap_setup_session}    /reset
+    ${resp}=    Post Request     ${dmaap_session}    /reset
     Should Be Equal As Strings    ${resp.status_code}    200
 
-Create headers
-    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
-    Set Suite Variable    ${suite_headers}    ${headers}
+
+Verify change logging level
+    ${logger}=    Set Variable    org.onap.dcaegen2.services.prh.controllers.AppInfoController
+    Change logging level    ${logger}    TRACE
+    Verify logging level    ${logger}    TRACE
+    Verify logs with heartbeat
+    [Teardown]    Change logging level    ${logger}    INFO
+
+Change logging level
+    [Arguments]    ${logger}    ${log_level}
+    ${request_body}=    Create Dictionary    configuredLevel=${log_level}
+    ${resp}=    Post Request    prh_session    /actuator/loggers/${logger}    json=${request_body}
+    Should Be Equal As Integers    ${resp.status_code}    204
+
+Verify logging level
+    [Arguments]    ${logger}    ${expected_log_level}
+    ${resp}=    Get Request    prh_session  /actuator/loggers/${logger}
+    Should Be Equal As Integers    ${resp.status_code}    200
+    Log    ${resp.content}
+    Should Be Equal As Strings   ${resp.json()["configuredLevel"]}    ${expected_log_level}    ignore_case=true
+
+Verify logs with heartbeat
+    Get Request    prh_session    /heartbeat
+    Check PRH log   Heartbeat request received
\ No newline at end of file
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_sessions.robot b/tests/dcaegen2/prh-testcases/resources/prh_sessions.robot
new file mode 100644 (file)
index 0000000..2fadbba
--- /dev/null
@@ -0,0 +1,25 @@
+*** Settings ***
+Library           RequestsLibrary
+Library           Collections
+
+*** Variables ***
+${DMAAP_SIMULATOR_SETUP_URL}    http://${DMAAP_SIMULATOR_SETUP}
+${AAI_SIMULATOR_SETUP_URL}    http://${AAI_SIMULATOR_SETUP}
+${CONSUL_SETUP_URL}    http://${CONSUL_SETUP}
+${PRH_SETUP_URL}  http://${PRH_SETUP}
+
+*** Keywords ***
+Create sessions
+    Create Session    dmaap_session    ${DMAAP_SIMULATOR_SETUP_URL}
+    Set Suite Variable    ${dmaap_session}    dmaap_session
+    Create Session    aai_session    ${AAI_SIMULATOR_SETUP_URL}
+    Set Suite Variable    ${aai_session}    aai_session
+    Create Session    consul_session    ${CONSUL_SETUP_URL}
+    Set Suite Variable    ${consul_session}    consul_session
+    Create Session    prh_session    ${PRH_SETUP_URL}
+    Set Suite Variable    ${prh_session}    prh_session
+
+
+Create headers
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    Set Suite Variable    ${suite_headers}    ${headers}
\ No newline at end of file
index ff36803..f6d3b1f 100644 (file)
@@ -22,6 +22,7 @@ AAI_RESOURCE_NOT_FOUND = b'{}'
 pnf_entries = {}
 patched_pnf = AAI_RESOURCE_NOT_FOUND
 created_logical_link = AAI_RESOURCE_NOT_FOUND
+service_instance = AAI_RESOURCE_NOT_FOUND
 
 class AAISetup(BaseHTTPRequestHandler):
 
@@ -30,7 +31,7 @@ class AAISetup(BaseHTTPRequestHandler):
             if re.search('/setup/patched_pnf', self.path):
                 httpServerLib.set_response_200_ok(self, payload = patched_pnf)
                 logger.debug('AAISetup GET /setup/patched_pnf -> 200 OK')
-            elif re.search('/setup/created_logical_link', self.path):
+            elif re.search('/verify/created_logical_link', self.path):
                 httpServerLib.set_response_200_ok(self, payload = created_logical_link)
                 logger.debug('AAISetup GET /setup/created_logical_link -> 200 OK')
             else:
@@ -53,6 +54,13 @@ class AAISetup(BaseHTTPRequestHandler):
 
                 httpServerLib.set_response_200_ok(self)
                 logger.debug('AAISetup PUT /setup/add_pnf_entry [' + pnf_name + '] -> 200 OK')
+            elif re.search('/setup/add_service_instace', self.path):
+                service_instance_payload = httpServerLib.get_payload(self)
+                global service_instance
+                service_instance = json.loads(service_instance_payload)
+                httpServerLib.set_response_200_ok(self)
+                logger.debug('AAISetup PUT /setup/add_service_instace -> 200 OK')
+
             elif re.search('/set_pnf', self.path):
                 pnf_name = httpServerLib.get_payload(self).decode()
                 pnf_entries[pnf_name] = AAI_RESOURCE_NOT_FOUND
@@ -70,9 +78,11 @@ class AAISetup(BaseHTTPRequestHandler):
                 global pnf_entries
                 global patched_pnf
                 global created_logical_link
+                global service_instance
                 pnf_entries = {}
                 patched_pnf = AAI_RESOURCE_NOT_FOUND
                 created_logical_link = AAI_RESOURCE_NOT_FOUND
+                service_instance = AAI_RESOURCE_NOT_FOUND
 
                 httpServerLib.set_response_200_ok(self)
                 logger.debug('AAISetup POST /reset -> 200 OK')
@@ -95,6 +105,9 @@ class AAIHandler(BaseHTTPRequestHandler):
                 else:
                     httpServerLib.set_response_404_not_found(self)
                     logger.info('AAIHandler GET /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys()))
+            elif re.search('aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path):
+                httpServerLib.set_response_200_ok(self, payload = service_instance)
+                logger.debug('AAIHandler GET aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK')
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('AAIHandler GET ' + self.path + ' -> 404 Not found')
@@ -142,7 +155,6 @@ class AAIHandler(BaseHTTPRequestHandler):
 
 def _main_(handler_class=AAIHandler, protocol="HTTP/1.0"):
     handler_class.protocol_version = protocol
-    httpServerLib.start_http_endpoint(3333, AAIHandler)
     httpServerLib.start_https_endpoint(3334, AAIHandler, keyfile="certs/aai.key", certfile="certs/aai.crt", ca_certs="certs/root.crt")
     httpServerLib.start_http_endpoint(3335, AAISetup)
     while 1:
index ce9858d..5ec601f 100644 (file)
@@ -2,6 +2,7 @@ import logging
 import re
 import sys
 import time
+import json
 from http.server import BaseHTTPRequestHandler
 import httpServerLib
 
@@ -17,17 +18,22 @@ logger = logging.getLogger('DMaaP-simulator-logger')
 
 DMAAP_EMPTY = b'[]'
 
-ves_event = DMAAP_EMPTY
-captured_prh_event = DMAAP_EMPTY
+event_ves = DMAAP_EMPTY
+event_pnf_ready = DMAAP_EMPTY
+event_pnf_update = DMAAP_EMPTY
 
 class DmaapSetup(BaseHTTPRequestHandler):
 
     def do_GET(self):
         try:
-            if re.search('/setup/pnf_ready', self.path):
-                global captured_prh_event
-                httpServerLib.set_response_200_ok(self, payload = captured_prh_event)
-                logger.debug('DmaapSetup GET /setup/pnf_ready -> 200 OK')
+            if re.search('/verify/pnf_ready', self.path):
+                global event_pnf_ready
+                httpServerLib.set_response_200_ok(self, payload = event_pnf_ready)
+                logger.debug('DmaapSetup GET /verify/pnf_ready -> 200 OK')
+            elif re.search('/verify/pnf_update', self.path):
+                global event_pnf_update
+                httpServerLib.set_response_200_ok(self, payload = event_pnf_update)
+                logger.debug('DmaapSetup GET /verify/pnf_ready -> 200 OK')
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('DmaapSetup GET ' + self.path + ' -> 404 Not found')
@@ -38,10 +44,10 @@ class DmaapSetup(BaseHTTPRequestHandler):
     def do_PUT(self):
         try:
             if re.search('/setup/ves_event', self.path):
-                global ves_event
-                ves_event = httpServerLib.get_payload(self)
+                global event_ves
+                event_ves = httpServerLib.get_payload(self)
                 httpServerLib.set_response_200_ok(self)
-                logger.debug('DmaapSetup PUT /setup/ves_event -> 200 OK, content: ' + ves_event.decode("utf-8"))
+                logger.debug('DmaapSetup PUT /setup/ves_event -> 200 OK, content: ' + event_ves.decode("utf-8"))
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('DmaapSetup PUT ' + self.path + ' -> 404 Not found')
@@ -52,10 +58,12 @@ class DmaapSetup(BaseHTTPRequestHandler):
     def do_POST(self):
         try:
             if re.search('/reset', self.path):
-                global ves_event
-                global captured_prh_event
-                ves_event = DMAAP_EMPTY
-                captured_prh_event = DMAAP_EMPTY
+                global event_ves
+                global event_pnf_ready
+                global event_pnf_update
+                event_ves = DMAAP_EMPTY
+                event_pnf_ready = DMAAP_EMPTY
+                event_pnf_update = DMAAP_EMPTY
                 httpServerLib.set_response_200_ok(self)
                 logger.debug('DmaapSetup POST /reset -> 200 OK')
             else:
@@ -70,11 +78,17 @@ class DMaaPHandler(BaseHTTPRequestHandler):
     def do_POST(self):
         try:
             if re.search('/events/unauthenticated.PNF_READY', self.path):
-                global captured_prh_event
-                captured_prh_event = httpServerLib.get_payload(self)
+                global event_pnf_ready
+                event_pnf_ready = httpServerLib.get_payload(self)
                 httpServerLib.set_response_200_ok(self)
                 logger.debug('DMaaPHandler POST /events/unauthenticated.PNF_READY -> 200, content: '
-                             + captured_prh_event.decode("utf-8"))
+                             + event_pnf_ready.decode("utf-8"))
+            elif re.search('/events/unauthenticated.PNF_UPDATE', self.path):
+                global event_pnf_update
+                event_pnf_update = httpServerLib.get_payload(self)
+                httpServerLib.set_response_200_ok(self)
+                logger.debug('DMaaPHandler POST /events/unauthenticated.PNF_READY -> 200, content: '
+                             + event_pnf_update.decode("utf-8"))
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('DMaaPHandler POST ' + self.path + ' -> 404 Not found')
@@ -85,12 +99,12 @@ class DMaaPHandler(BaseHTTPRequestHandler):
     def do_GET(self):
         try:
             if re.search('/events/unauthenticated.VES_PNFREG_OUTPUT/OpenDCAE-c12/c12', self.path):
-                global ves_event
-                httpServerLib.set_response_200_ok(self, payload = ves_event)
+                global event_ves
+                httpServerLib.set_response_200_ok(self, payload=self.pack_event_json_as_quoted_string_into_array(event_ves))
                 logger.debug(
                     'DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200, content: '
-                    + ves_event.decode("utf-8"))
-                ves_event = DMAAP_EMPTY
+                    + event_ves.decode("utf-8"))
+                event_ves = DMAAP_EMPTY
                 logger.debug('DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200')
             else:
                 httpServerLib.set_response_404_not_found(self)
@@ -99,9 +113,18 @@ class DMaaPHandler(BaseHTTPRequestHandler):
             logger.error(e)
             httpServerLib.set_response_500_server_error(self)
 
+    def pack_event_json_as_quoted_string_into_array(self, event):
+        if event == DMAAP_EMPTY:
+            return DMAAP_EMPTY
+        else:
+            decoded = event_ves.decode("utf-8")
+            packed = '[' + json.dumps(decoded) + ']'
+            logger.info("prepared response: " + packed)
+            return packed.encode()
+        
+
 def _main_(handler_class=DMaaPHandler, protocol="HTTP/1.0"):
     handler_class.protocol_version = protocol
-    httpServerLib.start_http_endpoint(2222, DMaaPHandler)
     httpServerLib.start_https_endpoint(2223, DMaaPHandler, keyfile="certs/dmaap-mr.key", certfile="certs/dmaap-mr.crt", ca_certs="certs/root.crt")
     httpServerLib.start_http_endpoint(2224, DmaapSetup)
     while 1:
index 1dd7c1b..d07bf6e 100644 (file)
@@ -4,7 +4,7 @@ Suite Teardown    Suite Teardown
 Library           OperatingSystem
 Library           RequestsLibrary
 Library           Process
-Library           eteutils/UUID.py
+Library           ONAPLibrary.Utilities
 
 *** Variables ***
 ${GLOBAL_APPLICATION_ID}    csit-vCPE
@@ -15,7 +15,7 @@ ${GLOBAL_MSO_PASSWORD}    password1$
 SO ServiceInstance health check
     ${auth}=    Create List    ${GLOBAL_MSO_USERNAME}    ${GLOBAL_MSO_PASSWORD}
     ${session}=    Create Session    so    http://${SO_IP}:8080
-    ${uuid}=    Generate UUID
+    ${uuid}=    Generate UUID4
     ${headers}=    Create Dictionary    Accept=text/html    Content-Type=text/html    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
     ${resp}=    Get Request    so    /ecomp/mso/infra/globalhealthcheck    headers=${headers}
     &{headers}=    Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
diff --git a/tests/optf-cmso/cmso/attlibs/CurlLibrary.py b/tests/optf-cmso/cmso/attlibs/CurlLibrary.py
deleted file mode 100644 (file)
index 44c6229..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-from curl import Curl
-
-class CurlLibrary:
-   
-
-    def get_zip(self, url, filename):
-        fp = open(filename, "wb")
-        c = Curl()
-        c.get(url, )
-        c.set_option(c.WRITEDATA, fp)
-        c.perform()
-        c.close()
-        fp.close()
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/attlibs/HTTPUtils.py b/tests/optf-cmso/cmso/attlibs/HTTPUtils.py
deleted file mode 100644 (file)
index f9d380c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-import urllib
-from selenium import webdriver 
-import base64
-
-class HTTPUtils:
-    """HTTPUtils is common resource for simple http helper keywords."""
-    
-    def url_encode_string(self, barestring):
-        """URL Encode String takes in a string and converts into 'percent-encoded' string"""
-        return urllib.quote_plus(barestring)
-    
-    def ff_profile(self):
-        fp =webdriver.FirefoxProfile()
-        fp.set_preference("dom.max_script_run_time",120)
-        fp.update_preferences()
-        return fp.path 
-    
-    def b64_encode(self, instring):
-        "" 
-        return base64.b64encode(instring)
-
diff --git a/tests/optf-cmso/cmso/attlibs/JSONUtils.py b/tests/optf-cmso/cmso/attlibs/JSONUtils.py
deleted file mode 100644 (file)
index 5df1e5c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-import json
-
-from deepdiff import DeepDiff
-
-class JSONUtils:
-    """JSONUtils is common resource for simple json helper keywords."""
-    
-    def json_equals(self, left, right):
-        """JSON Equals takes in two strings or json objects, converts them into json if needed and then compares them, returning if they are equal or not."""
-        if isinstance(left, basestring):
-            left_json = json.loads(left);
-        else:
-            left_json = left;
-        if isinstance(right, basestring):
-            right_json = json.loads(right);
-        else:
-            right_json = right;
-            
-        ddiff = DeepDiff(left_json, right_json, ignore_order=True);
-        if ddiff == {}:
-            return True;
-        else:
-            return False;
-    
-    def json_escape(self, jsonObject):
-        jsonstr = json.dumps(jsonObject)
-        outstr = jsonstr.replace('"', '\\"').replace('\n', '\\n')
-        return  outstr    
-    
-    def make_list_into_dict(self, listOfDicts, key):
-        """ Converts a list of dicts that contains a field that has a unique key into a dict of dicts """
-        d = {}
-        if isinstance(listOfDicts, list):
-            for thisDict in listOfDicts:
-                v = thisDict[key]
-                d[v] = thisDict
-        return d          
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/attlibs/OSUtils.py b/tests/optf-cmso/cmso/attlibs/OSUtils.py
deleted file mode 100644 (file)
index 78968f0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-from sys import platform
-
-class OSUtils:
-    """ Utilities useful for constructing OpenStack HEAT requests """
-
-    def get_normalized_os(self):
-        os = platform
-        if platform == "linux" or platform == "linux2":
-            os = 'linux64'
-        elif platform == "darwin":
-            os = 'mac64'
-        elif platform == "win32":
-            os = platform
-        return os
diff --git a/tests/optf-cmso/cmso/attlibs/RequestsClientCert.py b/tests/optf-cmso/cmso/attlibs/RequestsClientCert.py
deleted file mode 100644 (file)
index e1fd66f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-class RequestsClientCert:
-    """RequestsClientCert allows adding a client cert to the Requests Robot Library."""
-    
-    def add_client_cert(self, session, cert):
-        """Add Client Cert takes in a requests session object and a string path to the cert"""
-        session.cert = cert
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/attlibs/StringTemplater.py b/tests/optf-cmso/cmso/attlibs/StringTemplater.py
deleted file mode 100644 (file)
index 680600f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-from string import Template
-
-class StringTemplater:
-    """StringTemplater is common resource for templating with strings."""
-    
-    def template_string(self, template, values):
-        """Template String takes in a string and its values and converts it using the string.Template class"""
-        return Template(template).substitute(values) 
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/attlibs/UID.py b/tests/optf-cmso/cmso/attlibs/UID.py
deleted file mode 100644 (file)
index 4374809..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-import uuid
-
-class UID:
-    """UUID is a simple library that generates a uuid"""
-    
-    def generate_UUID(self):
-        """generate a uuid"""
-        return uuid.uuid4()
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/resources/approval_requests.robot b/tests/optf-cmso/cmso/resources/approval_requests.robot
deleted file mode 100644 (file)
index 9de1887..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-*** Settings ***
-Documentation    Scheduler keywords
-
-#Library   StringTemplater
-#Library   UUID
-Library                ../attlibs/UID.py
-Library                ../attlibs/StringTemplater.py
-Library   DateTime
-Library   Collections
-
-Resource       scheduler_common.robot
-Resource       json_templater.robot
-
-*** Variables ****
-${TEMPLATES}    assets/templates/changemanagement
-${UTC}   %Y-%m-%dT%H:%M:%SZ
-
-*** Keywords ***
-Wait For Pending Approval
-     [Documentation]    Gets the schedule identified by the uuid and checks if it is in the Pending Approval state
-     [Arguments]   ${uuid}     ${status}=Pending Approval
-     ${resp}=   Get Change Management   auth   schedules/${uuid}
-     ${json}=   Catenate   ${resp.json()}
-     Dictionary Should Contain Item    ${resp.json()}    status    ${status}    
-
-Send Tier2 Approval
-    [Documentation]    Sends an approval post request for the given schedule using the UUID and User given and checks that request worked
-    [Arguments]   ${uuid}   ${user}   ${status}
-    ${approval}=   Create Dictionary   approvalUserId=${user}   approvalType=Tier 2   approvalStatus=${status}          
-    ${resp}=   Post Change Management   auth   schedules/${uuid}/approvals   data=${approval}
-    Should Be Equal As Strings    ${resp.status_code}   204
-     
-    
-Send Invalid Approval    
-   [Arguments]   ${uuid}   ${user}   
-   ${approval}=   Create Dictionary   approvalUserId=${user}   approvalType=Tier 3   approvalStatus=Accepted              
-   Run Keyword and Expect Error   400   Post Change Management   auth   schedules/${uuid}/approvals   data=${approval}
-    
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyDomain.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyDomain.json.template
deleted file mode 100644 (file)
index 1aea5ef..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleID.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleID.json.template
deleted file mode 100644 (file)
index 2733b07..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleName.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleName.json.template
deleted file mode 100644 (file)
index 9d827bd..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyUserID.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyUserID.json.template
deleted file mode 100644 (file)
index d779f2c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectPolicyId.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectPolicyId.json.template
deleted file mode 100644 (file)
index 061b6b7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "string",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectWorkflow.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectWorkflow.json.template
deleted file mode 100644 (file)
index 87ab8f3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Not A Workflow"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNegativeNormalDurationInSeconds.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNegativeNormalDurationInSeconds.json.template
deleted file mode 100644 (file)
index 633ce46..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : -5,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoEndTime.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoEndTime.json.template
deleted file mode 100644 (file)
index 62dae5b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : ""
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoNodeName.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoNodeName.json.template
deleted file mode 100644 (file)
index 22fc89a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       ""
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoStartTime.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoStartTime.json.template
deleted file mode 100644 (file)
index 4f1f25b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowSwitchedTime.json.template b/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowSwitchedTime.json.template
deleted file mode 100644 (file)
index a7f19d4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO.TimeLimitAndVerticalTopology",
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${end_time1}",
-                                               "endTime" : "${start_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyAdditionalDuration.json.template b/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyAdditionalDuration.json.template
deleted file mode 100644 (file)
index 5c9e0a3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "VNFName1${testid}",
-                                       "VNFName2${testid}",
-                                       "VNFName3${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyDomain.json.template b/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyDomain.json.template
deleted file mode 100644 (file)
index 19c1d87..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "VNFName1${testid}",
-                                       "VNFName2${testid}",
-                                       "VNFName3${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyScheduleId.json.template b/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyScheduleId.json.template
deleted file mode 100644 (file)
index ab92d18..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "VNFName1${testid}",
-                                       "VNFName2${testid}",
-                                       "VNFName3${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyUserId.json.template b/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyUserId.json.template
deleted file mode 100644 (file)
index 9de749c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "groupId" : "",
-                               "node" : [
-                                       "VNFName1${testid}",
-                                       "VNFName2${testid}",
-                                       "VNFName3${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyDomain.json.template b/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyDomain.json.template
deleted file mode 100644 (file)
index 8d2f09f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleId.json.template b/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleId.json.template
deleted file mode 100644 (file)
index b363a27..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleName.json.template b/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleName.json.template
deleted file mode 100644 (file)
index 4bb70ec..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-       
-               "vnfDetails" : [{
-                               "node" : [
-                                       "ZRDM1MMSC04${testid}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptySchedulingInfo.json.template b/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptySchedulingInfo.json.template
deleted file mode 100644 (file)
index 461f166..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyUserId.json.template b/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyUserId.json.template
deleted file mode 100644 (file)
index a2a4ba4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData1.json.template b/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData1.json.template
deleted file mode 100644 (file)
index 73c2e34..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}",
-                       "plans" : "Run ${workflow}",
-                       "question.000000000000001" : "Yes",
-                       "domainName1" : "domainValue1"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                               "groupId" : "group1",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData2.json.template b/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData2.json.template
deleted file mode 100644 (file)
index 0f02116..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}",
-                       "plans" : "Run ${workflow}",
-                       "question.000000000000001" : "Yes",
-                       "domainName1" : "domainValue1",
-                       "domainName2" : "domainValue2"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                               "groupId" : "group1",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData3.json.template b/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData3.json.template
deleted file mode 100644 (file)
index dc64483..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}",
-                       "plans" : "Run ${workflow}",
-                       "question.000000000000001" : "Yes",
-                       "domainName1" : "domainValue1",
-                       "domainName2" : "domainValue2",
-                       "domainName3" : "domainValue3"
-                       
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                               "groupId" : "group1",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/MultipleVnfImmediate.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/MultipleVnfImmediate.json.template
deleted file mode 100644 (file)
index 542e19e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}",
-                                       "${node2}",
-                                       "${node3}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNFsOneChangeWindow.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNFsOneChangeWindow.json.template
deleted file mode 100644 (file)
index 9bfd3d2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_pserver",
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}",
-                                       "${node2}",
-                                       "${node3}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNSsTwoChangeWindows.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNSsTwoChangeWindows.json.template
deleted file mode 100644 (file)
index a3cef8a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_pserver",
-               "vnfDetails" : [{
-                               "groupId" : "Group1",
-                               "node" : [
-                                       "${node1}",
-                                       "${node2}",
-                                       "${node3}",
-                                       "${node4}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       },{
-                                               "startTime" : "${start_time2}",
-                                               "endTime" : "${end_time2}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
-
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediate.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediate.json.template
deleted file mode 100644 (file)
index c108c15..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}",
-                       "plans" : "Run ${workflow}",
-                       "question.000000000000001" : "Yes"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                               "groupId" : "group1",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateIncorrectWorkflow.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateIncorrectWorkflow.json.template
deleted file mode 100644 (file)
index e91c653..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Not A Workflow"
-               }
-       ],
-       "schedulingInfo" : {
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateReplaceVNFInfra.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateReplaceVNFInfra.json.template
deleted file mode 100644 (file)
index d896a62..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "ReplaceVnfInfra"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "vnfDetails" : [{
-                       "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindow.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindow.json.template
deleted file mode 100644 (file)
index 93bb2ac..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "${workflow}"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_pserver",
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackData.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackData.json.template
deleted file mode 100644 (file)
index e6e584b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "",
-                       "WorkflowName" : "Build Software Upgrade for vNFs"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_v2_split_1",
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackURL.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackURL.json.template
deleted file mode 100644 (file)
index 57634d6..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Build Software Upgrade for vNFs"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_v2_split_1",
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowReplaceVNFInfra.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowReplaceVNFInfra.json.template
deleted file mode 100644 (file)
index e5d62bf..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-       "domain" : "ChangeManagement",
-       "scheduleId" : "${uuid}",
-       "scheduleName" : "${uuid}",
-       "userId" : "${userId}",
-       "domainData" : [{
-                       "CallbackUrl" : "${callbackUrl}",
-                       "CallbackData" : "${callbackData}",
-                       "WorkflowName" : "Replace"
-               }
-       ],
-       "schedulingInfo" : {
-               "normalDurationInSeconds" : 100,
-               "additionalDurationInSeconds" : 10,
-               "concurrencyLimit" : 10,
-               "policyId" : "SNIRO_CM.TimeLimitAndVerticalTopology_v2_split_1",
-               "vnfDetails" : [{
-                               "groupId" : "group",
-                               "node" : [
-                                       "${node1}"
-                               ],
-                               "changeWindow" : [{
-                                               "startTime" : "${start_time1}",
-                                               "endTime" : "${end_time1}"
-                                       }
-                               ]
-                       }
-               ]
-       }
-}
diff --git a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/VidCallbackData.json.template b/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/VidCallbackData.json.template
deleted file mode 100644 (file)
index 177b55a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-       "requestType" : "Update",
-       "requestDetails" : [{
-                       "vnfName" : "mdns_2017_1011_oh22u_20171103",
-                       "vnfInstanceId" : "b8d99523-1e83-4fd1-b42f-849361ef7024",
-                       "modelInfo" : {
-                               "modelType" : "vnf",
-                               "modelInvariantId" : "93e16072-715a-42ef-9d0a-080052d6b716",
-                               "modelVersionId" : "4ec07a2d-6bb5-4373-8ed6-4bc7ac1246fd",
-                               "modelName" : "mdns_2017_1011_oh22u_20171103",
-                               "modelCustomizationId" : "1779a999-ea17-4f31-98e9-75b6fbdd0acb"
-                       },
-                       "cloudConfiguration" : {
-                               "lcpCloudRegionId" : "mdt1",
-                               "tenantId" : "88a6ca3ee0394ade9403f075db23167e"
-                       },
-                       "requestInfo" : {
-                               "source" : "VID",
-                               "suppressRollback" : false,
-                               "requestorId" : "az2016"
-                       },
-                       "relatedInstanceList" : [{
-                                       "relatedInstance" : {
-                                               "instanceId" : "54ba3628-9ee5-4b32-8a2a-3abf001bed4e",
-                                               "modelInfo" : {
-                                                       "modelType" : "service",
-                                                       "modelInvariantId" : "e58733ef-43cb-4b6b-b641-922078b6c88b",
-                                                       "modelVersionId" : "4ec07a2d-6bb5-4373-8ed6-4bc7ac1246fd",
-                                                       "modelName" : "mdns_2017_1011",
-                                                       "modelVersion" : "4.0"
-                                               }
-                                       }
-                               }
-                       ],
-                       "requestParameters" : {
-                               "usePreload" : true
-                       }
-               }
-       ]
-}
diff --git a/tests/optf-cmso/cmso/resources/browser_setup.robot b/tests/optf-cmso/cmso/resources/browser_setup.robot
deleted file mode 100644 (file)
index 032759e..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-*** Settings ***
-Documentation     The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps
-Library           Collections
-Library           OSUtils
-Library           OperatingSystem
-Library           Selenium2Library
-
-*** Variables ***
-${CHROME_DRIVER_WIN32_PATH}            drivers/win32
-${CHROME_DRIVER_MAC64_PATH}            drivers/mac64
-${CHROME_DRIVER_LINUX64_PATH}          drivers/linux64
-${CHROME_DRIVER_WIN32}            ${CHROME_DRIVER_WIN32_PATH}/chromedriver.exe
-${CHROME_DRIVER_MAC64}            ${CHROME_DRIVER_MAC64_PATH} /chromedriver
-${CHROME_DRIVER_LINUX64}          ${CHROME_DRIVER_LINUX64_PATH}/chromedriver
-
-*** Keywords ***
-Setup Browser
-    [Documentation]   Sets up browser based upon the value of 
-    [Arguments]    ${browser}
-    Run Keyword If    '${browser}' == 'firefox'    Setup Browser Firefox
-    Run Keyword If    '${browser}' == 'chrome'    Setup Browser Chrome
-    Log    Running with ${browser}
-    
-Setup Browser Firefox
-    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
-    Set To Dictionary   ${dc}   elementScrollBehavior    1 
-    Create Webdriver    Firefox    desired_capabilities=${dc}
-    ##Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}
-           
- Setup Browser Chrome
-    ${os}=   Get Normalized Os 
-    Log    Normalized OS=${os}
-    Run Keyword If    '${os}' == 'win32'    Append To Environment Variable    PATH    ${CHROME_DRIVER_WIN32_PATH}
-    ##Run Keyword If    '${os}' == 'win32'    Set Environment Variable    webdriver.chrome.driver    ${CHROME_DRIVER_WIN32}
-    Run Keyword If    '${os}' == 'mac64'    Append To Environment Variable    PATH    ${CHROME_DRIVER_MAC64_PATH}
-    #Run Keyword If    '${os}' == 'mac64'    Set Environment Variable  webdriver.chrome.driver    ${CHROME_DRIVER_MAC64}
-    Run Keyword If    '${os}' == 'linux64'    Append To Environment Variable    PATH    ${CHROME_DRIVER_LINUX64_PATH}
-    #Run Keyword if    '${os}' == 'linux64'     Set Environment Variable  webdriver.chrome.driver    ${CHROME_DRIVER_LINUX64}
-    ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
-    Call Method    ${chrome options}    add_argument    no-sandbox
-    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME  sys, selenium.webdriver
-    Set To Dictionary   ${dc}   elementScrollBehavior    1
-    Create Webdriver    Chrome   chrome_options=${chrome_options}    desired_capabilities=${dc}  
-    #Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}       
-
-Handle ATT Speed Bump    
-    [Documentation]    Handle AT&T Speed Bump when accessing Rackspace UI from AT&T network
-    ${test}    ${value}=    Run keyword and ignore error    Title Should Be     Notice - Uncategorized Site
-    Run keyword If    '${test}' == 'PASS'    Click Element    xpath=//a[contains(@href, 'accepted-Notify-Uncategorized')] 
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/resources/change_management_ete.robot b/tests/optf-cmso/cmso/resources/change_management_ete.robot
deleted file mode 100644 (file)
index 2b1ff54..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-*** Settings ***
-Documentation    Creates VID VNF Instance
-
-#Library   StringTemplater
-#Library   UUID
-Library                ../attlibs/UID.py
-Library                ../attlibs/StringTemplater.py
-Library   Collections
-Library   SSHLibrary
-
-Resource       scheduler_common.robot
-Resource       json_templater.robot
-Resource       create_schedule.robot
-Resource       approval_requests.robot
-
-*** Variables ****
-${TEMPLATES}   /assets/templates
-
-*** Keywords ***
-Change Management Template
-   [Arguments]    ${request_file}   ${workflow}   ${minutesFromNow}=1
-   ${template_folder}=    Catenate   ${TEMPLATES}/changemanagement
-   ${uuid}=   Generate UUID 
-   ${resp}=   Create Schedule   ${uuid}   ${request_file}   ${template_folder}   workflow=${workflow}   minutesFromNow=${minutesFromNow}   
-   Should Be Equal as Strings    ${resp.status_code}    202
-   Validate Acknowledgment Response Headers    ${resp} 
-   Wait Until Keyword Succeeds    600s    30s    Wait For Pending Approval   ${uuid}
-   Send Tier2 Approval   ${uuid}   jf9860    Accepted      
-   ${resp}=   Get Change Management   auth   schedules/${uuid}
-   Wait Until Keyword Succeeds    120s    30s    Wait For All VNFs Reach Status   Completed   ${uuid}
-   Wait Until Keyword Succeeds    120s    30s    Wait for Schedule to Complete   Completed   ${uuid}
-   ${reps}=   Delete Change Management   auth   schedules/${uuid}
-
-Change Management Immediate Template
-   [Arguments]    ${request_file}    ${workflow}  
-   ${template_folder}=    Catenate   ${TEMPLATES}/changemanagement
-   ${uuid}=   Generate UUID 
-   ${resp}=   Create Schedule   ${uuid}   ${request_file}   ${template_folder}   workflow=${workflow}
-   Should Be Equal as Strings    ${resp.status_code}   202
-   Validate Acknowledgment Response Headers    ${resp}
-   Wait Until Keyword Succeeds    120s    30s    Wait For All VNFs Reach Status   Completed   ${uuid}
-   Wait Until Keyword Succeeds    120s    30s    Wait for Schedule to Complete   Completed   ${uuid}
-   ${reps}=   Delete Change Management   auth   schedules/${uuid}
-    
-Wait For All VNFs Reach Status
-    [Arguments]   ${status}   ${uuid}
-    ${resp}=   Get Change Management   auth   schedules/scheduleDetails?request.scheduleId=${uuid}
-    : for   ${vnf}   in  @{resp.json()}
-    \   Dictionary Should Contain Item   ${vnf}   status   Completed 
-      
-Wait for Schedule to Complete
-    [Arguments]   ${status}   ${uuid}
-    ${resp}=   Get Change Management   auth   schedules/${uuid}
-    Dictionary Should Contain Item   ${resp.json()}   status   Completed 
-
-Create and Approve
-   [Arguments]    ${request_file}   ${workflow}   ${minutesFromNow}=5  
-   ${template_folder}=    Catenate   ${TEMPLATES}/changemanagement
-   ${uuid}=   Generate UUID 
-   ${resp}=   Create Schedule   ${uuid}   ${request_file}   ${template_folder}   workflow=${workflow}   minutesFromNow=${minutesFromNow}   
-   Should Be Equal as Strings    ${resp.status_code}    202 
-   Validate Acknowledgment Response Headers    ${resp}
-   Wait Until Keyword Succeeds    300s    5s    Wait For Pending Approval   ${uuid}
-   Send Tier2 Approval   ${uuid}   jf9860    Accepted      
-
-Change Management Cancel Template
-   [Arguments]    ${request_file}   ${workflow}   ${minutesFromNow}=5
-   ${template_folder}=    Catenate   ${TEMPLATES}/changemanagement
-   ${uuid}=   Generate UUID 
-   ${resp}=   Create Schedule   ${uuid}   ${request_file}   ${template_folder}   workflow=${workflow}   minutesFromNow=${minutesFromNow}   
-   Should Be Equal as Strings    ${resp.status_code}    202 
-   Validate Acknowledgment Response Headers    ${resp}
-   Wait Until Keyword Succeeds    600s    5s    Wait For Pending Approval   ${uuid}
-   Send Tier2 Approval   ${uuid}   jf9860    Accepted      
-   ${resp}=   Delete Change Management   auth   schedules/${uuid}
-   Should Be Equal as Strings    ${resp.status_code}    204 
-   Log    ${resp.headers}    
-   
-Validate Acknowledgment Response Headers 
-    [Arguments]    ${Response} 
-    Log     ${Response.headers} 
-    ${act_headers_keys} =    Get Dictionary Keys    ${Response.headers} 
-    Dictionary Should Contain Key    ${Response.headers}    X-LatestVersion 
-    Dictionary Should Contain Key    ${Response.headers}    X-MinorVersion 
-    Dictionary Should Contain Key    ${Response.headers}    X-PatchVersion
-    
-    
-    
-Change Management Immediate Template Query Data    
-   [Arguments]    ${request_file}    ${workflow}  
-   ${template_folder}=    Catenate   ${TEMPLATES}/SearchSchedulerDetails
-   ${uuid}=   Generate UUID 
-   ${resp}=   Create Schedule   ${uuid}   ${request_file}   ${template_folder}   workflow=${workflow}
-   Should Be Equal as Strings    ${resp.status_code}   202
-   Validate Acknowledgment Response Headers    ${resp}
-   Wait Until Keyword Succeeds    120s    30s    Wait For All VNFs Reach Status   Completed   ${uuid}
-   Wait Until Keyword Succeeds    120s    30s    Wait for Schedule to Complete   Completed   ${uuid}
-   [Return]    ${uuid}
-   
-   
-
-               
diff --git a/tests/optf-cmso/cmso/resources/create_schedule.robot b/tests/optf-cmso/cmso/resources/create_schedule.robot
deleted file mode 100644 (file)
index 43d5ff1..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-*** Settings ***
-Documentation    SCheduler tests
-
-#Library   StringTemplater
-#Library   UUID
-Library                ../attlibs/UID.py
-Library                ../attlibs/StringTemplater.py
-Library                ../attlibs/JSONUtils.py
-Library   String
-Library   DateTime
-Library   Collections 
-Library   OperatingSystem 
-#Library   JSONUtils
-
-Resource       scheduler_common.robot
-Resource       json_templater.robot
-
-*** Variables ****
-${VID_TEMPLATES}    /assets/templates/changemanagement
-${GLOBAL_VID_CALLBACK_URL}             http://127.0.0.1:8080/scheduler/v1/loopbacktest/vid
-${GLOBAL_VID_USERID}           jf9860
-${NODES}       aaiaic25ctsf0002v,dpa2bhsfe0001v,ctsf0008v,nsbg0002v
-${UTC}   %Y-%m-%dT%H:%M:%SZ
-
-*** Keywords ***
-Create Schedule
-    [Arguments]   ${uuid}   ${request_file}    ${TEMPLATES}   ${workflow}=Unknown    ${minutesFromNow}=5
-    ${testid}=   Catenate   ${uuid}
-    ${testid}=   Get Substring   ${testid}   -4
-    ${dict}=   Create Dictionary   serviceInstanceId=${uuid}   parent_service_model_name=${uuid}
-    ${callbackData}=   Fill JSON Template File    ${CURDIR}${VID_TEMPLATES}/VidCallbackData.json.template   ${dict} 
-    ${callbackDataString}=   Json Escape    ${callbackData}   
-       ${map}=   Create Dictionary   uuid=${uuid}   callbackUrl=${GLOBAL_VID_CALLBACK_URL}   callbackData=${callbackDataString}    testid=${testid}   workflow=${workflow}      userId=${GLOBAL_VID_USERID}
-       ${nodelist}=   Split String    ${NODES}   ,
-       ${nn}=    Catenate    1
-    # Support up to 4 ChangeWindows
-    : For   ${i}   in range   1    4    
-    \  ${today}=    Evaluate   ((${i}-1)*1440)+${minutesFromNow}
-    \  ${tomorrow}   Evaluate   ${today}+1440 
-    \  ${last_time}   Evaluate  ${today}+30   
-    \  ${start_time}=    Get Current Date   UTC  + ${today} minutes   result_format=${UTC}
-    \  ${end_time}=    Get Current Date   UTC   + ${tomorrow} minutes   result_format=${UTC}
-    \  Set To Dictionary    ${map}   start_time${i}=${start_time}   end_time${i}=${end_time}      
-
-       : For   ${vnf}   in    @{nodelist}
-       \   Set To Dictionary    ${map}   node${nn}   ${vnf}   
-       \   ${nn}=   Evaluate    ${nn}+1     
-
-    ${data}=   Fill JSON Template File    ${CURDIR}${TEMPLATES}/${request_file}   ${map}    
-    ${resp}=   Post Change Management   auth   schedules/${uuid}   data=${data}
-    [Return]   ${resp}
-    
-       
-    
diff --git a/tests/optf-cmso/cmso/resources/files.robot b/tests/optf-cmso/cmso/resources/files.robot
deleted file mode 100644 (file)
index fcfffbb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-*** Settings ***
-Documentation     Some handy Keywords for accessing log files over SSH.  Assumptions are that logs will belong to users other than the currently logged in user and that sudo will be required
-Library           OperatingSystem
-Library              SSHLibrary
-Library           HttpLibrary.HTTP
-Library           String
-Library           Collections
-
-*** Variables ***
-
-*** Keywords ***
-Open Connection And Log In
-   [Documentation]    Open a connection using the passed user and SSH key. Connection alias will be the host name by default.
-   [Arguments]    ${HOST}    ${user}    ${pvt}    ${password}=    ${alias}=${HOST}    ${timeout}=120s
-   Open Connection    ${HOST}    alias=${alias}    timeout=${timeout}
-   Login With Public Key    ${user}    ${pvt}    password=${password}    delay=0.5 seconds
-
-Grep Local File
-    [Documentation]     Grep the passed file name and return all of the lines that match the passed pattern using the current connection
-    [Arguments]    ${pattern}     ${fullpath}
-    ${output}=    Execute Command    grep ${pattern} ${fullpath}
-    [Return]     ${output}
-
- Grep File on Host
-    [Documentation]     Grep the passed file name and return all of the lines that match the passed pattern using passed connection alias/host
-    [Arguments]     ${host}    ${pattern}     ${fullpath}
-    Switch Connection    ${host}
-    ${output}=    Grep Local File    ${pattern}    ${fullpath}
-    @{lines}=    Split To Lines    ${output}
-    [Return]     @{lines}
-
-Grep File on Hosts
-    [Documentation]     Grep the passed file name and return all of the lines that match the passed pattern using passed list of connections
-    [Arguments]    ${HOSTS}    ${pattern}    ${fullpath}
-    &{map}=    Create Dictionary
-    :FOR    ${HOST}    IN    @{HOSTS}
-    \    Log    ${HOST}
-    \    @{lines}=    Grep File on Host    ${HOST}   ${pattern}    ${fullpath}
-    \    &{map}=    Create Dictionary    ${HOST}=@{lines}    &{map}
-    [Return]    &{map}
-
-Tail File on Host Until
-    [Documentation]     Tail log file into grep which returns file lines containing the grep pattern. Will timeout after timeout= if expected pattern not received.
-    [Arguments]    ${host}    ${pattern}    ${fullpath}    ${expected}    ${timeout}=60    ${options}=-c -0
-    Switch Connection    ${host}
-    ${tailcommand}=    Catenate    tail ${options} -f ${fullpath} | grep --color=never ${pattern}
-    Write    ${tailcommand}
-    ${stdout}= Read Until Regexp    ${expected}
-    @{lines}=    Split To Lines    ${stdout}
-    [Return]    @{lines}
diff --git a/tests/optf-cmso/cmso/resources/json_templater.robot b/tests/optf-cmso/cmso/resources/json_templater.robot
deleted file mode 100644 (file)
index ebbbf43..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-*** Settings ***
-Documentation     This resource is filling out json string templates and returning the json back
-Library              RequestsLibrary
-#Library           StringTemplater
-Library                ../attlibs/StringTemplater.py
-Library           OperatingSystem
-
-*** Keywords ***
-Fill JSON Template
-    [Documentation]    Runs substitution on template to return a filled in json
-    [Arguments]    ${json}    ${arguments}
-    ${returned_string}=    Template String    ${json}    ${arguments}
-    ${returned_json}=  To Json    ${returned_string}
-    [Return]    ${returned_json}
-
-Fill JSON Template File
-    [Documentation]    Runs substitution on template to return a filled in json
-    [Arguments]    ${json_file}    ${arguments}
-    ${json}=    OperatingSystem.Get File    ${json_file}
-    ${returned_json}=  Fill JSON Template    ${json}    ${arguments}
-    [Return]    ${returned_json}
diff --git a/tests/optf-cmso/cmso/resources/misc.robot b/tests/optf-cmso/cmso/resources/misc.robot
deleted file mode 100644 (file)
index e20640c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-*** Settings ***
-Library     Collections
-Library     String
-#Library     UUID
-Library                ../attlibs/UID.py
-Library     Process
-Library     HttpLibrary.HTTP
-Documentation     Miscellaneous keywords
-
-Resource    json_templater.robot
-Resource    create_schedule.robot
-
-
-*** Variables ***
-
-*** Keywords ***
-
-Validate Status
-    [Documentation]    Fail unless the Request response is in the passed list of valid HTTP status codes.
-    [Arguments]    ${resp}    ${valid_status_list}
-    ${status_code}   Convert To String   ${resp.status_code}
-    Return From Keyword If   '${resp.status_code}' in ${valid_status_list}
-    Fail   ${resp.status_code}
-    
-Validate JSON Error
-    [Documentation]     Fails if messageIds do not match. expected_errors should be a list but a string would likely work as well
-    [Arguments]    ${resp_json}    ${expected_errors}
-    ${result}=   Get From Dictionary   ${resp_json['requestError']}   messageId   
-    Should Contain    ${expected_errors}    ${result}    #checks expected_errors list for the actual error received from schedule
-    
-Check ATTIDs Template
-   [Documentation]    This just checks a list of uuids 
-   [Arguments]    ${expected_status_code}    ${template_folder}
-   ${request_file}=    Convert to String    OneVnfImmediateATTID.json.template
-   ${attid_file}=    OperatingSystem.Get File    robot/assets/AOTS_CM_IDs.txt
-   @{attids}=    Split to lines    ${attid_file}
-   :for    ${attid}    in    @{attids}
-   \   ${uuid}=    Generate UUID
-   \   ${resp}=   Run Keyword and Continue on Failure    Create Schedule   ${uuid}   ${request_file}   ${template_folder}    attid=${attid}
-   \   Run Keyword and Continue on Failure   Should Be Equal as Strings    ${resp.status_code}    ${expected_status_code}
-   \   ${reps}=   Delete Change Management   auth   schedules/${uuid}
-    
-    
diff --git a/tests/optf-cmso/cmso/resources/scheduler_common.robot b/tests/optf-cmso/cmso/resources/scheduler_common.robot
deleted file mode 100644 (file)
index dd2f611..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-*** Settings ***
-Documentation     The private interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields
-
-Library           Collections
-Library              RequestsLibrary
-#Library                 UUID
-Library                ../attlibs/UID.py
-#Library           HTTPUtils
-Library                ../attlibs/HTTPUtils.py
-Library           String
-Resource   misc.robot
-*** Variables ***
-*** Variables ***
-${GLOBAL_SCHEDULER_PORT}               8080
-${GLOBAL_SCHEDULER_PROTOCOL}           http
-#${GLOBAL_SCHEDULER_HOST}              127.0.0.1
-${GLOBAL_SCHEDULER_USER}               jf9860@csp.att.com
-${GLOBAL_SCHEDULER_PASSWORD}           45=Forty5
-${GLOBAL_APPLICATION_ID}               schedulertest
-${SCHEDULER_PATH}    /cmso/v1
-${CHANGE_MANAGEMENT_PATH}    ${SCHEDULER_PATH}
-${valid_status_codes}    200    202    400    404    204    409
-#**************** Test Case Variables ******************
-
-*** Keywords ***
-
-
-Post Change Management
-    [Documentation]    Runs a scheduler POST request
-    [Arguments]    ${alias}    ${resource}   ${data}={}
-    ${data_path}=   Catenate   ${CHANGE_MANAGEMENT_PATH}/${resource}
-    ${resp}=    Post Scheduler    ${alias}    ${data_path}   ${data}
-    [Return]   ${resp}   
-
-Delete Change Management
-    [Documentation]    Runs a scheduler DELETE request (this may need to be changed for 1802 US change Delete schedule to Cancel Schedule)
-    [Arguments]    ${alias}    ${resource}
-    ${data_path}=   Catenate   ${CHANGE_MANAGEMENT_PATH}/${resource}
-    ${resp}=    Delete Scheduler    ${alias}    ${data_path}
-    [Return]   ${resp}   
-
-Get Change Management
-    [Documentation]    Runs a scheduler GET request
-    [Arguments]    ${alias}    ${resource}  
-    ${data_path}=   Catenate   ${CHANGE_MANAGEMENT_PATH}/${resource} 
-    ${resp}=   Get Scheduler    ${alias}    ${data_path}
-    [Return]   ${resp}    
-
-Post Scheduler
-    [Documentation]    Runs a scheduler POST request
-    [Arguments]    ${alias}   ${data_path}   ${data}={}
-    ${url}=   Catenate   ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}    
-    ${auth_string}=   B64 Encode    ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
-    ${headers}=  Create Dictionary   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}   Authorization=Basic ${auth_string}
-    ${resp}=   Post Request    ${alias}        ${data_path}     headers=${headers}   data=${data}
-    Log    Received response from scheduler ${resp.text}
-    ${valid}=   Split String   ${valid_status_codes}
-    
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
-
-Delete Scheduler
-    [Documentation]    Runs a scheduler POST request
-    [Arguments]    ${alias}   ${data_path} 
-    ${url}=   Catenate   ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}     
-    ${auth_string}=   B64 Encode    ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
-    ${headers}=  Create Dictionary   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}      Authorization=Basic ${auth_string}  
-    ${resp}=   Delete Request  ${alias}        ${data_path}     headers=${headers}
-    Log    Received response from scheduler ${resp.text}
-    ${valid}=   Split String   ${valid_status_codes}
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
-
-Get Scheduler
-    [Documentation]    Runs a scheduler GET request
-    [Arguments]    ${alias}   ${data_path} 
-    ${url}=   Catenate   ${GLOBAL_SCHEDULER_PROTOCOL}://${GLOBAL_SCHEDULER_HOST}:${GLOBAL_SCHEDULER_PORT}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}     
-    ${auth_string}=   B64 Encode    ${GLOBAL_SCHEDULER_USER}:${GLOBAL_SCHEDULER_PASSWORD}
-    ${headers}=  Create Dictionary   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}      Authorization=Basic ${auth_string}
-    ${resp}=   Get Request     ${alias}        ${data_path}     headers=${headers}
-    Log    Received response from scheduler ${resp.json()}
-    ${valid}=   Split String   ${valid_status_codes}
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
diff --git a/tests/optf-cmso/cmso/resources/vtm_common.robot b/tests/optf-cmso/cmso/resources/vtm_common.robot
deleted file mode 100644 (file)
index 3d5b50a..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-*** Settings ***
-Documentation     The private interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields
-
-Library           Collections
-Library              RequestsLibrary
-Library                ../attlibs/UID.py
-Library           HTTPUtils
-Library           DateTime
-
-Resource   misc.robot
-*** Variables ***
-*** Variables ***
-# http://zld03290.vci.att.com:9018
-#
-${CLOSE_PATH}    /vtm/manageChangeRecord/v1/closeCancelChangeRecord
-${CLOSE_PORT}    31127
-
-
-#**************** Test Case Variables ******************
-
-*** Keywords ***
-
-vTM Query Template
-    [Documentation]    
-    [Arguments]    ${alias}    ${offset}=0  ${numOfrows}=100   ${display}=[]   ${filter}={}
-    ${request}=   Create Dictionary   offset=${offset}   numOfRows=${numOfRows}   displayTuple=${display}   filterTuple=${filter}
-    Log   ${request}
-    ${resp}=   vTM Query   ${alias}   ${request}
-    [Return]   ${resp}
-
-
-vTM Query
-    [Documentation]    
-    [Arguments]    ${alias}    ${request}
-    ${url}=   Catenate   ${GLOBAL_VTM_URL}
-    ${data_path}=   Catenate   ${GLOBAL_LISTCHANGE_PATH}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}   verify=True      
-    ${auth_string}=   B64 Encode    ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD}
-    #Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}   
-    ${headers}=  Create Dictionary  Authorization=Basic ${auth_string}   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    ${alias}        ${data_path}     headers=${headers}   data=${request}
-    Log    Received response from vTM ${resp.text}
-    ${valid}=   Create List   200    404
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
-
-
-vTM Close Ticket
-    [Documentation]    
-    [Arguments]    ${alias}    ${ticket}   ${changeClosedBy}=jf9860
-    ${url}=   Catenate   ${GLOBAL_VTM_PROTO}://${GLOBAL_VTM_HOST}:${CLOSE_PORT}
-    ${data_path}=   Catenate   ${CLOSE_PATH}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}   verify=True      
-    ${auth_string}=   B64 Encode    ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD}
-    ${end}=   Get Current Date   result_format=epoch    exclude_millis=True
-    ${end}=   Convert To Integer   ${end}
-    ${start}=   Evaluate   ${end}-60
-    ${request}=   Create Dictionary   changeId=${ticket}   status=Closed   changeClosedBy=${changeClosedBy}   closureCode=Successful As Scheduled    
-       Set To Dictionary   ${request}   customerImpacted=Unknown    actualStartDate=${start}   actualEndDate=${end}
-    
-    #Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}   
-    ${headers}=  Create Dictionary  Authorization=Basic ${auth_string}   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    ${alias}        ${data_path}     headers=${headers}   data=${request}
-    Log    Received response from vTM ${resp.json()}
-    ${valid}=   Create List   200    404
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
-
-
-vTM Cancel Ticket
-    [Documentation]    
-    [Arguments]    ${alias}    ${ticket}
-    ${url}=   Catenate   ${GLOBAL_VTM_PROTO}://${GLOBAL_VTM_HOST}:${CLOSE_PORT}
-    ${data_path}=   Catenate   ${CLOSE_PATH}
-    ${uuid}=    Generate UUID
-    ${proxies}=   Create Dictionary   no=pass
-    ${session}=    Create Session      ${alias}   ${url}   verify=True      
-    ${auth_string}=   B64 Encode    ${GLOBAL_VTM_USER}:${GLOBAL_VTM_PASSWORD}
-    ${end}=   Get Current Date   result_format=epoch    exclude_millis=True
-    ${end}=   Convert To Integer   ${end}
-    ${start}=   Evaluate   ${end}-60
-    ${request}=   Create Dictionary   changeId=${ticket}   status=Closed   changeClosedBy=${GLOBAL_VID_USERID}   closureCode=Cancelled    closingComments=Cancel requested by user    
-       Set To Dictionary   ${request}      customerImpacted=No
-    ${headers}=  Create Dictionary  Authorization=Basic ${auth_string}   Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    ${alias}        ${data_path}     headers=${headers}   data=${request}
-    Log    Received response from vTM ${resp.json()}
-    ${valid}=   Create List   200    404
-    Validate Status   ${resp}   ${valid}
-    [Return]    ${resp}
diff --git a/tests/optf-cmso/cmso/testsuites/ChangeManagementImmediate.robot b/tests/optf-cmso/cmso/testsuites/ChangeManagementImmediate.robot
deleted file mode 100644 (file)
index 6990cf4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-*** Settings ***
-Documentation    Placeholder for running CMSO IT 
-
-*** Test Cases ***
-CMSO Robot Test
-   Log    CMSO IT tests run via cmso-robot docker container.
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/testsuites/CmsoCsit.robot b/tests/optf-cmso/cmso/testsuites/CmsoCsit.robot
new file mode 100644 (file)
index 0000000..1d57b53
--- /dev/null
@@ -0,0 +1,3 @@
+*** Test Cases ***
+CSIT Test Case
+    Log   See output of cmso-robot 
\ No newline at end of file
diff --git a/tests/optf-cmso/cmso/testsuites/__init__.robot b/tests/optf-cmso/cmso/testsuites/__init__.robot
deleted file mode 100644 (file)
index baa56c7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-*** Settings ***
-Documentation    Scheduler 
-
-*** Variables ***
index 6ef4f72..dfa6ab6 100644 (file)
@@ -1,7 +1,6 @@
 *** Settings ***
 Documentation     The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps
 Library           Collections
-Library           OSUtils
 Library           OperatingSystem
 Library           ExtendedSelenium2Library
 Resource          global_properties.robot
@@ -22,8 +21,6 @@ Setup Browser Firefox
     Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}
            
  Setup Browser Chrome
-    ${os}=   Get Normalized Os 
-    Log    Normalized OS=${os}
     ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
     Call Method    ${chrome options}    add_argument    no-sandbox
     ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME  sys, selenium.webdriver
index 473a046..fdfa4e7 100644 (file)
@@ -3,7 +3,7 @@ Documentation     The main interface for interacting with Portal. It handles low
 Library            ExtendedSelenium2Library
 Library                  RequestsClientCert
 Library              RequestsLibrary
-Library                  UUID 
+Library                  ONAPLibrary.Utilities 
 Library         DateTime  
 Resource        ../global_properties.robot
 Resource        ../browser_setup.robot
@@ -50,7 +50,7 @@ Run Portal Get Request
      [Documentation]    Runs Portal Get request
      [Arguments]    ${data_path}
      ${session}=    Create Session     portal  ${GLOBAL_PORTAL_URL}
-     ${uuid}=    Generate UUID
+     ${uuid}=    Generate UUID4
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
      ${resp}=  Get Request     portal  ${data_path}     headers=${headers}
      Log    Received response from portal ${resp.text}
index d0fef06..d3196f8 100644 (file)
@@ -4,10 +4,9 @@ Library                ExtendedSelenium2Library
 Library                OperatingSystem
 Library                eteutils/RequestsClientCert.py
 Library                RequestsLibrary
-Library                eteutils/UUID.py 
+Library                ONAPLibrary.Utilities 
 Library                DateTime  
 Library                Collections
-Library                eteutils/OSUtils.py
 Library                eteutils/StringTemplater.py
 Library                String
 Library                XvfbRobot
@@ -231,8 +230,6 @@ Setup Browser
     
           
  Setup Browser Chrome
-    ${os}=   Get Normalized Os 
-    Log    Normalized OS=${os}
     ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
     Call Method    ${chrome options}    add_argument    no-sandbox
     ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME  sys, selenium.webdriver
@@ -262,7 +259,7 @@ Run Portal Get Request
      [Documentation]    Runs Portal Get request
      [Arguments]    ${data_path}
      ${session}=    Create Session     portal  ${PORTAL_URL}
-     ${uuid}=    Generate UUID
+     ${uuid}=    Generate UUID4
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
      ${resp}=  Get Request     portal  ${data_path}     headers=${headers}
      Log    Received response from portal ${resp.text}
index 84243cb..cac93f7 100644 (file)
@@ -19,7 +19,7 @@ ${TARGETURL_SUBSCR}                      http://${DMAAP_MR_IP}:3904/events/unaut
 ${CLI_EXEC_CLI}                          curl -k https://${DR_PROV_IP}:8443/internal/prov
 ${CLI_EXEC_CLI_FILECONSUMER}             docker exec fileconsumer-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep .xml"
 ${CLI_EXEC_CLI_DFC_LOG}                  docker exec dfc /bin/sh -c "cat /var/log/ONAP/application.log" > /tmp/dfc_docker.log.robot
-${CLI_EXEC_CLI_DFC_LOG_GREP}             grep "Publish to DR successful!" /tmp/dfc_docker.log.robot
+${CLI_EXEC_CLI_DFC_LOG_GREP}             grep "Datafile file published" /tmp/dfc_docker.log.robot
 ${CLI_EXEC_CLI_FILECONSUMER_CP}          docker cp fileconsumer-node:/opt/app/subscriber/delivery/A20181002.0000-1000-0015-1000_5G.xml.M %{WORKSPACE}
 ${CLI_EXEC_RENAME_METADATA}              mv %{WORKSPACE}/A20181002.0000-1000-0015-1000_5G.xml.M  %{WORKSPACE}/metadata.json
 ${CLI_EXEC_CLI_PMMAPPER_LOG}             docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" > /tmp/pmmapper_docker.log.robot
@@ -71,7 +71,7 @@ Verify Data File Collector successfully publishes the PM XML file to the Data Ro
     ${cli_cmd_output}=              Run Process                     ${CLI_EXEC_CLI_DFC_LOG_GREP}    shell=yes
     Log                             ${cli_cmd_output.stdout}
     Should Be Equal As Strings      ${cli_cmd_output.rc}            0
-    Should Contain                  ${cli_cmd_output.stdout}        Publish to DR successful!
+    Should Contain                  ${cli_cmd_output.stdout}        Datafile file published
 
 
 Verify Default Feed And File Consumer Subscription On Datarouter
index 6bd0c13..6aaa5a7 100644 (file)
@@ -1,7 +1,7 @@
 version: '3'
 services:
     vid-server:
-        image: nexus3.onap.org:10001/onap/vid:4.3-STAGING-latest
+        image: nexus3.onap.org:10001/onap/vid:5.0-STAGING-latest
         environment:
         - VID_MYSQL_DBNAME=vid_openecomp_epsdk
         - VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U