aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh4
-rwxr-xr-xscripts/dcaegen2-collectors-datafile/dfc-containers-clean.sh11
-rwxr-xr-xscripts/dcaegen2-collectors-datafile/dfc-management/dfc-restart.sh2
-rw-r--r--tests/dcaegen2-collectors-datafile/resources/common-keywords.robot30
-rwxr-xr-xtests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot137
-rwxr-xr-xtests/dcaegen2-collectors-datafile/testsuites/ManagementInterface-suite/MI.robot10
-rw-r--r--tests/policy/api/api-test.robot65
-rw-r--r--tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json223
-rw-r--r--tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json50
9 files changed, 481 insertions, 51 deletions
diff --git a/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh b/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh
index e4940280..e2a0c126 100644
--- a/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh
+++ b/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh
@@ -4,10 +4,10 @@
docker kill "$(docker ps -q -a)"
docker rm "$(docker ps -q -a)"
-# Clone Simulators for DFC from integration repo.
+# Clone Simulators for DFC from integration repo.
mkdir -p $WORKSPACE/archives/dfc
cd $WORKSPACE/archives/dfc
-git clone --depth 1 https://gerrit.onap.org/r/integration -b master #How to make this version controlled for Dublin, El Alto etc etc
+git clone --depth 1 https://gerrit.onap.org/r/integration -b master
#Location of all individual simulators for DFC
SIM_ROOT=$WORKSPACE/archives/dfc/integration/test/mocks/datafilecollector-testharness
diff --git a/scripts/dcaegen2-collectors-datafile/dfc-containers-clean.sh b/scripts/dcaegen2-collectors-datafile/dfc-containers-clean.sh
new file mode 100755
index 00000000..03919343
--- /dev/null
+++ b/scripts/dcaegen2-collectors-datafile/dfc-containers-clean.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Kill dfc and all simulator
+
+docker kill dfc_app
+docker kill dfc_dr-sim
+docker kill dfc_dr-redir-sim
+docker kill dfc_mr-sim
+docker kill dfc_sftp-server
+docker kill dfc_ftpes-server-vsftpd
+
diff --git a/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-restart.sh b/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-restart.sh
index ebc28f49..8478bcb0 100755
--- a/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-restart.sh
+++ b/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-restart.sh
@@ -7,7 +7,7 @@ docker restart dfc_app
DFC_APP="$(docker ps -q --filter='name=dfc_app')"
-#Wait for initialization of docker containers for dfc app and all simulators
+#Wait for initialization of docker container for dfc app
for i in {1..10}; do
if [ $(docker inspect --format '{{ .State.Running }}' $DFC_APP) ]
then
diff --git a/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot b/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot
index a1135375..76dc0338 100644
--- a/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot
+++ b/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot
@@ -5,14 +5,36 @@ Library Process
*** Variables ***
-${CLI_MRSIM_CTR_REQUESTS} curl http://${SIM_IP}:2222/ctr_requests
-${CLI_MRSIM_CTR_RESPONSES} curl http://${SIM_IP}:2222/ctr_responses
-${CLI_MRSIM_CTR_FILES} curl http://${SIM_IP}:2222/ctr_unique_files
+${CLI_MRSIM_CTR_REQUESTS} curl --connect-timeout 10 -X GET http://${SIM_IP}:2222/ctr_requests
+${CLI_MRSIM_CTR_RESPONSES} curl --connect-timeout 10 -X GET http://${SIM_IP}:2222/ctr_responses
+${CLI_MRSIM_CTR_FILES} curl --connect-timeout 10 -X GET http://${SIM_IP}:2222/ctr_unique_files
+
+${CLI_DRSIM_CTR_QUERY_NOT_PUBLISHED} curl --connect-timeout 10 -X GET http://${SIM_IP}:3906/ctr_publish_query_not_published
+${CLI_DRSIM_CTR_PUBLISHED_FILES} curl --connect-timeout 10 -X GET http://${SIM_IP}:3906/ctr_published_files
+${CLI_DR_REDIR_SIM_DOWNLOADED_VOLUME} curl --connect-timeout 10 -X GET http://${SIM_IP}:3908/dwl_volume
*** Keywords ***
MR Sim Emitted Files Equal
- [Documentation] Verify that the number of emitted unique files are equal to a target value
+ [Documentation] Verify that the number of emitted unique files are equal to a target value
[Arguments] ${target_ctr_value}
${resp}= Run Process ${CLI_MRSIM_CTR_FILES} shell=yes
+ Should Be Equal As Strings ${resp.stdout} ${target_ctr_value}
+
+DR Sim Query Not Published Equal
+ [Documentation] Verify that the number responsed of queries of not published files are equal to a target value
+ [Arguments] ${target_ctr_value}
+ ${resp}= Run Process ${CLI_DRSIM_CTR_QUERY_NOT_PUBLISHED} shell=yes
+ Should Be Equal As Strings ${resp.stdout} ${target_ctr_value}
+
+DR Sim Published Files Equal
+ [Documentation] Verify that the number published files are equal to a target value
+ [Arguments] ${target_ctr_value}
+ ${resp}= Run Process ${CLI_DRSIM_CTR_PUBLISHED_FILES} shell=yes
+ Should Be Equal As Strings ${resp.stdout} ${target_ctr_value}
+
+DR Redir Sim Downloaded Volume Equal
+ [Documentation] Verify that the size of the downloaded data volume is equal to a target value
+ [Arguments] ${target_ctr_value}
+ ${resp}= Run Process ${CLI_DR_REDIR_SIM_DOWNLOADED_VOLUME} shell=yes
Should Be Equal As Strings ${resp.stdout} ${target_ctr_value} \ No newline at end of file
diff --git a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot
index a59fec6b..5e971da6 100755
--- a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot
+++ b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot
@@ -15,75 +15,138 @@ Resource ../../resources/common-keywords.robot
Verify single event with single 1MB SFTP file. From event poll to published file
[TAGS] DFC_FUNCTIONAL_1
[Documentation] Verify single event with single SFTP 1MB file from event poll to published file.
+ ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
Set Environment Variable MR_TC --tc100
+ Set Environment Variable DR_TC --tc normal
+ Set Environment Variable DR_REDIR_TC --tc normal
+ Set Environment Variable NUM_FTPFILES 1
+ Set Environment Variable NUM_PNFS 1
+ Set Environment Variable FILE_SIZE 1MB
+ Set Environment Variable FTP_TYPE SFTP
${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+ DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+ DR Redir Sim Downloaded Volume Equal 1 000 000 #Verify 1 000 000 bytes published file data in DR redir sim
${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
Verify single event with single 5MB SFTP file. From event poll to published file
[TAGS] DFC_FUNCTIONAL_2
[Documentation] Verify single event with single SFTP 5MB file from event poll to published file.
+ ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
Set Environment Variable MR_TC --tc101
+ Set Environment Variable DR_TC --tc normal
+ Set Environment Variable DR_REDIR_TC --tc normal
+ Set Environment Variable NUM_FTPFILES 1
+ Set Environment Variable NUM_PNFS 1
+ Set Environment Variable FILE_SIZE 5MB
+ Set Environment Variable FTP_TYPE SFTP
${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+ DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+ DR Redir Sim Downloaded Volume Equal 5 000 000 #Verify 1 000 000 bytes published file data in DR redir sim
${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
Verify single event with single 50MB SFTP file. From event poll to published file
[TAGS] DFC_FUNCTIONAL_3
[Documentation] Verify single event with single SFTP 50MB file from event poll to published file.
+ ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
Set Environment Variable MR_TC --tc102
+ Set Environment Variable DR_TC --tc normal
+ Set Environment Variable DR_REDIR_TC --tc normal
+ Set Environment Variable NUM_FTPFILES 1
+ Set Environment Variable NUM_PNFS 1
+ Set Environment Variable FILE_SIZE 50MB
+ Set Environment Variable FTP_TYPE SFTP
${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+ DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+ Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+ DR Redir Sim Downloaded Volume Equal 50 000 000 #Verify 50 000 000 bytes published file data in DR redir sim
${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
######### Single file, FTPS
-
-Verify single event with single 1MB FTPS file. From event poll to published file
- [TAGS] DFC_FUNCTIONAL_10
- [Documentation] Verify single event with single FTPS 1MB file from event poll to published file.
- Set Environment Variable MR_TC --tc200
- ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
- MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
- Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
-
-Verify single event with single 5MB FTPS file. From event poll to published file
- [TAGS] DFC_FUNCTIONAL_11
- [Documentation] Verify single event with single FTPS 5MB file from event poll to published file.
- Set Environment Variable MR_TC --tc201
- ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
- MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
- Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
-
-Verify single event with single 50MB FTPS file. From event poll to published file
- [TAGS] DFC_FUNCTIONAL_12
- [Documentation] Verify single event with single FTPS 50MB file from event poll to published file.
- Set Environment Variable MR_TC --tc202
- ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
- MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
- Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
- ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
- ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
-
+# Temporarily removed due to issues with the certificates for the ftsp server simulator cert.
+#Verify single event with single 1MB FTPS file. From event poll to published file
+# [TAGS] DFC_FUNCTIONAL_10
+# [Documentation] Verify single event with single FTPS 1MB file from event poll to published file.
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
+# Set Environment Variable MR_TC --tc200
+# Set Environment Variable DR_TC --tc normal
+# Set Environment Variable DR_REDIR_TC --tc normal
+# Set Environment Variable NUM_FTPFILES 1
+# Set Environment Variable NUM_PNFS 1
+# Set Environment Variable FILE_SIZE 1MB
+# Set Environment Variable FTP_TYPE FTPS
+# ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
+# MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+# DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
+# Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+# DR Redir Sim Downloaded Volume Equal 1 000 000 #Verify 1 000 000 bytes published file data in DR redir sim
+# ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
+#
+#Verify single event with single 5MB FTPS file. From event poll to published file
+# [TAGS] DFC_FUNCTIONAL_11
+# [Documentation] Verify single event with single FTPS 5MB file from event poll to published file.
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
+# Set Environment Variable MR_TC --tc201
+# Set Environment Variable DR_TC --tc normal
+# Set Environment Variable DR_REDIR_TC --tc normal
+# Set Environment Variable NUM_FTPFILES 1
+# Set Environment Variable NUM_PNFS 1
+# Set Environment Variable FILE_SIZE 5MB
+# Set Environment Variable FTP_TYPE FTPS
+# ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
+# MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+# DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
+# Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+# DR Redir Sim Downloaded Volume Equal 5 000 000 #Verify 5 000 000 bytes published file data in DR redir sim
+# ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
+#
+#Verify single event with single 50MB FTPS file. From event poll to published file
+# [TAGS] DFC_FUNCTIONAL_12
+# [Documentation] Verify single event with single FTPS 50MB file from event poll to published file.
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh
+# Set Environment Variable MR_TC --tc202
+# Set Environment Variable DR_TC --tc normal
+# Set Environment Variable DR_REDIR_TC --tc normal
+# Set Environment Variable NUM_FTPFILES 1
+# Set Environment Variable NUM_PNFS 1
+# Set Environment Variable FILE_SIZE 50MB
+# Set Environment Variable FTP_TYPE FTPS
+# ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT}
+# MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim
+# DR Sim Published Files Equal 0 #Verify 0 file published to DR sim
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT}
+# Wait Until Keyword Succeeds 1 minute 10 sec MR Sim Emitted Files Equal 1 #Verify 1 file emitted from MR sim
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Query Not Published Equal 1 #Verify 1 query response for not published files
+# Wait Until Keyword Succeeds 1 minute 10 sec DR Sim Published Files Equal 1 #Verify 1 file published to DR sim
+# DR Redir Sim Downloaded Volume Equal 50 000 000 #Verify 50 000 000 bytes published file data in DR redir sim
+# ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh
+# ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh
+#
*** Keywords ***
-
-
-
diff --git a/tests/dcaegen2-collectors-datafile/testsuites/ManagementInterface-suite/MI.robot b/tests/dcaegen2-collectors-datafile/testsuites/ManagementInterface-suite/MI.robot
index 875228bd..9d9f26d6 100755
--- a/tests/dcaegen2-collectors-datafile/testsuites/ManagementInterface-suite/MI.robot
+++ b/tests/dcaegen2-collectors-datafile/testsuites/ManagementInterface-suite/MI.robot
@@ -1,14 +1,13 @@
*** Settings ***
Library OperatingSystem
Library RequestsLibrary
-Library Process
+Library Process
*** Variables ***
*** Test Cases ***
-
Heartbeat test
[Documentation] Check DFC heartbeat
Heartbeat I'm living
@@ -29,27 +28,24 @@ Stop test - secure
[Documentation] Check DFC stop, secure
Stop-secure Datafile Service has already been stopped!
-
Start test - secure
[Documentation] Check DFC start, secure
Start-secure Datafile Service has been started!
-#PRobably move definitions of common Keywords to a common file
-
*** Keywords ***
#Probably simplyfy the test cases by using variables for port numbers/urls etc
Heartbeat
[Arguments] ${respbody}
Create Session session http://localhost:8100/heartbeat
${resp}= Get Request session /
- Should Be Equal ${resp.text} ${respbody}
+ Should Match Regexp ${resp.text} ${respbody}*
Heartbeat-secure
[Arguments] ${respbody}
Create Session session https://localhost:8433/heartbeat
${resp}= Get Request session /
- Should Be Equal ${resp.text} ${respbody}
+ Should Match Regexp ${resp.text} ${respbody}*
Stop
[Arguments] ${respbody}
diff --git a/tests/policy/api/api-test.robot b/tests/policy/api/api-test.robot
index d90dabcd..959df40e 100644
--- a/tests/policy/api/api-test.robot
+++ b/tests/policy/api/api-test.robot
@@ -38,3 +38,68 @@ RetrievePolicyTypes
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal As Strings ${resp.json()['version']} 1.0.0
+CreateTCAPolicyType
+ [Documentation] Create TCA Policy Type
+ ${auth}= Create List healthcheck zb!XztG34
+ ${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json
+ Log Creating session https://${POLICY_API_IP}:6969
+ ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Post Request policy /policy/api/v1/policytypes data=${postjson} headers=${headers}
+ Log Received response from policy ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ ${postjsonobject} To Json ${postjson}
+ Dictionary Should Contain Key ${resp.json()} tosca_definitions_version
+ Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version
+
+RetrieveMonitoringPolicyTypes
+ [Documentation] Retrieve Monitoring related Policy Types
+ ${auth}= Create List healthcheck zb!XztG34
+ Log Creating session https://${POLICY_API_IP}:6969
+ ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Get Request policy /policy/api/v1/policytypes/onap.policies.Monitoring headers=${headers}
+ Log Received response from policy ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Dictionary Should Contain Key ${resp.json()['policy_types'][0]} onap.policies.Monitoring
+
+
+CreateNewMonitoringPolicy
+ [Documentation] Create a new Monitoring TCA policy
+ ${auth}= Create List healthcheck zb!XztG34
+ ${postjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json
+ Log Creating session https://${POLICY_API_IP}:6969
+ ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies data=${postjson} headers=${headers}
+ Log Received response from policy ${resp.text}
+ ${postjsonobject} To Json ${postjson}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca
+ Dictionary Should Contain Key ${postjsonobject['topology_template']['policies'][0]} onap.restart.tca
+
+RetrievePoliciesOfType
+ [Documentation] Retrieve all Policies Created for a specific Policy Type
+ ${auth}= Create List healthcheck zb!XztG34
+ ${expjson}= Get file ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json
+ Log Creating session https://${POLICY_API_IP}:6969
+ ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Get Request policy /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies headers=${headers}
+ Log Received response from policy ${resp.text}
+ ${expjsonobject} To Json ${expjson}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Dictionary Should Contain Key ${resp.json()['topology_template']['policies'][0]} onap.restart.tca
+ Dictionary Should Contain Key ${expjsonobject['topology_template']['policies'][0]} onap.restart.tca
+
+DeleteSpecificPolicy
+ [Documentation] Delete Policy of a Type
+ ${auth}= Create List healthcheck zb!XztG34
+ Log Creating session https://${POLICY_API_IP}:6969
+ ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/1.0.0 headers=${headers}
+ Log Received response from policy ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ ${resp}= Delete Request policy /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/1.0.0 headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 404
diff --git a/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json
new file mode 100644
index 00000000..1d1a4d64
--- /dev/null
+++ b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json
@@ -0,0 +1,223 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Monitoring": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all policies that governs monitoring provisioning"
+ }
+ },
+ {
+ "onap.policies.monitoring.cdap.tca.hi.lo.app": {
+ "derived_from": "onap.policies.Monitoring",
+ "version": "1.0.0",
+ "properties": {
+ "tca_policy": {
+ "type": "map",
+ "description": "TCA Policy JSON",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.tca_policy"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.monitoring.metricsPerEventName": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "controlLoopSchemaType": {
+ "type": "string",
+ "required": true,
+ "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
+ "constraints": [
+ {
+ "valid_values": [
+ "VM",
+ "VNF"
+ ]
+ }
+ ]
+ },
+ "eventName": {
+ "type": "string",
+ "required": true,
+ "description": "Event name to which thresholds need to be applied"
+ },
+ "policyName": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope Name"
+ },
+ "policyScope": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope"
+ },
+ "policyVersion": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope Version"
+ },
+ "thresholds": {
+ "type": "list",
+ "required": true,
+ "description": "Thresholds associated with eventName",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.thresholds"
+ }
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.monitoring.tca_policy": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "domain": {
+ "type": "string",
+ "required": true,
+ "description": "Domain name to which TCA needs to be applied",
+ "default": "measurementsForVfScaling",
+ "constraints": [
+ {
+ "equal": "measurementsForVfScaling"
+ }
+ ]
+ },
+ "metricsPerEventName": {
+ "type": "list",
+ "required": true,
+ "description": "Contains eventName and threshold details that need to be applied to given eventName",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.metricsPerEventName"
+ }
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.monitoring.thresholds": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "closedLoopControlName": {
+ "type": "string",
+ "required": true,
+ "description": "Closed Loop Control Name associated with the threshold"
+ },
+ "closedLoopEventStatus": {
+ "type": "string",
+ "required": true,
+ "description": "Closed Loop Event Status of the threshold",
+ "constraints": [
+ {
+ "valid_values": [
+ "ONSET",
+ "ABATED"
+ ]
+ }
+ ]
+ },
+ "direction": {
+ "type": "string",
+ "required": true,
+ "description": "Direction of the threshold",
+ "constraints": [
+ {
+ "valid_values": [
+ "LESS",
+ "LESS_OR_EQUAL",
+ "GREATER",
+ "GREATER_OR_EQUAL",
+ "EQUAL"
+ ]
+ }
+ ]
+ },
+ "fieldPath": {
+ "type": "string",
+ "required": true,
+ "description": "Json field Path as per CEF message which needs to be analyzed for TCA",
+ "constraints": [
+ {
+ "valid_values": [
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
+ "$.event.measurementsForVfScalingFields.meanRequestLatency",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
+ "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
+ ]
+ }
+ ]
+ },
+ "severity": {
+ "type": "string",
+ "required": true,
+ "description": "Threshold Event Severity",
+ "constraints": [
+ {
+ "valid_values": [
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ }
+ ]
+ },
+ "thresholdValue": {
+ "type": "integer",
+ "required": true,
+ "description": "Threshold value for the field Path inside CEF message"
+ },
+ "version": {
+ "type": "string",
+ "required": true,
+ "description": "Version number associated with the threshold"
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json
new file mode 100644
index 00000000..0eabb573
--- /dev/null
+++ b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json
@@ -0,0 +1,50 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "topology_template": {
+ "policies": [
+ {
+ "onap.restart.tca": {
+ "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+ "version": "1.0.0",
+ "metadata": {
+ "policy-id": "onap.restart.tca"
+ },
+ "properties": {
+ "tca_policy" : {
+ "domain": "measurementsForVfScaling",
+ "metricsPerEventName": [
+ {
+ "eventName": "Measurement_vGMUX",
+ "controlLoopSchemaType": "VNF",
+ "policyScope": "DCAE",
+ "policyName": "DCAE.Config_tca-hi-lo",
+ "policyVersion": "v0.0.1",
+ "thresholds": [
+ {
+ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
+ "thresholdValue": 0,
+ "direction": "EQUAL",
+ "severity": "MAJOR",
+ "closedLoopEventStatus": "ABATED"
+ },
+ {
+ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
+ "version": "1.0.2",
+ "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
+ "thresholdValue": 0,
+ "direction": "GREATER",
+ "severity": "CRITICAL",
+ "closedLoopEventStatus": "ONSET"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+} \ No newline at end of file