aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ccsdk/healthcheck/__init__.robot2
-rw-r--r--tests/ccsdk/healthcheck/test1.robot16
-rw-r--r--tests/music/music-distributed-kv-store-suite/__init__.robot2
-rw-r--r--tests/music/music-distributed-kv-store-suite/data/register_domain.json3
-rw-r--r--tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot53
-rw-r--r--tests/sdnc/healthcheck/test1.robot17
-rw-r--r--tests/vnfsdk-refrepo/csar/invalid_with_security.csarbin0 -> 10824 bytes
-rw-r--r--tests/vnfsdk-refrepo/csar_validation_tests.robot50
-rw-r--r--tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot12
9 files changed, 61 insertions, 94 deletions
diff --git a/tests/ccsdk/healthcheck/__init__.robot b/tests/ccsdk/healthcheck/__init__.robot
deleted file mode 100644
index 1259b890..00000000
--- a/tests/ccsdk/healthcheck/__init__.robot
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation CCSDK - healthcheck
diff --git a/tests/ccsdk/healthcheck/test1.robot b/tests/ccsdk/healthcheck/test1.robot
deleted file mode 100644
index fea86c3d..00000000
--- a/tests/ccsdk/healthcheck/test1.robot
+++ /dev/null
@@ -1,16 +0,0 @@
-*** Settings ***
-Library OperatingSystem
-Library Process
-
-*** Variables ***
-
-${health_check} ${SCRIPTS}/ccsdk/healthcheck/health_check.sh
-
-
-*** Test Cases ***
-Health check test case for CCSDK
- [Documentation] Health check
- ${result_hc}= Run Process bash ${health_check} > log_hc.txt shell=yes
- Should Be Equal As Integers ${result_hc.rc} 0
-
-
diff --git a/tests/music/music-distributed-kv-store-suite/__init__.robot b/tests/music/music-distributed-kv-store-suite/__init__.robot
deleted file mode 100644
index d1da7f38..00000000
--- a/tests/music/music-distributed-kv-store-suite/__init__.robot
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation Integration - Suite 1 \ No newline at end of file
diff --git a/tests/music/music-distributed-kv-store-suite/data/register_domain.json b/tests/music/music-distributed-kv-store-suite/data/register_domain.json
deleted file mode 100644
index 96811ee9..00000000
--- a/tests/music/music-distributed-kv-store-suite/data/register_domain.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "domain":"test_domain"
-} \ No newline at end of file
diff --git a/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot b/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot
deleted file mode 100644
index de26e5f6..00000000
--- a/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot
+++ /dev/null
@@ -1,53 +0,0 @@
-*** Settings ***
-Library OperatingSystem
-Library RequestsLibrary
-Library json
-
-*** Variables ***
-${MESSAGE} {"ping": "ok"}
-
-#global variables
-${generatedAID}
-
-*** Test Cases ***
-DKV Check Distributed KV Store API Docker Container
- [Documentation] Checks if DKV docker container is running
- ${rc} ${output}= Run and Return RC and Output docker ps
- Log To Console *********************
- Log To Console retrurn_code = ${rc}
- Log To Console output = ${output}
- Should Be Equal As Integers ${rc} 0
- Should Contain ${output} nexus3.onap.org:10001/onap/music/distributed-kv-store
-
-DKV LoadDefaultProperties
- [Documentation] Loads default configuration files into Consul
- Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
- &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
- ${resp}= Get Request dkv /v1/config/load-default headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-DKV FetchDefaultProperties
- [Documentation] Fetches all default keys from Consul
- Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
- &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
- ${resp}= Get Request dkv /v1/getconfigs headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-#DKV RegisterDomain
-# [Documentation] Send a POST request to create a domain
-# Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
-# ${data}= Get Binary File ${CURDIR}${/}data${/}register_domain.json
-# &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
-# ${resp}= Post Request dkv v1/register data=${data} headers=${headers}
-# Log To Console *********************
-# Log To Console response = ${resp}
-# Log To Console body = ${resp.text}
-# Should Be Equal As Integers ${resp.status_code} 200
-
-*** Keywords ***
diff --git a/tests/sdnc/healthcheck/test1.robot b/tests/sdnc/healthcheck/test1.robot
index c002a189..3648a8e4 100644
--- a/tests/sdnc/healthcheck/test1.robot
+++ b/tests/sdnc/healthcheck/test1.robot
@@ -8,7 +8,6 @@ Library String
*** Variables ***
${SDN_APIDOCS_URI} /apidoc/apis
${SDN_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck
-${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} /operations/VNF-API:preload-vnf-topology-operation
*** Test Cases ***
@@ -26,19 +25,3 @@ Check SLI-API
${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers}
Log ${resp.text}
Should Contain ${resp.text} SLI-API
-
-Check VNF-API
- Create Session sdnc http://localhost:8282
- &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json
- ${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers}
- Log ${resp.text}
- Should Contain ${resp.text} VNF-API
-
-Test Preload
- Create Session sdnc http://localhost:8282/restconf
- ${data}= Get File ${CURDIR}${/}data${/}preload.json
- &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json
- ${resp}= Post Request sdnc ${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} data=${data} headers=${headers}
- Log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Be Equal As Strings ${resp.json()['output']['response-code']} 200
diff --git a/tests/vnfsdk-refrepo/csar/invalid_with_security.csar b/tests/vnfsdk-refrepo/csar/invalid_with_security.csar
new file mode 100644
index 00000000..c2560bd5
--- /dev/null
+++ b/tests/vnfsdk-refrepo/csar/invalid_with_security.csar
Binary files differ
diff --git a/tests/vnfsdk-refrepo/csar_validation_tests.robot b/tests/vnfsdk-refrepo/csar_validation_tests.robot
index 9994d567..a7c2c402 100644
--- a/tests/vnfsdk-refrepo/csar_validation_tests.robot
+++ b/tests/vnfsdk-refrepo/csar_validation_tests.robot
@@ -10,6 +10,7 @@ Perform vnf refrepo healthcheck
${response}= Get Request refrepo /PackageResource/healthcheck
Should Be Equal As Strings ${response.status_code} 200
+
Validate correct, no security CSAR
[Documentation] Valid CSAR with no security should PASS validation and should return no error
@@ -18,13 +19,60 @@ Validate correct, no security CSAR
# those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
${json_response}= evaluate json.loads('''${response}''') json
- Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} PASS
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_PASS}
FOR ${resault} IN @{json_response[0]["results"]["results"]}
Should Be Equal As Strings ${resault["errors"]} []
Should Be Equal As Strings ${resault["passed"]} True
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${resault["warnings"]} ${expected_valid_no_security_warnings}
+ END
+
+
+Validate secure CSAR with invalid certificate
+ [Documentation] Valid CSAR with cms signature in manifest file and certificate in TOSCA, containing individual signatures for multiple artifacts, using common certificate and individual certificate
+
+ ${response}= Validate CSAR usign Post request ${csar_invalid_with_security} ${execute_security_csar_validation}
+ # Removing strings that are causing errors during evaluation,
+ # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
+ ${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
+ ${json_response}= evaluate json.loads('''${response}''') json
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_FAILED}
+ ${validated_rules}= Get Length ${json_response[0]["results"]["results"]}
+ Should Be Equal As Strings ${validated_rules} 14
+ FOR ${resault} IN @{json_response[0]["results"]["results"]}
+ ${validation_errors}= Get Length ${resault["errors"]}
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 7
+ run keyword if "${resault["vnfreqName"]}" == "${PM_DICTIONARY_YAML_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ run keyword if "${resault["vnfreqName"]}" == "${MANIFEST_FILE_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ run keyword if "${resault["vnfreqName"]}" == "${NON_MANO_FILES_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 4
END
+Validate CSAR using selected rules
+ [Documentation] Valid CSAR using only selected rules provided in request parameters
+
+ ${response}= Validate CSAR usign Post request ${csar_invalid_with_security} ${execute_security_csar_validation_selected_rules}
+ # Removing strings that are causing errors during evaluation,
+ # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
+ ${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
+ ${json_response}= evaluate json.loads('''${response}''') json
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_FAILED}
+ ${validated_rules}= Get Length ${json_response[0]["results"]["results"]}
+ Should Be Equal As Strings ${validated_rules} 3
+ FOR ${resault} IN @{json_response[0]["results"]["results"]}
+ ${validation_errors}= Get Length ${resault["errors"]}
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 7
+ run keyword if "${resault["vnfreqName"]}" == "${PM_DICTIONARY_YAML_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ END
+
+
+
Validate CSAR using rule r130206 and use get method to receive outcome
[Documentation] Validate CSAR with invalid PM_Dictionary (r130206) using rule r130206 , then use get method with validation id to receive valdiation outcome
diff --git a/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot b/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
index e46eba6f..bc9684d6 100644
--- a/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
+++ b/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
@@ -3,8 +3,20 @@ ${base_url}= http://${REFREPO_IP}:8702/onapapi/vnfsdk-marketplace/v1
${csarpath}= ${SCRIPTS}/../tests/vnfsdk-refrepo/csar
+${CERTIFICATION_RULE}= r130206
+${PM_DICTIONARY_YAML_RULE}= r816745
+${MANIFEST_FILE_RULE}= r01123
+${NON_MANO_FILES_RULE}= r146092
+${OPERATION_STATUS_FAILED}= FAILED
+${OPERATION_STATUS_PASS}= PASS
+
${csar_valid_no_security}= valid_no_security.csar
${execute_no_security_csar_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_valid_no_security}","pnf":"true"}}]
+${expected_valid_no_security_warnings}= [{u'lineNumber': -1, u'message': u'Warning. Consider adding package integrity and authenticity assurance according to ETSI NFV-SOL 004 Security Option 1', u'code': u'0x1006', u'file': u'', u'vnfreqNo': u'R130206'}]
+
+${csar_invalid_with_security}= invalid_with_security.csar
+${execute_security_csar_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_invalid_with_security}","pnf":"true"}}]
+${execute_security_csar_validation_selected_rules}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_invalid_with_security}","pnf":"true","rules":"${CERTIFICATION_RULE},${PM_DICTIONARY_YAML_RULE}"}}]
${csar_invalid_pm_dictionary}= invalid_pm_dictionary.csar
${execute_invalid_pm_dictionary_r130206_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate-r130206","parameters": {"csar": "file://${csar_invalid_pm_dictionary}","pnf":"true"}}]