aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xplans/dcaegen2/testsuites/setup.sh2
-rw-r--r--tests/dcaegen2/testcases/02__cert_basic_auth_tests.robot2
-rw-r--r--tests/dcaegen2/testcases/03__stndDefined_tests.robot14
-rw-r--r--tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_data_fields.json23
-rwxr-xr-xtests/dcaegen2/testcases/resources/collector_basic_auth.properties (renamed from tests/dcaegen2/testcases/resources/collector.properties)0
-rw-r--r--tests/dcaegen2/testcases/resources/collector_stnd_defined.properties73
-rw-r--r--tests/dcaegen2/testcases/resources/dcae_properties.robot3
-rwxr-xr-xtests/dcaegen2/testcases/resources/override_collector_properties.sh (renamed from tests/dcaegen2/testcases/resources/vesc_enable_https_auth.sh)18
-rw-r--r--tests/dcaegen2/testcases/resources/robot_library/DcaeLibrary.py18
9 files changed, 138 insertions, 15 deletions
diff --git a/plans/dcaegen2/testsuites/setup.sh b/plans/dcaegen2/testsuites/setup.sh
index 26585c20..88767b19 100755
--- a/plans/dcaegen2/testsuites/setup.sh
+++ b/plans/dcaegen2/testsuites/setup.sh
@@ -21,7 +21,7 @@
#get current host IP addres
HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}')
-VESC_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
+VESC_IMAGE=nexus3.onap.org:10003/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
echo VESC_IMAGE=${VESC_IMAGE}
diff --git a/tests/dcaegen2/testcases/02__cert_basic_auth_tests.robot b/tests/dcaegen2/testcases/02__cert_basic_auth_tests.robot
index 6df66274..a459387b 100644
--- a/tests/dcaegen2/testcases/02__cert_basic_auth_tests.robot
+++ b/tests/dcaegen2/testcases/02__cert_basic_auth_tests.robot
@@ -4,7 +4,7 @@ Resource ./resources/dcae_keywords.robot
Enable VESC HTTPS with certBasicAuth
[Tags] DCAE-VESC-R1 DCAE-VESC-HC
[Documentation] Enable VESC Https and Authentication and Run Health Check
- Enable VESC with certBasicAuth
+ Override Collector Properties ${VES_CERT_BASIC_AUTH_COLLECTOR_PROPERTIES}
Run Healthcheck ${https_basic_auth_session}
VES Collector HTTP Health Check with certBasicAuth
diff --git a/tests/dcaegen2/testcases/03__stndDefined_tests.robot b/tests/dcaegen2/testcases/03__stndDefined_tests.robot
new file mode 100644
index 00000000..3b3ab8a7
--- /dev/null
+++ b/tests/dcaegen2/testcases/03__stndDefined_tests.robot
@@ -0,0 +1,14 @@
+*** Settings ***
+Resource ./resources/dcae_keywords.robot
+*** Test Cases ***
+Disable VESC StndDefined Validation Checkflag
+ [Tags] DCAE-VESC-R1 DCAE-VESC-HC DCAE-VESC-STNDDEFINED
+ [Documentation] Disable VESC StndDefined Validation Checkflag and Run Health Check
+ Override Collector Properties ${VES_DISABLED_STNDDEFINED_COLLECTOR_PROPERTIES}
+ Run Healthcheck ${https_basic_auth_session}
+
+Publish Single VES Event With Incorrect StndDefined Data
+ [Tags] DCAE-VESC-R1 DCAE-VESC-STNDDEFINED
+ [Documentation] Post single event with incorrect stndDefined data
+ Send Request And Validate Response Publish Event To VES Collector ${https_basic_auth_session} ${VES_EVENTLISTENER_V7} ${VES_STND_DEFINED_INVALID_DATA} 202
+
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_data_fields.json b/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_data_fields.json
new file mode 100644
index 00000000..963d8763
--- /dev/null
+++ b/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_data_fields.json
@@ -0,0 +1,23 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "version": "4.1",
+ "vesEventListenerVersion": "7.2",
+ "domain": "stndDefined",
+ "eventId": "stndDefined-gNB_Nokia000001",
+ "eventName": "stndDefined-gNB-Nokia-PowerLost",
+ "stndDefinedNamespace": "3GPP-FaultSupervision",
+ "startEpochMicrosec": 1413378172000000,
+ "lastEpochMicrosec": 1413378172000000,
+ "reportingEntityName": "ibcx0001vm002oam001",
+ "sourceName": "scfx0001vm002cap001",
+ "sequence": 1,
+ "priority": "High"
+ },
+ "stndDefinedFields": {
+ "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm",
+ "data": {},
+ "stndDefinedFieldsVersion": "1.0"
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/dcaegen2/testcases/resources/collector.properties b/tests/dcaegen2/testcases/resources/collector_basic_auth.properties
index cd417635..cd417635 100755
--- a/tests/dcaegen2/testcases/resources/collector.properties
+++ b/tests/dcaegen2/testcases/resources/collector_basic_auth.properties
diff --git a/tests/dcaegen2/testcases/resources/collector_stnd_defined.properties b/tests/dcaegen2/testcases/resources/collector_stnd_defined.properties
new file mode 100644
index 00000000..9712dff5
--- /dev/null
+++ b/tests/dcaegen2/testcases/resources/collector_stnd_defined.properties
@@ -0,0 +1,73 @@
+###############################################################################
+##
+## Collector Server config
+##
+## - Default values are shown as commented settings.
+##
+###############################################################################
+##
+## HTTP(S) service
+##
+## Normally:
+##
+## - 8080 is http service
+## - https is disabled by default
+##
+## - At this time, the server always binds to 0.0.0.0
+##
+##
+collector.service.port=8080
+
+## Authentication is only supported via secure port
+## When enabled - require valid keystore defined
+collector.service.secure.port=8443
+
+# auth.method flags:
+#
+# noAuth - default option - no security (http)
+# certBasicAuth - auth by certificate and basic auth username / password (https)
+auth.method=certBasicAuth
+
+## Combination of userid,hashPassword encoded pwd list to be supported
+## userid and pwd comma separated; pipe delimitation between each pair
+## Password is generated by crypt-password library using BCrypt algorithm stored in dcaegen2/sdk package
+## or https://nexus.onap.org/#nexus-search;quick~crypt-password
+header.authlist=sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6
+
+## The keystore must be setup per installation when secure port is configured
+collector.keystore.file.location=etc/keystore
+collector.keystore.passwordfile=etc/passwordfile
+
+collector.cert.subject.matcher=etc/certSubjectMatcher.properties
+
+## The truststore must be setup per installation when mutual tls support is configured
+collector.truststore.file.location=etc/truststore
+collector.truststore.passwordfile=etc/trustpasswordfile
+
+## Schema Validation checkflag
+## default no validation checkflag (-1)
+## If enabled (1) - schemafile location must be specified
+collector.schema.checkflag=1
+collector.schema.file={\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.2_ONAP.json\"}
+
+## Schema StndDefinedFields Validation checkflag
+## default no validation checkflag (-1)
+## If enabled (1) - schema files locations must be specified, mapping file path must be specified, schema reference path
+## in event json must be specified, path to stndDefined data field in event json must be specified
+collector.externalSchema.checkflag=-1
+collector.externalSchema.schemasLocation=./etc/externalRepo/
+collector.externalSchema.mappingFileLocation=./etc/externalRepo/schema-map.json
+event.externalSchema.schemaRefPath=/event/stndDefinedFields/schemaReference
+event.externalSchema.stndDefinedDataPath=/event/stndDefinedFields/data
+
+## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
+collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
+collector.dmaapfile=./etc/DmaapConfig.json
+
+## Event transformation Flag - when set expects configurable transformation
+## defined under ./etc/eventTransform.json
+## Enabled by default; to disable set to 0
+event.transform.flag=1
+
+# Describes at what frequency (measured in minutes) should application try to fetch config from CBS
+collector.dynamic.config.update.frequency=5
diff --git a/tests/dcaegen2/testcases/resources/dcae_properties.robot b/tests/dcaegen2/testcases/resources/dcae_properties.robot
index f608b713..c6c1e774 100644
--- a/tests/dcaegen2/testcases/resources/dcae_properties.robot
+++ b/tests/dcaegen2/testcases/resources/dcae_properties.robot
@@ -53,6 +53,9 @@ ${VES_STND_DEFINED_3GPP_PROVISIONING} %{WORKSPACE}/tests/dcaegen2/testcases/a
${VES_STND_DEFINED_3GPP_HEARTBEAT} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_3GPP-Heartbeat.json
${VES_STND_DEFINED_3GPP_FAULTSUPERVISION} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_3GPP-FaultSupervision.json
${VES_STND_DEFINED_3GPP_PERFORMANCE_ASSURANCE} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_3GPP-PerformanceAssurance.json
+${VES_STND_DEFINED_INVALID_DATA} %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_data_fields.json
+${VES_CERT_BASIC_AUTH_COLLECTOR_PROPERTIES} %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_basic_auth.properties
+${VES_DISABLED_STNDDEFINED_COLLECTOR_PROPERTIES} %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_stnd_defined.properties
#DCAE Health Check
${CONFIG_BINDING_URL} http://localhost:8443
diff --git a/tests/dcaegen2/testcases/resources/vesc_enable_https_auth.sh b/tests/dcaegen2/testcases/resources/override_collector_properties.sh
index 29700bc5..f6a46e13 100755
--- a/tests/dcaegen2/testcases/resources/vesc_enable_https_auth.sh
+++ b/tests/dcaegen2/testcases/resources/override_collector_properties.sh
@@ -13,11 +13,21 @@
# 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 1 ]; then
+ echo "Incorrect number of parameters"
+ exit 1
+fi
-docker exec vesc /opt/app/VESCollector/bin/appController.sh stop
+LOCAL_COLLECTOR_PROPERTIES_PATH=$1
+FILENAME=$(basename $LOCAL_COLLECTOR_PROPERTIES_PATH)
+ETC_PATH=/opt/app/VESCollector/etc
+APP_CONTROLLER_PATH=/opt/app/VESCollector/bin/appController.sh
+
+docker exec vesc $APP_CONTROLLER_PATH stop
sleep 2
-docker cp ${WORKSPACE}/tests/dcaegen2/testcases/resources/collector.properties vesc:/opt/app/VESCollector/etc
+docker cp $LOCAL_COLLECTOR_PROPERTIES_PATH vesc:$ETC_PATH
sleep 10
-docker exec vesc /opt/app/VESCollector/bin/appController.sh start
+docker exec vesc mv $ETC_PATH/$FILENAME $ETC_PATH/collector.properties
+docker exec vesc $APP_CONTROLLER_PATH start
sleep 5
-echo "VES Collector Restarted with certBasicAuth"
+echo "VES Collector Restarted with overridden collector.properties"
diff --git a/tests/dcaegen2/testcases/resources/robot_library/DcaeLibrary.py b/tests/dcaegen2/testcases/resources/robot_library/DcaeLibrary.py
index a467431f..d5dd9721 100644
--- a/tests/dcaegen2/testcases/resources/robot_library/DcaeLibrary.py
+++ b/tests/dcaegen2/testcases/resources/robot_library/DcaeLibrary.py
@@ -18,37 +18,37 @@ class DcaeLibrary(object):
def __init__(self):
pass
-
+
@staticmethod
- def enable_vesc_with_cert_basic_auth():
+ def override_collector_properties(properties_path):
global client
if 'Windows' in platform.system():
try:
- DcaeLibrary.enable_https_auth_for_windows_platform_system()
+ DcaeLibrary.change_properties_for_windows_platform_system(properties_path)
finally:
client.close()
return
- DcaeLibrary.enable_https_auth_for_non_windows_platform_system()
+ DcaeLibrary.change_properties_for_non_windows_platform_system(properties_path)
return
@staticmethod
- def enable_https_auth_for_non_windows_platform_system():
+ def change_properties_for_non_windows_platform_system(properties_path):
ws = os.environ['WORKSPACE']
- script2run = ws + "/tests/dcaegen2/testcases/resources/vesc_enable_https_auth.sh"
+ script2run = ws + '/tests/dcaegen2/testcases/resources/override_collector_properties.sh'
logger.info("Running script: " + script2run)
logger.console("Running script: " + script2run)
- subprocess.call(script2run)
+ subprocess.call([script2run, properties_path])
time.sleep(5)
@staticmethod
- def enable_https_auth_for_windows_platform_system():
+ def change_properties_for_windows_platform_system(properties_path):
global client
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(os.environ['CSIT_IP'], port=22, username=os.environ['CSIT_USER'], password=os.environ['CSIT_PD'])
stdin, stdout, stderr = client.exec_command(
- '%{WORKSPACE}/tests/dcaegen2/testcases/resources/vesc_enable_https_auth.sh')
+ '%{WORKSPACE}' + '/tests/dcaegen2/testcases/resources/override_collector_properties.sh', properties_path)
logger.console(stdout.read())
@staticmethod