aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plans/dcaegen2/prh-testsuites/setup.sh2
-rw-r--r--plans/optf-cmso/cmso/testplan.txt2
-rw-r--r--plans/policy/apex-pdp/setup.sh31
-rw-r--r--plans/policy/api/setup.sh27
-rwxr-xr-xplans/policy/api/teardown.sh1
-rw-r--r--plans/policy/pap/setup.sh31
-rw-r--r--plans/policy/pap/teardown.sh2
-rw-r--r--plans/policy/xacml-pdp/setup.sh29
-rw-r--r--plans/usecases/5G-bulkpm/assets/datafile_endpoints.json71
-rw-r--r--plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml8
-rwxr-xr-xrun-csit.sh2
-rw-r--r--scripts/optf-cmso/cmso/start_cmso_containers.sh53
-rwxr-xr-xscripts/optf-cmso/cmso/wait_for_port.sh36
-rw-r--r--scripts/policy/docker-compose-api.yml14
-rw-r--r--scripts/policy/docker-compose-pap.yml20
-rw-r--r--scripts/policy/policy-apex-pdp/config/apex-pdp/OnapPfConfig.json17
-rw-r--r--scripts/policy/policy-apex-pdp/config/apex-pdp/topic.properties23
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/defaultConfig.json30
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/logback.xml102
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/s3pConfig.json11
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystorebin4407 -> 0 bytes
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststorebin124176 -> 0 bytes
-rw-r--r--scripts/policy/policy-apex-pdp/config/pap/topic.properties23
-rw-r--r--scripts/policy/policy-apex-pdp/docker-compose-apex.yml44
-rw-r--r--scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml29
-rw-r--r--tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json70
-rw-r--r--tests/dcaegen2/prh-testcases/assets/aai-not-responding/ves-event.json70
-rw-r--r--tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json2
-rw-r--r--tests/dcaegen2/prh-testcases/assets/json_events/event_with_optional_registration_fields_all_filled.json2
-rw-r--r--tests/dcaegen2/prh-testcases/assets/json_events/ves-event-pnf-registration-with-attachment-point.json2
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json25
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json66
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json22
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json8
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/ves-event.json40
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json30
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json14
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json2
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json74
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json72
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json2
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json74
-rw-r--r--tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json70
-rw-r--r--tests/dcaegen2/prh-testcases/prh_config_tests.robot33
-rw-r--r--tests/dcaegen2/prh-testcases/prh_tests.robot18
-rw-r--r--tests/dcaegen2/prh-testcases/resources/.env3
-rw-r--r--tests/dcaegen2/prh-testcases/resources/PrhLibrary.py170
-rw-r--r--tests/dcaegen2/prh-testcases/resources/docker-compose.yml11
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_config_library.robot43
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_library.robot107
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_sessions.robot25
-rw-r--r--tests/dcaegen2/prh-testcases/resources/simulator/AAI.py16
-rw-r--r--tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py65
-rw-r--r--tests/integration/vCPE/test1.robot4
-rw-r--r--tests/optf-cmso/cmso/attlibs/CurlLibrary.py13
-rw-r--r--tests/optf-cmso/cmso/attlibs/HTTPUtils.py21
-rw-r--r--tests/optf-cmso/cmso/attlibs/JSONUtils.py37
-rw-r--r--tests/optf-cmso/cmso/attlibs/OSUtils.py14
-rw-r--r--tests/optf-cmso/cmso/attlibs/RequestsClientCert.py7
-rw-r--r--tests/optf-cmso/cmso/attlibs/StringTemplater.py8
-rw-r--r--tests/optf-cmso/cmso/attlibs/UID.py8
-rw-r--r--tests/optf-cmso/cmso/resources/approval_requests.robot38
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyDomain.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleID.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleName.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyUserID.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectPolicyId.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectWorkflow.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNegativeNormalDurationInSeconds.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoEndTime.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoNodeName.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoStartTime.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowSwitchedTime.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyAdditionalDuration.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyDomain.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyScheduleId.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyUserId.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyDomain.json.template20
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleId.json.template20
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleName.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptySchedulingInfo.json.template14
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyUserId.json.template14
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData1.json.template26
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData2.json.template27
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData3.json.template29
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/MultipleVnfImmediate.json.template24
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNFsOneChangeWindow.json.template32
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNSsTwoChangeWindows.json.template37
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediate.json.template25
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateIncorrectWorkflow.json.template21
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateReplaceVNFInfra.json.template23
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindow.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackData.json.template25
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackURL.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowReplaceVNFInfra.json.template30
-rw-r--r--tests/optf-cmso/cmso/resources/assets/templates/changemanagement/VidCallbackData.json.template40
-rw-r--r--tests/optf-cmso/cmso/resources/browser_setup.robot50
-rw-r--r--tests/optf-cmso/cmso/resources/change_management_ete.robot103
-rw-r--r--tests/optf-cmso/cmso/resources/create_schedule.robot54
-rw-r--r--tests/optf-cmso/cmso/resources/files.robot50
-rw-r--r--tests/optf-cmso/cmso/resources/json_templater.robot21
-rw-r--r--tests/optf-cmso/cmso/resources/misc.robot43
-rw-r--r--tests/optf-cmso/cmso/resources/scheduler_common.robot93
-rw-r--r--tests/optf-cmso/cmso/resources/vtm_common.robot93
-rw-r--r--tests/optf-cmso/cmso/testsuites/ChangeManagementImmediate.robot6
-rw-r--r--tests/optf-cmso/cmso/testsuites/CmsoCsit.robot3
-rw-r--r--tests/optf-cmso/cmso/testsuites/__init__.robot4
-rw-r--r--tests/portal/testsuites/browser_setup.robot3
-rw-r--r--tests/portal/testsuites/portal_VID.robot4
-rw-r--r--tests/portal/testsuites/test1.robot7
-rw-r--r--tests/usecases/5G-bulkpm/BulkpmE2E.robot4
-rw-r--r--tests/vid/resources/docker-compose.yml2
112 files changed, 930 insertions, 2416 deletions
diff --git a/plans/dcaegen2/prh-testsuites/setup.sh b/plans/dcaegen2/prh-testsuites/setup.sh
index 28882c84..9dc8de9a 100644
--- a/plans/dcaegen2/prh-testsuites/setup.sh
+++ b/plans/dcaegen2/prh-testsuites/setup.sh
@@ -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
diff --git a/plans/optf-cmso/cmso/testplan.txt b/plans/optf-cmso/cmso/testplan.txt
index 7645a858..42f64f1e 100644
--- a/plans/optf-cmso/cmso/testplan.txt
+++ b/plans/optf-cmso/cmso/testplan.txt
@@ -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
diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh
index 96396462..1e61726b 100644
--- a/plans/policy/apex-pdp/setup.sh
+++ b/plans/policy/apex-pdp/setup.sh
@@ -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}"
diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh
index a29254a5..6168085e 100644
--- a/plans/policy/api/setup.sh
+++ b/plans/policy/api/setup.sh
@@ -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}"
diff --git a/plans/policy/api/teardown.sh b/plans/policy/api/teardown.sh
index fc82dfa7..0572e034 100755
--- a/plans/policy/api/teardown.sh
+++ b/plans/policy/api/teardown.sh
@@ -19,4 +19,3 @@
kill-instance.sh policy-api
kill-instance.sh mariadb
-kill-instance.sh policy-wait
diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh
index d1ba20c2..8bd3f0ac 100644
--- a/plans/policy/pap/setup.sh
+++ b/plans/policy/pap/setup.sh
@@ -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"
diff --git a/plans/policy/pap/teardown.sh b/plans/policy/pap/teardown.sh
index f05d3af9..c2d7e214 100644
--- a/plans/policy/pap/teardown.sh
+++ b/plans/policy/pap/teardown.sh
@@ -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
diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh
index 96ae4715..24fc2d7c 100644
--- a/plans/policy/xacml-pdp/setup.sh
+++ b/plans/policy/xacml-pdp/setup.sh
@@ -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}"
diff --git a/plans/usecases/5G-bulkpm/assets/datafile_endpoints.json b/plans/usecases/5G-bulkpm/assets/datafile_endpoints.json
index d07e3d82..4d9c1974 100644
--- a/plans/usecases/5G-bulkpm/assets/datafile_endpoints.json
+++ b/plans/usecases/5G-bulkpm/assets/datafile_endpoints.json
@@ -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
diff --git a/plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml b/plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml
index 7880656b..59da2d9f 100644
--- a/plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml
+++ b/plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml
@@ -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:
diff --git a/run-csit.sh b/run-csit.sh
index eeb8d59f..0aa48632 100755
--- a/run-csit.sh
+++ b/run-csit.sh
@@ -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
index ded86d7c..00000000
--- a/scripts/optf-cmso/cmso/start_cmso_containers.sh
+++ /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
index 360fc210..00000000
--- a/scripts/optf-cmso/cmso/wait_for_port.sh
+++ /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
diff --git a/scripts/policy/docker-compose-api.yml b/scripts/policy/docker-compose-api.yml
index 452297fb..5cf5a27c 100644
--- a/scripts/policy/docker-compose-api.yml
+++ b/scripts/policy/docker-compose-api.yml
@@ -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
diff --git a/scripts/policy/docker-compose-pap.yml b/scripts/policy/docker-compose-pap.yml
index 115f8840..383e1bc8 100644
--- a/scripts/policy/docker-compose-pap.yml
+++ b/scripts/policy/docker-compose-pap.yml
@@ -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
index 6944c9bd..00000000
--- a/scripts/policy/policy-apex-pdp/config/apex-pdp/OnapPfConfig.json
+++ /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
index b7df11a8..00000000
--- a/scripts/policy/policy-apex-pdp/config/apex-pdp/topic.properties
+++ /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
index 32b6c30f..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/defaultConfig.json
+++ /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
index a34956c5..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/logback.xml
+++ /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
index 3085f45d..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/s3pConfig.json
+++ /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
index bf876b8a..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-keystore
+++ /dev/null
Binary files 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
index b7d52ad1..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/ssl/policy-truststore
+++ /dev/null
Binary files 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
index b7df11a8..00000000
--- a/scripts/policy/policy-apex-pdp/config/pap/topic.properties
+++ /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/docker-compose-apex.yml b/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
index 9039b894..c6578dda 100644
--- a/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
+++ b/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
@@ -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
diff --git a/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml b/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
index 62e0ce21..96a4b122 100644
--- a/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
+++ b/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json b/tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json
index 10ce41c5..3a768df2 100644
--- a/tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/aai-missing-entry/ves-event.json
@@ -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/assets/aai-not-responding/ves-event.json b/tests/dcaegen2/prh-testcases/assets/aai-not-responding/ves-event.json
index 10ce41c5..3a768df2 100644
--- a/tests/dcaegen2/prh-testcases/assets/aai-not-responding/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/aai-not-responding/ves-event.json
@@ -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/assets/json_events/event_with_all_fields.json b/tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json
index 13c564c1..cd3e73f1 100644
--- a/tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json
+++ b/tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json
@@ -13,7 +13,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/json_events/event_with_optional_registration_fields_all_filled.json b/tests/dcaegen2/prh-testcases/assets/json_events/event_with_optional_registration_fields_all_filled.json
index 9be02f10..0f2af3cd 100644
--- a/tests/dcaegen2/prh-testcases/assets/json_events/event_with_optional_registration_fields_all_filled.json
+++ b/tests/dcaegen2/prh-testcases/assets/json_events/event_with_optional_registration_fields_all_filled.json
@@ -14,7 +14,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/json_events/ves-event-pnf-registration-with-attachment-point.json b/tests/dcaegen2/prh-testcases/assets/json_events/ves-event-pnf-registration-with-attachment-point.json
index 054774c5..97d2dffa 100644
--- a/tests/dcaegen2/prh-testcases/assets/json_events/ves-event-pnf-registration-with-attachment-point.json
+++ b/tests/dcaegen2/prh-testcases/assets/json_events/ves-event-pnf-registration-with-attachment-point.json
@@ -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
index 00000000..6119ea8b
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
@@ -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
index 00000000..e01e26e6
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
@@ -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
index 00000000..0e4f6ab1
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json
@@ -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
index 00000000..5c77e125
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json
@@ -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
index 00000000..5de986c5
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/ves-event.json
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json
index 2bdc0570..dd135f4d 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-missing-field/invalid-ves-event.json
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json
index c48c841c..9b4c7e2c 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-logical-link.json
@@ -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": []
+ }
+ ]
}
- ]
}
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json
index 0ccc1dfb..5c77e125 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/expected-pnf-ready-event.json
@@ -1,7 +1,7 @@
[
{
"additionalFields": {
- "attachmentPoint": "bbs-link"
+ "attachment-point": "bbs-link"
},
"correlationId": "NOK6061ZW9"
}
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json
index 9f024983..5de986c5 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-attachment-point/ves-event.json
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json
index b7e5af5e..ba91f286 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-additional-fields/ves-event.json
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json
index d2cf9547..363ff3ff 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/expected-pnf-ready-event.json
@@ -1,7 +1,7 @@
[
{
"additionalFields": {
- "attachmentPoint": ""
+ "attachment-point": ""
},
"correlationId": "NOK6061ZW8"
}
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json
index c1b6dc2c..b56341f3 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-with-empty-attachment-point/ves-event.json
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json b/tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json
index 10ce41c5..3a768df2 100644
--- a/tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json
+++ b/tests/dcaegen2/prh-testcases/assets/ves-event-without-additional-fields/ves-event.json
@@ -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
index 00000000..144504d1
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/prh_config_tests.robot
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/prh_tests.robot b/tests/dcaegen2/prh-testcases/prh_tests.robot
index acaf78fd..4e387b91 100644
--- a/tests/dcaegen2/prh-testcases/prh_tests.robot
+++ b/tests/dcaegen2/prh-testcases/prh_tests.robot
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/resources/.env b/tests/dcaegen2/prh-testcases/resources/.env
index a558a2e8..b1de55a9 100644
--- a/tests/dcaegen2/prh-testcases/resources/.env
+++ b/tests/dcaegen2/prh-testcases/resources/.env
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
index 88aeb45c..b3f5f8d9 100644
--- a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
+++ b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml
index aba658b0..ca94dfb2 100644
--- a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml
+++ b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml
@@ -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
index 00000000..26a62704
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/resources/prh_config_library.robot
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot
index 1fae1005..3ed377c7 100644
--- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot
+++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot
@@ -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
index 00000000..2fadbbae
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/resources/prh_sessions.robot
@@ -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
diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
index ff368034..f6d3b1f6 100644
--- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
+++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
@@ -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:
diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py
index ce9858d6..5ec601f6 100644
--- a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py
+++ b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py
@@ -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:
diff --git a/tests/integration/vCPE/test1.robot b/tests/integration/vCPE/test1.robot
index 1dd7c1bb..d07bf6e4 100644
--- a/tests/integration/vCPE/test1.robot
+++ b/tests/integration/vCPE/test1.robot
@@ -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
index 44c62293..00000000
--- a/tests/optf-cmso/cmso/attlibs/CurlLibrary.py
+++ /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
index f9d380c9..00000000
--- a/tests/optf-cmso/cmso/attlibs/HTTPUtils.py
+++ /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
index 5df1e5c7..00000000
--- a/tests/optf-cmso/cmso/attlibs/JSONUtils.py
+++ /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
index 78968f03..00000000
--- a/tests/optf-cmso/cmso/attlibs/OSUtils.py
+++ /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
index e1fd66ff..00000000
--- a/tests/optf-cmso/cmso/attlibs/RequestsClientCert.py
+++ /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
index 680600fd..00000000
--- a/tests/optf-cmso/cmso/attlibs/StringTemplater.py
+++ /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
index 43748096..00000000
--- a/tests/optf-cmso/cmso/attlibs/UID.py
+++ /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
index 9de1887c..00000000
--- a/tests/optf-cmso/cmso/resources/approval_requests.robot
+++ /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
index 1aea5ef7..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyDomain.json.template
+++ /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
index 2733b076..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleID.json.template
+++ /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
index 9d827bd5..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyScheduleName.json.template
+++ /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
index d779f2cb..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowEmptyUserID.json.template
+++ /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
index 061b6b7f..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectPolicyId.json.template
+++ /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
index 87ab8f3a..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowIncorrectWorkflow.json.template
+++ /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
index 633ce466..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNegativeNormalDurationInSeconds.json.template
+++ /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
index 62dae5bd..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoEndTime.json.template
+++ /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
index 22fc89ac..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoNodeName.json.template
+++ /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
index 4f1f25b8..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowNoStartTime.json.template
+++ /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
index a7f19d42..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/FailureCasesChangeManagement/OneVnfOneChangeWindowSwitchedTime.json.template
+++ /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
index 5c9e0a32..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyAdditionalDuration.json.template
+++ /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
index 19c1d870..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyDomain.json.template
+++ /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
index ab92d185..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyScheduleId.json.template
+++ /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
index 9de749c6..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/MutipleVNFImmediateFailureCases/MultipleVnfImmediateEmptyUserId.json.template
+++ /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
index 8d2f09fe..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyDomain.json.template
+++ /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
index b363a27e..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleId.json.template
+++ /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
index 4bb70ec2..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyScheduleName.json.template
+++ /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
index 461f1662..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptySchedulingInfo.json.template
+++ /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
index a2a4ba4f..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/OneVNFImmediateFailureCases/OneVnfImmediateEmptyUserId.json.template
+++ /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
index 73c2e341..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData1.json.template
+++ /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
index 0f021168..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData2.json.template
+++ /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
index dc64483e..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/SearchSchedulerDetails/OneVnfImmediate_domainData3.json.template
+++ /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
index 542e19e2..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/MultipleVnfImmediate.json.template
+++ /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
index 9bfd3d2d..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNFsOneChangeWindow.json.template
+++ /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
index a3cef8a9..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneGroupMultipleVNSsTwoChangeWindows.json.template
+++ /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
index c108c152..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediate.json.template
+++ /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
index e91c653c..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateIncorrectWorkflow.json.template
+++ /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
index d896a62e..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfImmediateReplaceVNFInfra.json.template
+++ /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
index 93bb2ac2..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindow.json.template
+++ /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
index e6e584b7..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackData.json.template
+++ /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
index 57634d61..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowEmptyCallbackURL.json.template
+++ /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
index e5d62bf8..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/OneVnfOneChangeWindowReplaceVNFInfra.json.template
+++ /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
index 177b55af..00000000
--- a/tests/optf-cmso/cmso/resources/assets/templates/changemanagement/VidCallbackData.json.template
+++ /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
index 032759ea..00000000
--- a/tests/optf-cmso/cmso/resources/browser_setup.robot
+++ /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
index 2b1ff540..00000000
--- a/tests/optf-cmso/cmso/resources/change_management_ete.robot
+++ /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
index 43d5ff10..00000000
--- a/tests/optf-cmso/cmso/resources/create_schedule.robot
+++ /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
index fcfffbb3..00000000
--- a/tests/optf-cmso/cmso/resources/files.robot
+++ /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
index ebbbf43d..00000000
--- a/tests/optf-cmso/cmso/resources/json_templater.robot
+++ /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
index e20640c0..00000000
--- a/tests/optf-cmso/cmso/resources/misc.robot
+++ /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
index dd2f6118..00000000
--- a/tests/optf-cmso/cmso/resources/scheduler_common.robot
+++ /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
index 3d5b50ab..00000000
--- a/tests/optf-cmso/cmso/resources/vtm_common.robot
+++ /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
index 6990cf46..00000000
--- a/tests/optf-cmso/cmso/testsuites/ChangeManagementImmediate.robot
+++ /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
index 00000000..1d57b53e
--- /dev/null
+++ b/tests/optf-cmso/cmso/testsuites/CmsoCsit.robot
@@ -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
index baa56c7b..00000000
--- a/tests/optf-cmso/cmso/testsuites/__init__.robot
+++ /dev/null
@@ -1,4 +0,0 @@
-*** Settings ***
-Documentation Scheduler
-
-*** Variables ***
diff --git a/tests/portal/testsuites/browser_setup.robot b/tests/portal/testsuites/browser_setup.robot
index 6ef4f726..dfa6ab68 100644
--- a/tests/portal/testsuites/browser_setup.robot
+++ b/tests/portal/testsuites/browser_setup.robot
@@ -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
diff --git a/tests/portal/testsuites/portal_VID.robot b/tests/portal/testsuites/portal_VID.robot
index 473a0464..fdfa4e79 100644
--- a/tests/portal/testsuites/portal_VID.robot
+++ b/tests/portal/testsuites/portal_VID.robot
@@ -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}
diff --git a/tests/portal/testsuites/test1.robot b/tests/portal/testsuites/test1.robot
index d0fef06a..d3196f83 100644
--- a/tests/portal/testsuites/test1.robot
+++ b/tests/portal/testsuites/test1.robot
@@ -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}
diff --git a/tests/usecases/5G-bulkpm/BulkpmE2E.robot b/tests/usecases/5G-bulkpm/BulkpmE2E.robot
index 84243cba..cac93f7f 100644
--- a/tests/usecases/5G-bulkpm/BulkpmE2E.robot
+++ b/tests/usecases/5G-bulkpm/BulkpmE2E.robot
@@ -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
diff --git a/tests/vid/resources/docker-compose.yml b/tests/vid/resources/docker-compose.yml
index 6bd0c138..6aaa5a7e 100644
--- a/tests/vid/resources/docker-compose.yml
+++ b/tests/vid/resources/docker-compose.yml
@@ -1,7 +1,7 @@
version: '3'
services:
vid-server:
- image: nexus3.onap.org:10001/onap/vid: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