aboutsummaryrefslogtreecommitdiffstats
path: root/robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot')
-rw-r--r--robot/assets/helm/pm-https-server/Chart.yaml2
-rw-r--r--robot/assets/templates/dcaemod/compspec_with_config_volume.jinja61
-rw-r--r--robot/assets/templates/dcaemod/compspec_without_config_volume.jinja57
-rw-r--r--robot/assets/templates/dfc/consul.jinja31
-rw-r--r--robot/assets/templates/dfc/notification.jinja2
-rw-r--r--robot/assets/usecases/5gbulkpm/k8s-https.yaml78
-rw-r--r--robot/assets/usecases/5gbulkpm/k8s-sftp.yaml29
-rw-r--r--robot/assets/usecases/5gbulkpm/mr_clusters.json6
-rw-r--r--robot/assets/usecases/5gbulkpm/sub.json10
-rw-r--r--robot/resources/chart_museum.robot9
-rw-r--r--robot/resources/dcae/inventory.robot46
-rw-r--r--robot/resources/dcaemod_interface.robot310
-rw-r--r--robot/resources/strimzi_kafka.robot23
-rw-r--r--robot/resources/usecases/5gbulkpm_helm_interface.robot143
-rw-r--r--robot/testsuites/dcaemod.robot97
15 files changed, 84 insertions, 820 deletions
diff --git a/robot/assets/helm/pm-https-server/Chart.yaml b/robot/assets/helm/pm-https-server/Chart.yaml
index 6d95377a..a29ff791 100644
--- a/robot/assets/helm/pm-https-server/Chart.yaml
+++ b/robot/assets/helm/pm-https-server/Chart.yaml
@@ -24,4 +24,4 @@ appVersion: 1.0.1
dependencies:
- name: repositoryGenerator
version: x.x-x
- repository: '@chart-museum'
+ repository: 'https://nexus3.onap.org/repository/onap-helm-testing/'
diff --git a/robot/assets/templates/dcaemod/compspec_with_config_volume.jinja b/robot/assets/templates/dcaemod/compspec_with_config_volume.jinja
deleted file mode 100644
index 958decd9..00000000
--- a/robot/assets/templates/dcaemod/compspec_with_config_volume.jinja
+++ /dev/null
@@ -1,61 +0,0 @@
-{"owner": "owner-name", "spec":
-{
- "self": {
- "version": "1.0.0",
- "name": "{{comp_spec_name}}",
- "description": "Dummy DCAE app with config volume",
- "component_type": "docker"
- },
- "streams": {
- "subscribes": [],
- "publishes": []
- },
- "services": {
- "calls": [],
- "provides": []
- },
- "parameters": [],
- "auxilary": {
- "helm": {
- "service": {
- "type": "ClusterIP",
- "name": "{{comp_spec_name}}",
- "ports": [{
- "name": "http",
- "port": 80
- }]
- }
- },
- "healthcheck": {
- "type": "HTTP",
- "interval": "45s",
- "timeout": "15s",
- "port": 80,
- "endpoint": "/"
- },
- "volumes": [{
- "config_volume": {
- "name": "{{config_map_name}}"
- },
- "container": {
- "bind": "{{volume_mount_path}}"
- }
- }],
- "ports": [
- "80:0",
- "99:0"
- ],
- "tls_info":{
- "cert_directory":"/opt/app/dcae-certificate/",
- "use_tls": false,
- "use_external_tls": false
- }
- },
- "artifacts": [
- {
- "type": "docker image",
- "uri": "docker.io/nginx:latest"
- }
- ]
-}
-} \ No newline at end of file
diff --git a/robot/assets/templates/dcaemod/compspec_without_config_volume.jinja b/robot/assets/templates/dcaemod/compspec_without_config_volume.jinja
deleted file mode 100644
index 361a9934..00000000
--- a/robot/assets/templates/dcaemod/compspec_without_config_volume.jinja
+++ /dev/null
@@ -1,57 +0,0 @@
-{"owner": "owner-name", "spec":
-{
- "self": {
- "version": "1.0.0",
- "name": "{{comp_spec_name}}",
- "description": "Dummy DCAE app",
- "component_type": "docker"
- },
- "streams": {
- "subscribes": [],
- "publishes": []
- },
- "services": {
- "calls": [],
- "provides": []
- },
- "parameters": [],
- "auxilary": {
- "helm": {
- "service": {
- "type": "ClusterIP",
- "name": "{{comp_spec_name}}",
- "ports": [{
- "name": "http",
- "port": 80
- }]
- }
- },
- "healthcheck": {
- "type": "HTTP",
- "interval": "45s",
- "timeout": "15s",
- "port": 80,
- "endpoint": "/"
- },
- "ports": [
- "80:0",
- "99:0"
- ],
- "log_info": {
- "log_directory": "/opt/logs/test"
- },
-
- "tls_info":{
- "cert_directory":"/opt/app/dcae-certificate/",
- "use_tls": false,
- "use_external_tls": false
- }
- },
- "artifacts": [
- {
- "type": "docker image",
- "uri": "docker.io/nginx:latest"
- }
- ]
-}
-} \ No newline at end of file
diff --git a/robot/assets/templates/dfc/consul.jinja b/robot/assets/templates/dfc/consul.jinja
deleted file mode 100644
index f630f976..00000000
--- a/robot/assets/templates/dfc/consul.jinja
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "service_calls": [],
- "streams_publishes": {
- "PM_MEAS_FILES": {
- "dmaap_info": "<<feed0>>",
- "type": "data_router"
- }
- },
- "dmaap.certificateConfig.keyCert": "/opt/app/datafile/etc/cert/cert.p12",
- "dmaap.certificateConfig.keyPasswordPath": "/opt/app/datafile/etc/cert/p12.pass",
- "dmaap.certificateConfig.trustedCa": "/opt/app/datafile/etc/cert/trust.jks",
- "dmaap.certificateConfig.trustedCaPasswordPath": "/opt/app/datafile/etc/cert/trust.pass",
- "dmaap.security.enableDmaapCertAuth": true,
- "dmaap.certificateConfig.httpsHostnameVerify": {{httpsHostnameVerify}},
- "dmaap.security.keyStorePasswordPath": "/opt/app/datafile/etc/cert/jks.pass",
- "dmaap.security.keyStorePath": "/opt/app/datafile/etc/cert/cert.jks",
- "dmaap.security.trustStorePasswordPath": "/opt/app/datafile/etc/cert/trust.pass",
- "dmaap.security.trustStorePath": "/opt/app/datafile/etc/cert/trust.jks",
- "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDcae-c12",
- "dmaap.dmaapConsumerConfiguration.consumerId": "C12",
- "dmaap.dmaapConsumerConfiguration.timeoutMs": -1,
- "sftp.security.strictHostKeyChecking": true,
- "streams_subscribes": {
- "dmaap_subscriber": {
- "type": "message_router",
- "dmaap_info": {
- "topic_url": "https://message-router:3905/events/unauthenticated.VES_NOTIFICATION_OUTPUT"
- }
- }
- }
-} \ No newline at end of file
diff --git a/robot/assets/templates/dfc/notification.jinja b/robot/assets/templates/dfc/notification.jinja
index 83396c29..0c28c277 100644
--- a/robot/assets/templates/dfc/notification.jinja
+++ b/robot/assets/templates/dfc/notification.jinja
@@ -22,7 +22,7 @@
{
"name": "{{pm_file}}",
"hashMap": {
- "location": "https://{{https_server_host}}:443/{{pm_file}}",
+ "location": "http://{{https_server_host}}:8080/{{pm_file}}",
"compression": "gzip",
"fileFormatType": "{{fileFormatType}}",
"fileFormatVersion": "{{fileFormatVersion}}"
diff --git a/robot/assets/usecases/5gbulkpm/k8s-https.yaml b/robot/assets/usecases/5gbulkpm/k8s-https.yaml
deleted file mode 100644
index ac1d69a1..00000000
--- a/robot/assets/usecases/5gbulkpm/k8s-https.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
-tosca_definitions_version: cloudify_dsl_1_3
-imports:
- - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
- - 'plugin:k8splugin?version=>=3.4.2,<4.0.0'
-inputs:
- tag_version:
- type: string
- description: Docker image to be used
- default: 'nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.pmhttpsserver:latest'
- replicas:
- type: integer
- description: Number of instances
- default: 1
- external_cert_cert_type:
- type: string
- description: Output type
- default: 'PEM'
- external_cert_ca_name:
- type: string
- description: Name of Certificate Authority configured on CertService side.
- default: 'RA'
- external_cert_common_name:
- type: string
- description: Common name which should be present in certificate.
- default: 'https-server'
- external_cert_sans:
- type: string
- description: 'List of Subject Alternative Names (SANs) which should be present
- in certificate. Delimiter - , Should contain common_name value and other FQDNs
- under which given component is accessible.'
- default: 'https-server'
- external_cert_use_external_tls:
- type: boolean
- description: Flag to indicate external tls enable/disable.
- default: true
- service_component_type:
- type: string
- default: "https-server"
- service_component_name_override:
- type: string
- default: "https-server"
- enable_tls:
- type: boolean
- default: false
-node_templates:
- httpsserver:
- type: dcae.nodes.ContainerizedServiceComponent
- interfaces:
- cloudify.interfaces.lifecycle:
- start:
- inputs:
- ports:
- - '80:0'
- - '8080:0'
- - '443:0'
- properties:
- service_component_type: { get_input: service_component_type }
- service_component_name_override: { get_input: service_component_name_override }
- image: { get_input: tag_version }
- replicas: { get_input: replicas }
- always_pull_image: true
- tls_info:
- cert_directory: '/etc/apache2/certs/'
- use_tls:
- get_input: enable_tls
- external_cert:
- external_cert_directory: '/etc/apache2/certs/'
- use_external_tls:
- get_input: external_cert_use_external_tls
- cert_type:
- get_input: external_cert_cert_type
- ca_name:
- get_input: external_cert_ca_name
- external_certificate_parameters:
- common_name:
- get_input: external_cert_common_name
- sans:
- get_input: external_cert_sans
diff --git a/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml b/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml
deleted file mode 100644
index 568fdf2a..00000000
--- a/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-tosca_definitions_version: cloudify_dsl_1_3
-imports:
- - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
- - 'plugin:k8splugin?version=>=3.4.2,<4.0.0'
-inputs:
- tag_version:
- type: string
- description: Docker image to be used
- default: 'atmoz/sftp'
- replicas:
- type: integer
- description: Number of instances
- default: 1
-node_templates:
- sftpserver:
- type: dcae.nodes.ContainerizedServiceComponent
- interfaces:
- cloudify.interfaces.lifecycle:
- start:
- inputs:
- envs:
- SFTP_USERS: bulkpm:bulkpm:::upload
- ports:
- - '22:32222'
- properties:
- service_component_type: sftpserver
- service_component_name_override: sftpserver
- image: { get_input: tag_version }
- replicas: { get_input: replicas }
diff --git a/robot/assets/usecases/5gbulkpm/mr_clusters.json b/robot/assets/usecases/5gbulkpm/mr_clusters.json
deleted file mode 100644
index 9e732d2a..00000000
--- a/robot/assets/usecases/5gbulkpm/mr_clusters.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "dcaeLocationName": "san-francisco",
- "fqdn": "message-router",
- "topicProtocol": "http",
- "topicPort": "3904"
-}
diff --git a/robot/assets/usecases/5gbulkpm/sub.json b/robot/assets/usecases/5gbulkpm/sub.json
deleted file mode 100644
index 45554b9a..00000000
--- a/robot/assets/usecases/5gbulkpm/sub.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "dcaeLocationName": "san-francisco",
- "fqtn": "org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS",
- "clientIdentity": "dcae@dcae.onap.org",
- "action": [
- "view",
- "pub",
- "sub"
- ]
-}
diff --git a/robot/resources/chart_museum.robot b/robot/resources/chart_museum.robot
index 75accc68..b2a1e925 100644
--- a/robot/resources/chart_museum.robot
+++ b/robot/resources/chart_museum.robot
@@ -10,6 +10,15 @@ Library String
${registry_ovveride} ${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}
*** Keywords ***
+Add OOM test chart repository
+ [Documentation] Add OOM test chart repository to helm in robot/xtesting pod
+ [Arguments] ${chart_repo_name} ${chart_repo_fqdn}
+ ${helm_repo_add}= Set Variable helm repo add ${chart_repo_name} ${chart_repo_fqdn}
+ ${command_output} = Run And Return Rc And Output ${helm_repo_add}
+ Should Be Equal As Integers ${command_output[0]} 0
+ ${command_output} = Run And Return Rc And Output helm repo update
+ Should Be Equal As Integers ${command_output[0]} 0
+
Add chart repository
[Documentation] Add chart repository to helm in robot/xtesting pod
[Arguments] ${chart_repo_name} ${chart_repo_fqdn} ${chart_repo_username} ${chart_repo_password}
diff --git a/robot/resources/dcae/inventory.robot b/robot/resources/dcae/inventory.robot
deleted file mode 100644
index 44f8202d..00000000
--- a/robot/resources/dcae/inventory.robot
+++ /dev/null
@@ -1,46 +0,0 @@
-*** Settings ***
-Documentation The main interface for interacting with 5G Bulkpm.
-Library RequestsLibrary
-Library OperatingSystem
-Library String
-Library ONAPLibrary.Templating WITH NAME Templating
-Resource ../global_properties.robot
-
-
-*** Variables ***
-${INVENTORY_SERVER} ${GLOBAL_INVENTORY_SERVER_PROTOCOL}://${GLOBAL_INVENTORY_SERVER_NAME}:${GLOBAL_INVENTORY_SERVER_PORT}
-${INVENTORY_ENDPOINT} /dcae-service-types
-${BLUEPRINT_TEMPLATE} ${EXECDIR}/robot/assets/cmpv2/blueprintTemplate.json
-*** Keywords ***
-
-Load Blueprint To Inventory
- [Arguments] ${blueprint_path} ${typeName}
- Disable Warnings
- ${blueprint}= OperatingSystem.Get File ${blueprint_path}
- ${templatejson}= Load JSON From File ${BLUEPRINT_TEMPLATE}
- ${templatejson}= Update Value To Json ${templatejson} blueprintTemplate ${blueprint}
- ${templatejson}= Update Value To Json ${templatejson} typeName ${typeName}
- ${data} Convert JSON To String ${templatejson}
- ${headers}= Create Dictionary content-type=application/json
- ${session}= Create Session inventory_session ${INVENTORY_SERVER}
- ${resp}= Post Request inventory_session ${INVENTORY_ENDPOINT} data=${data} headers=${headers}
- ${serviceTypeId}= Set Variable ${resp.json().get('typeId')}
- [Return] ${serviceTypeId}
-
-Delete Blueprint From Inventory
- [Arguments] ${serviceTypeId}
- Disable Warnings
- ${session}= Create Session inventory_session ${INVENTORY_SERVER}
- ${resp}= Delete Request inventory_session ${INVENTORY_ENDPOINT}/${serviceTypeId}
- [Return] ${resp}
-
-Get Blueprint From Inventory
- [Arguments] ${typeName}
- Disable Warnings
- ${headers}= Create Dictionary content-type=application/json
- ${session}= Create Session inventory_session ${INVENTORY_SERVER}
- ${resp}= Get Request inventory_session ${INVENTORY_ENDPOINT}?typeName=${typeName} headers=${headers}
- Should Not Be Equal As Integers ${resp.json().get('totalCount')} 0 msg=Blueprint ${typeName} does not exist in inventory!
- [Return] ${resp}
-
-
diff --git a/robot/resources/dcaemod_interface.robot b/robot/resources/dcaemod_interface.robot
deleted file mode 100644
index 19720e80..00000000
--- a/robot/resources/dcaemod_interface.robot
+++ /dev/null
@@ -1,310 +0,0 @@
-*** Settings ***
-Library ONAPLibrary.Templating WITH NAME Templating
-Library ONAPLibrary.Utilities
-Library RequestsLibrary
-Library Collections
-Library String
-Library OperatingSystem
-Resource ../resources/global_properties.robot
-Resource chart_museum.robot
-
-
-*** Variables ***
-
-${CLIENT_ID} robot123
-${SESSION_NAME} nifi-api
-${DCAEMOD_SERVER} http://dcaemod.simpledemo.onap.org
-${IS_PROCESS_GROUP_SET} False
-${IS_FLOW_DISTRIBUTED} False
-${IS_SERVICE_DEPLOYED} False
-${PROCESS_GROUP_ID} ${EMPTY}
-${TYPE_ID} ${EMPTY}
-${BLUEPRINT_NAME} ${EMPTY}
-${DISTRIBUTION_TARGET_ID} ${EMPTY}
-${REGISTRY_CLIENT_ID} ${EMPTY}
-${DCAEMOD_ONBOARDING_API_SERVER} ${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_NAME}:${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_PORT}
-${DCAEMOD_DESIGNTOOL_SERVER} ${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_NAME}:${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_PORT}
-${DCAEMOD_DISTRIBUTOR_API_SERVER} ${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_NAME}:${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_PORT}
-${HELM_RELEASE} kubectl --namespace onap get pods | sed 's/ .*//' | grep robot | sed 's/-.*//'
-
-
-*** Keywords ***
-
-Deploy DCAE Application
- [Arguments] ${componentSpec} ${dict_values} ${compSpecName} ${processGroupName}
-
- Onboard Component Spec ${componentSpec} ${dict_values} ${compSpecName}
- ${processGroupId} = Create Process Group ${processGroupName}
- Set Test Variable ${IS_PROCESS_GROUP_SET} True
- Set Test Variable ${PROCESS_GROUP_ID} ${processGroupId}
-
- Create Processor ${PROCESS_GROUP_ID} ${compSpecName}
- Save Flow By Version Controlling ${processGroupName} ${PROCESS_GROUP_ID}
- Distribute The Flow ${PROCESS_GROUP_ID}
- Set Test Variable ${IS_FLOW_DISTRIBUTED} True
-
- Deploy Applictaion ${processGroupName} ${compSpecName}
- Set Test Variable ${CHART_NAME} ${compSpecName}
-
-
-
-Delete Config Map With Mounted Config File
- ${configMapStatus} = Run Keyword And Return Status Config Map Exists ${CONFIG_MAP_NAME}
- Run Keyword If ${configMapStatus} Delete Config Map ${CONFIG_MAP_NAME}
- Remove File ${CONFIG_MAP_FILE}
-
-Delete Config Map
- [Arguments] ${configMapName}
- ${configMapDelete} = Run And Return Rc kubectl -n onap delete configmap ${configMapName}
- Should Be Equal As Integers ${configMapDelete} 0
-
-Create Config Map From File
- [Arguments] ${configMapName} ${configMapFilePath}
-
- ${createConfigMapRC} = Run And Return Rc kubectl -n onap create configmap ${configMapName} --from-file=${configMapFilePath}
- Should Be Equal As Integers ${createConfigMapRC} 0
- Wait Until Keyword Succeeds 1 min 5s Config Map Exists ${configMapName}
-
-Config Map Exists
- [Arguments] ${configMapName}
- ${configMapExists} = Run And Return Rc kubectl -n onap get configmap | grep ${configMapName}
- Should Be Equal As Integers ${configMapExists} 0
-
-Get Pod Yaml
- [Arguments] ${compSpecName}
- ${podYaml} = Run And Return Rc And Output kubectl -n onap get pod $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -o yaml
- Should Be Equal As Integers ${podYaml[0]} 0
- ${podYaml} = Set Variable ${podYaml[1]}
-
- [Return] ${podYaml}
-
-Get Content Of Mounted Folder Inside Container
- [Arguments] ${compSpecName} ${volumeMountPath}
- ${mountedFolderContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- ls ${volumeMountPath}
- Should Be Equal As Integers ${mountedFolderContent[0]} 0
- ${mountedFolderContent} = Set Variable ${mountedFolderContent[1]}
-
- [Return] ${mountedFolderContent}
-
-Verify If Volume Is Mounted
- [Arguments] ${podYaml} ${volumeMountPath}
- Should Contain ${podYaml} ${volumeMountPath}
-
-Verify If Config Map Is Mounted As Volume
- [Arguments] ${podYaml} ${configMapName}
- Should Contain ${podYaml} ${configMapName}
-
-Verify If Mounted Folder Is Empty
- [Arguments] ${mountedFolderContent}
- Should Be Empty ${mountedFolderContent}
-
-Verify If Mounted Folder Contains File
- [Arguments] ${compSpecName} ${fileName} ${configMapDir}
-
- ${dirContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- ls ${configMapDir}
- Should Be Equal As Integers ${dirContent[0]} 0
- Should Contain ${dirContent[1]} ${fileName}
-
-Verify File Content
- [Arguments] ${compSpecName} ${configMapFilePath} ${content}
-
- ${fileContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- cat ${configMapFilePath}
- Should Be Equal As Integers ${fileContent[0]} 0
- Should Contain ${fileContent[1]} ${content}
-
-Verify If Component Is Onboarded
- [Arguments] ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_ONBOARDING_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /onboarding/components?name=${compSpecName} headers=${headers}
- Log ${resp.json()}
- Should Not Be Empty ${resp.json().get('components')}
-
-
-Onboard Component Spec
- [Arguments] ${componentSpec} ${dict_values} ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_ONBOARDING_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- Templating.Create Environment dcaemod ${GLOBAL_TEMPLATE_FOLDER}
- ${componentSpec}= Templating.Apply Template dcaemod ${componentSpec} ${dict_values}
- ${resp} = Post Request ${SESSION_NAME} /onboarding/components data=${componentSpec} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
- Wait Until Keyword Succeeds 2 min 5s Verify If Component Is Onboarded ${compSpecName}
-
- Log ${resp.json()}
-
-Add Registry Client
-
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${data} = Set Variable {"revision": {"version": 0}, "component": {"name": "registry_test", "uri": "http://dcaemod-nifi-registry:18080"}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/controller/registry-clients data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
- Set Global Variable ${REGISTRY_CLIENT_ID} ${resp.json().get('id')}
- Set Global Variable ${REGISTRY_CLIENT_VERSION} ${resp.json().get('revision').get('version')}
-
-Add Distribution Target
-
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${data} = Set Variable {"name": "runtime_test", "runtimeApiUrl": "http://dcaemod-runtime-api:9090"}
- ${resp} = Post Request distributor /distributor/distribution-targets data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Set Global Variable ${DISTRIBUTION_TARGET_ID} ${resp.json().get('id')}
-
-Create Process Group
- [Arguments] ${name}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/process-groups/root/ headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${parentGroupId} = Set Variable ${resp.json().get('processGroupFlow').get('id')}
-
- ${data} = Set Variable {"revision": {"clientId": "${CLIENT_ID}", "version": 0}, "component" : {"parentGroupId" : "${parentGroupId}", "name" : "${name}"}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/process-groups/${parentGroupId}/process-groups data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
-
- ${processGroupId} = Set Variable ${resp.json().get('id')}
-
- [Return] ${processGroupId}
-
-
-Verify If NIFI Processor Is Created
- [Arguments] ${typeName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/processor-types?type=org.onap.dcae.${typeName} headers=${headers}
- Log ${resp.json()}
- Should Not Be Empty ${resp.json().get('processorTypes')}
-
-Create Processor
- [Arguments] ${processGroupId} ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${typeName} = Evaluate $compSpecName.title()
- ${typeName} = Remove String ${typeName} -
- ${data} = Set Variable {"revision": {"clientId": "${CLIENT_ID}", "version": 0},"component": {"parentGroupId": "${processGroupId}", "name": "${compSpecName}", "type": "org.onap.dcae.${typeName}"}}
- Wait Until Keyword Succeeds 60s 5s Verify If NIFI Processor Is Created ${typeName}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId}/processors data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-
-Save Flow By Version Controlling
- [Arguments] ${flowName} ${processGroupId}
-
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
-
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/registries/${REGISTRY_CLIENT_ID}/buckets headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${bucketId} = Set Variable ${resp.json().get('buckets')[0].get('id')}
-
- ${processGrVersion} ${_}= Get Process Group Revision ${processGroupId}
-
- ${data} = Set Variable {"versionedFlow": {"flowName": "${flowName}", "bucketId": "${bucketId}", "registryId": "${REGISTRY_CLIENT_ID}"}, "processGroupRevision": {"clientId": "${CLIENT_ID}", "version": ${processGrVersion}}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/versions/process-groups/${processGroupId} data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-Distribute The Flow
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${flowId} = Set Variable ${resp.json().get('component').get('versionControlInformation').get('flowId')}
- ${data} = Set Variable {"processGroupId": "${flowId}"}
- ${resp} = Post Request distributor /distributor/distribution-targets/${DISTRIBUTION_TARGET_ID}/process-groups data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-Deploy Applictaion
- [Arguments] ${processGroupName} ${compSpecName}
- ${command_output} = Run And Return Rc And Output helm repo update
- Should Be Equal As Integers ${command_output[0]} 0
- ${helm_install}= Set Variable helm -n onap install ${ONAP_HELM_RELEASE}-${compSpecName} chart-museum/${compSpecName} --set global.repository=${registry_ovveride}
- ${helm_install_command_output} = Run And Return Rc And Output ${helm_install}
- Log ${helm_install_command_output[1]}
- Should Be Equal As Integers ${helm_install_command_output[0]} 0
- Set Test Variable ${IS_SERVICE_DEPLOYED} True
- ${kubectl_patch}= Set Variable kubectl -n onap patch deployment ${ONAP_HELM_RELEASE}-${compSpecName} -p '{"spec":{"template":{"spec":{"containers":[{"name": "${compSpecName}","image":"docker.io/nginx:latest"}]}}}}'
- ${kubectl_patch_command_output}= Run And Return Rc And Output ${kubectl_patch}
- Log ${kubectl_patch_command_output[1]}
- Should Be Equal As Integers ${kubectl_patch_command_output[0]} 0
- Wait Until Keyword Succeeds 4 min 15s Check NGINX Applictaion ${compSpecName}
-
-Check NGINX Applictaion
- [Arguments] ${compSpecName}
- ${check_command}= Set Variable kubectl get deployment -n onap | grep ${compSpecName} | grep 1/1
- ${check_command_command_output}= Run And Return Rc And Output ${check_command}
- Log ${check_command_command_output[1]}
- Should Be Equal As Integers ${check_command_command_output[0]} 0
-
-Undeploy Application
- [Arguments] ${CHART_NAME}
- Uninstall helm charts ${ONAP_HELM_RELEASE}-${CHART_NAME}
-
-Get Process Group Revision
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/versions/process-groups/${processGroupId} headers=${headers}
- Should Be True ${resp.status_code} < 300
- ${currentProcessGrVersion} = Set Variable ${resp.json().get('processGroupRevision').get('version')}
- ${clientId} = Set Variable ${resp.json().get('processGroupRevision').get('clientId')}
-
- [Return] ${currentProcessGrVersion} ${clientId}
-
-Delete Distribution Target
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${resp} = Delete Request distributor /distributor/distribution-targets/${DISTRIBUTION_TARGET_ID}
- Should Be True ${resp.status_code} < 300
-
-Delete Process Group
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${processGrVersion} ${clientId}= Get Process Group Revision ${processGroupId}
- ${resp} = Delete Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId}?version=${processGrVersion}&clientId=${clientId}
- Should Be True ${resp.status_code} < 300
-
-Delete Registry Client
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${resp} = Delete Request ${SESSION_NAME} /nifi-api/controller/registry-clients/${REGISTRY_CLIENT_ID}?version=${REGISTRY_CLIENT_VERSION}
- Should Be True ${resp.status_code} < 300
-
-Configure Nifi Registry And Distribution Target
- Restart Runtime API
- Add Registry Client
- Add Distribution Target
- Add chart repository chart-museum http://chart-museum:80 onapinitializer demo123456!
- ${command_output} = Run And Return Rc And Output ${HELM_RELEASE}
- Should Be Equal As Integers ${command_output[0]} 0
- Set Global Variable ${ONAP_HELM_RELEASE} ${command_output[1]}
-
-Restart Runtime API
- ${restart_command}= Set Variable kubectl delete pod $(kubectl get pods -n onap | grep dcaemod-runtime-api | awk '{print $1}') -n onap
- ${restart_command_command_output}= Run And Return Rc And Output ${restart_command}
- Log ${restart_command_command_output[1]}
- Should Be Equal As Integers ${restart_command_command_output[0]} 0
- Wait Until Keyword Succeeds 2 min 5s Check Runtime API
-
-Check Runtime API
- ${check_command}= Set Variable kubectl get deployment -n onap | grep dcaemod-runtime-api | grep 1/1
- ${check_command_command_output}= Run And Return Rc And Output ${check_command}
- Log ${check_command_command_output[1]}
- Should Be Equal As Integers ${check_command_command_output[0]} 0
-
-Delete Nifi Registry And Distribution Target
- Run Keyword If '${DISTRIBUTION_TARGET_ID}' != '${EMPTY}' Wait Until Keyword Succeeds 2 min 5s Delete Distribution Target
- Run Keyword If '${REGISTRY_CLIENT_ID}' != '${EMPTY}' Wait Until Keyword Succeeds 2 min 5s Delete Registry Client
-
-Delete Process Group And Deployment
- Run Keyword If ${IS_PROCESS_GROUP_SET} Run Keywords Delete Process Group ${PROCESS_GROUP_ID}
- ... AND Set Suite Variable ${IS_PROCESS_GROUP_SET} False
- Run Keyword If ${IS_SERVICE_DEPLOYED} Run Keywords Undeploy Application ${CHART_NAME}
- ... AND Set Suite Variable ${IS_SERVICE_DEPLOYED} False
diff --git a/robot/resources/strimzi_kafka.robot b/robot/resources/strimzi_kafka.robot
new file mode 100644
index 00000000..262d28e6
--- /dev/null
+++ b/robot/resources/strimzi_kafka.robot
@@ -0,0 +1,23 @@
+*** Settings ***
+Documentation Template for interfacing with strimzi kafka.
+Library OperatingSystem
+Library RequestsLibrary
+Library BuiltIn
+Library Collections
+Library ONAPLibrary.Utilities
+Library String
+Library ONAPLibrary.Kafka
+
+*** Variables ***
+${KAFKA_GET_PASSWORD} kubectl -n onap get secret strimzi-kafka-admin -o jsonpath="{.data.password}" | base64 -d
+
+*** Keywords ***
+Get Last Message From Topic
+ [Documentation] Decode last message from Kafka topic.
+ [Arguments] ${kafka_server} ${kafka_topic} ${username}
+ ${command_output} = Run And Return Rc And Output ${KAFKA_GET_PASSWORD}
+ Should Be Equal As Integers ${command_output[0]} 0
+ ${password} Set Variable ${command_output[1]}
+ Connect kafka ${kafka_server} ${username} ${password} SCRAM-SHA-512
+ ${msg}= Consume kafka ${kafka_topic}
+ [Return] ${msg}
diff --git a/robot/resources/usecases/5gbulkpm_helm_interface.robot b/robot/resources/usecases/5gbulkpm_helm_interface.robot
index 0419ef43..17a5cff0 100644
--- a/robot/resources/usecases/5gbulkpm_helm_interface.robot
+++ b/robot/resources/usecases/5gbulkpm_helm_interface.robot
@@ -4,106 +4,62 @@ Library RequestsLibrary
Library OperatingSystem
Library String
Library JSONLibrary
-Resource ../dmaap/mr_interface.robot
Resource ../dmaap/dr_interface.robot
-Resource ../dmaap/bc_interface.robot
Resource ../consul_interface.robot
Resource ../chart_museum.robot
+Resource ../strimzi_kafka.robot
*** Variables ***
-${INVENTORY_SERVER} ${GLOBAL_INVENTORY_SERVER_PROTOCOL}://${GLOBAL_INVENTORY_SERVER_NAME}:${GLOBAL_INVENTORY_SERVER_PORT}
-${DEPLOYMENT_SERVER} ${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PROTOCOL}://${GLOBAL_DEPLOYMENT_HANDLER_SERVER_NAME}:${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PORT}
${DR_ENDPOINT} ${GLOBAL_DMAAP_DR_PROV_SERVER_PROTOCOL}://${GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR}:${GLOBAL_DMAAP_DR_PROV_SERVER_PORT}
-${DMAAP_BC_SERVER} ${GLOBAL_BC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_BC_IP_ADDR}:${GLOBAL_BC_HTTPS_SERVER_PORT}
${VES_HEALTH_CHECK_PATH} ${GLOBAL_DCAE_VES_HTTPS_PROTOCOL}://${GLOBAL_INJECTED_DCAE_VES_HOST}:${GLOBAL_DCAE_VES_HTTPS_SERVER_PORT}
-${MR_PUBLISH_TEMPLATE} mr/mr_publish.jinja
-${INVENTORY_ENDPOINT} /dcae-service-types
-${XNF_SFTP_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml
-${XNF_HTTPS_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/k8s-https.yaml
-${BLUEPRINT_TEMPLATE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/blueprintTemplate.json
-${DEPLOYMENT_ENDPOINT} dcae-deployments
-${MR_TOPIC_CHECK_PATH} /topics
${DR_SUB_CHECK_PATH} /internal/prov
-${MR_TOPIC_URL_PATH} /events/unauthenticated.PERFORMANCE_MEASUREMENTS/CG1/C1
-${MR_TOPIC_URL_PATH_FOR_POST} /events/unauthenticated.PERFORMANCE_MEASUREMENTS
-${DMAAP_BC_MR_CLIENT_PATH} /webapi/mr_clients
-${DMAAP_BC_MR_CLUSTER_PATH} /webapi/mr_clusters
-${PMMAPPER_HEALTH_CHECK_PATH} /healthcheck
${JSON_DATA_FILE} ${EXECDIR}/robot/assets/usecases/5gbulkpm/Notification.json
${VES_LISTENER_PATH} /eventListener/v7
-${PMMAPPER_SUB_ROLE_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/sub.json
-${PMMAPPER_MR_CLUSTER_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/mr_clusters.json
-${NEXUS3} ${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}
${SET_KNOWN_HOSTS_FILE_PATH} kubectl set env deployment/$(kubectl get deployment -n onap | grep datafile | awk '{print $1}') KNOWN_HOSTS_FILE_PATH=/home/datafile/.ssh/known_hosts -n onap
+${DR_NODE_FECTH_PROV} kubectl exec $(kubectl get pods -n onap | grep dmaap-dr-node | awk '{print $1}' | grep -v NAME) -n onap -- curl http://localhost:8080/internal/fetchProv
${CHECK_ENV_SET} kubectl set env pod/$(kubectl get pod -n onap | grep datafile | awk '{print $1}') -c dcae-datafile-collector --list -n onap
${COPY_RSA_KEY} kubectl cp /tmp/known_hosts $(kubectl get pod -n onap | grep datafile | awk '{print $1}'):/home/datafile/.ssh/known_hosts -c dcae-datafile-collector -n onap
${CHECK_DFC_LOGS} kubectl logs $(kubectl get pod -n onap | grep datafile | awk '{print $1}') -c dcae-datafile-collector -n onap --tail=10
${CHECK_ALL_DFC_LOGS} kubectl logs $(kubectl get pod -n onap | grep datafile | awk '{print $1}') -n onap --all-containers
${CHECK_ALL_PMMAPPER_LOGS} kubectl logs $(kubectl get pod -n onap | grep pm-mapper | awk '{print $1}') -n onap --all-containers
${EXPECTED_PRINT} StrictHostKeyChecking is enabled but environment variable KNOWN_HOSTS_FILE_PATH is not set or points to not existing file
-${MONGO_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/cmpv2/k8s-mongo.yaml
-${PNF_SIMULATOR_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/cmpv2/k8s-pnf-simulator.yaml
-${MONGO_VES_CLIENT_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/cmpv2/k8s-mongo-ves-client.yaml
-${VES_CLIENT_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/cmpv2/k8s-ves-client.yaml
-${VES_INPUTS} deployment/VesTlsCmpv2Inputs.jinja
${pm_notification_event} dfc/notification.jinja
${consul_change_event} dfc/consul.jinja
-${ves_client_single_event}= ves/pnf_simulator_single_event.jinja
${SFTP_HELM_CHARTS} ${EXECDIR}/robot/assets/helm/sftp
${HTTPS_SERVER_HELM_CHARTS} ${EXECDIR}/robot/assets/helm/pm-https-server
${HELM_RELEASE} kubectl --namespace onap get pods | sed 's/ .*//' | grep robot | sed 's/-.*//'
*** Keywords ***
-
xNF PM File Validate
[Documentation]
- ... This keyword gathers all events from message router topic and validates if in recived data is present an expected string: "${expected_pm_str}" .
+ ... This keyword gets the last event from the PM topic and validates if the expected string is present: "${expected_pm_str}" .
[Arguments] ${expected_pm_str}
- ${timestamp}= Get Time epoch
- #${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- ${resp}= Run MR Get Request ${MR_TOPIC_URL_PATH}
- Should Contain ${resp.text} ${expected_pm_str}
-
-Topic Validate
- [Arguments] ${value}
- ${timestamp}= Get Current Date
- ${dict}= Create Dictionary timestamp=${timestamp}
- Templating.Create Environment mr ${GLOBAL_TEMPLATE_FOLDER}
- ${data}= Templating.Apply Template mr ${MR_PUBLISH_TEMPLATE} ${dict}
- ${resp}= Run MR Auth Post Request (User And Pass) ${MR_TOPIC_URL_PATH_FOR_POST} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- #${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- ${resp}= Run MR Get Request ${MR_TOPIC_URL_PATH}
- Should Contain ${resp.text} ${value}
+ ${bytes} = Encode String To Bytes ${expected_pm_str} UTF-8
+ ${msg}= Run Keyword Get Last Message From Topic ${GLOBAL_KAFKA_BOOTSTRAP_SERVICE} unauthenticated.PERFORMANCE_MEASUREMENTS ${GLOBAL_KAFKA_USER}
+ Should Contain ${msg} ${bytes}
+
Send File Ready Event to VES Collector and Deploy all DCAE Applications
[Arguments] ${pm_file} ${file_format_type} ${file_format_version}
Disable Warnings
Setting Global Variables
+ DR Node Fetch Prov
+ Sleep 10s
Send File Ready Event to VES Collector ${pm_file} ${file_format_type} ${file_format_version}
+ Add OOM test chart repository onap-testing https://nexus3.onap.org/repository/onap-helm-testing/
Add chart repository chart-museum http://chart-museum:80 onapinitializer demo123456!
-# Log To Console Deploying Data File Collector
-# Deploying Data File Collector
-# Log To Console Deploying 3GPP PM Mapper
-# Deploying 3GPP PM Mapper
Log To Console Deploying SFTP Server As xNF
Deploying SFTP Server As xNF
# Log To Console Deploying HTTPS Server with correct CMPv2 certificates as xNF
# Deploying HTTPS server with correct certificates
-# Log To Console Deploying HTTPS Server with wrong subject alternatives in CMPv2 certificates as xNF
-# Deploying HTTPS server with wrong certificates - wrong SAN-s
- DR Bulk PM Feed Check
DR PM Mapper Subscriber Check
Usecase Teardown
Disable Warnings
Get all logs from PM Mapper
Get all logs from Data File Collector
-# Uninstall helm charts ${ONAP_HELM_RELEASE}-dcae-datafile-collector
-# Uninstall helm charts ${ONAP_HELM_RELEASE}-dcae-pm-mapper
Uninstall helm charts ${ONAP_HELM_RELEASE}-sftp
# Uninstall helm charts ${ONAP_HELM_RELEASE}-pm-https-server-correct-sans
-# Uninstall helm charts ${ONAP_HELM_RELEASE}-pm-https-server-wrong-sans
Setting Global Variables
${test_variables} = Create Dictionary
@@ -193,9 +149,10 @@ Deploying HTTPS server with wrong certificates - wrong SAN-s
${override} = Set Variable --set fullnameOverride=${name} --set nameOverride=${name} --set certificates.name=${name} --set certificates.commonName=wrong-sans-1 --set certificates.dnsNames={wrong-sans-2} --debug
Install helm charts from folder ${HTTPS_SERVER_HELM_CHARTS} ${name} set_values_override=${override}
-DR Bulk PM Feed Check
- ${resp}= Run DR Get Request ${DR_SUB_CHECK_PATH}
- Should Contain ${resp.text} bulk_pm_feed
+DR Node Fetch Prov
+ ${rc}= Run and Return RC ${DR_NODE_FECTH_PROV}
+ Should Be Equal As Integers ${rc} 0
+
DR PM Mapper Subscriber Check
${resp}= Run DR Get Request ${DR_SUB_CHECK_PATH}
@@ -263,39 +220,39 @@ Change DFC httpsHostnameVerify configuration in Consul
Should Be Equal As Integers ${rc} 0
Wait Until Keyword Succeeds 360 sec 15 sec Check logs kubectl logs -n onap $(kubectl get pods -n onap | grep datafile-collector | awk '{print $1}' | grep -v NAME) ${container_name}-datafile-collector
-#Sending File Ready Event to VES Collector for HTTPS Server
-# [Arguments] ${https-server_host}
-# Send File Ready Event to VES Collector for HTTPS Server ${PM_FILE} ${GLOBAL_TEST_VARIABLES["FILE_FORMAT_TYPE"]} ${GLOBAL_TEST_VARIABLES["FILE_FORMAT_VERSION"]} ${https-server_host}
-
-#Send File Ready Event to VES Collector for HTTPS Server
-# [Arguments] ${pm_file} ${file_format_type} ${file_format_version} ${https_server_host}
-# Disable Warnings
-# ${pm_event} Create Dictionary https_server_host=${https_server_host} pm_file=${pm_file} fileFormatType=${file_format_type} fileFormatVersion=${file_format_version}
-# Templating.Create Environment pm ${GLOBAL_TEMPLATE_FOLDER}
-# ${VES_FILE_READY_NOTIFICATION}= Templating.Apply Template pm ${pm_notification_event} ${pm_event}
-# ${headers}= Create Dictionary content-type=application/json
-# ${auth}= Create List ${GLOBAL_DCAE_VES_USERNAME} ${GLOBAL_DCAE_VES_PASSWORD}
-# ${session}= Create Session ves ${VES_HEALTH_CHECK_PATH} auth=${auth}
-# ${resp}= Post Request ves ${VES_LISTENER_PATH} data=${VES_FILE_READY_NOTIFICATION} headers=${headers}
-# Should Be Equal As Strings ${resp.status_code} 202
-
-
-#Uploading PM Files to xNF HTTPS Server
-# [Arguments] ${https-server_host}
-# ${pm_file}= Upload PM Files to xNF HTTPS Server ${GLOBAL_TEST_VARIABLES["PM_FILE_PATH"]} ${https-server_host}
-# Set Global Variable ${PM_FILE} ${pm_file}
-
-#Upload PM Files to xNF HTTPS Server
-# [Arguments] ${pm_file_path} ${https_server}
-# ${epoch}= Get Current Date result_format=epoch
-# ${pm_file} = Set Variable A${epoch}.xml.gz
-# Copy File ${pm_file_path} tmp/${pm_file}
-# ${fileData}= Get Binary File tmp/${pm_file}
-# ${file_part}= Create List ${pm_file} ${fileData} application/octet-stream
-# ${fileParts}= Create Dictionary
-# Set to Dictionary ${fileParts} uploaded_file=${file_part}
-# ${auth}= Create List demo demo123456!
-# ${session}= Create Session https http://${https_server}:80 auth=${auth}
-# ${resp}= Post Request https /upload.php files=${fileParts}
-# Should Be Equal As Strings ${resp.status_code} 200
-# [Return] ${pm_file}
+Sending File Ready Event to VES Collector for HTTPS Server
+ [Arguments] ${https-server_host}
+ Send File Ready Event to VES Collector for HTTPS Server ${PM_FILE} ${GLOBAL_TEST_VARIABLES["FILE_FORMAT_TYPE"]} ${GLOBAL_TEST_VARIABLES["FILE_FORMAT_VERSION"]} ${https-server_host}
+
+Send File Ready Event to VES Collector for HTTPS Server
+ [Arguments] ${pm_file} ${file_format_type} ${file_format_version} ${https_server_host}
+ Disable Warnings
+ ${pm_event} Create Dictionary https_server_host=${https_server_host} pm_file=${pm_file} fileFormatType=${file_format_type} fileFormatVersion=${file_format_version}
+ Templating.Create Environment pm ${GLOBAL_TEMPLATE_FOLDER}
+ ${VES_FILE_READY_NOTIFICATION}= Templating.Apply Template pm ${pm_notification_event} ${pm_event}
+ ${headers}= Create Dictionary content-type=application/json
+ ${auth}= Create List ${GLOBAL_DCAE_VES_USERNAME} ${GLOBAL_DCAE_VES_PASSWORD}
+ ${session}= Create Session ves ${VES_HEALTH_CHECK_PATH} auth=${auth}
+ ${resp}= Post Request ves ${VES_LISTENER_PATH} data=${VES_FILE_READY_NOTIFICATION} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 202
+
+
+Uploading PM Files to xNF HTTPS Server
+ [Arguments] ${https-server_host}
+ ${pm_file}= Upload PM Files to xNF HTTPS Server ${GLOBAL_TEST_VARIABLES["PM_FILE_PATH"]} ${https-server_host}
+ Set Global Variable ${PM_FILE} ${pm_file}
+
+Upload PM Files to xNF HTTPS Server
+ [Arguments] ${pm_file_path} ${https_server}
+ ${epoch}= Get Current Date result_format=epoch
+ ${pm_file} = Set Variable A${epoch}.xml.gz
+ Copy File ${pm_file_path} tmp/${pm_file}
+ ${fileData}= Get Binary File tmp/${pm_file}
+ ${file_part}= Create List ${pm_file} ${fileData} application/octet-stream
+ ${fileParts}= Create Dictionary
+ Set to Dictionary ${fileParts} uploaded_file=${file_part}
+ ${auth}= Create List demo demo123456!
+ ${session}= Create Session https http://${https_server}:80 auth=${auth}
+ ${resp}= Post Request https /upload.php files=${fileParts}
+ Should Be Equal As Strings ${resp.status_code} 200
+ [Return] ${pm_file}
diff --git a/robot/testsuites/dcaemod.robot b/robot/testsuites/dcaemod.robot
deleted file mode 100644
index 818ca8b6..00000000
--- a/robot/testsuites/dcaemod.robot
+++ /dev/null
@@ -1,97 +0,0 @@
-*** Settings ***
-
-Library RequestsLibrary
-Library Collections
-Library OperatingSystem
-Resource ../resources/dcaemod_interface.robot
-Suite Setup Configure Nifi Registry And Distribution Target
-Suite Teardown Delete Nifi Registry And Distribution Target
-Test Teardown Delete Process Group And Deployment
-
-
-*** Variables ***
-
-${CONFIG_MAP_FILE} /tmp/sample-config
-${COMPSPEC_WITH_CONFIG_VOLUME} dcaemod/compspec_with_config_volume.jinja
-${COMPSPEC_WITHOUT_CONFIG_VOLUME} dcaemod/compspec_without_config_volume.jinja
-
-*** Test Cases ***
-
-Deploy DCAE Simple Application Without Config Map In Config Spec Json
- [tags] dcaemod
- [Documentation]
- ... Test case checks if operator is able to deploy DCAE application using DCAE MOD without config map definition.
- ... This test case:
- ... - Configures DCAE MOD by adding a registry client and a distribution target in the controller settings via NIFI API.
- ... - Onboards component spec via onboarding API.
- ... - Creates Process Group, Processor and saves created flows (by version controlling) via NIFI API.
- ... - Distributes the flow for helm charts generation via distributor API and pushes it to the Chart Museum.
- ... - Deploys such a helm charts.
-
- ${timestamp}= Get Time epoch
- Set Test Variable ${processGroupName} nginx-${timestamp}
- ${dict_values} = Create Dictionary comp_spec_name=${processGroupName}
- ${compSpecName} = Set Variable ${dict_values['comp_spec_name']}
-
- Deploy DCAE Application ${COMPSPEC_WITHOUT_CONFIG_VOLUME} ${dict_values} ${compSpecName} ${processGroupName}
-
-Deploy DCAE Simple Application With Config Map In Config Spec Json But Not Present In K8s
- [tags] dcaemod
- [Documentation]
- ... Test case checks if operator is able to deploy DCAE application using DCAE MOD with config map definition in config spec json file but not present in k8s.
- ... This test case:
- ... Configures DCAE MOD by adding a registry client and a distribution target in the controller settings via NIFI API.
- ... - Onboards component spec with config map via onboarding API.
- ... - Creates Process Group, Processor and saves created flows (by version controlling) via NIFI API.
- ... - Distributes the flow for helm charts generation via distributor API and pushes it to the Chart Museum.
- ... - Deploys such a helm charts.
- ... - Verifies if config map is mounted as a volume and if mounted folder is empty
-
- ${timestamp}= Get Time epoch
- Set Test Variable ${processGroupName} nginx-${timestamp}
- ${dict_values} = Create Dictionary comp_spec_name=${processGroupName}
- ... volume_mount_path=/opt/app/etc/config
- ... config_map_name=test-config-volume
- ${compSpecName} = Set Variable ${dict_values['comp_spec_name']}
- ${volumeMountPath} = Set Variable ${dict_values['volume_mount_path']}
- ${configMapName} = Set Variable ${dict_values['config_map_name']}
-
- Deploy DCAE Application ${COMPSPEC_WITH_CONFIG_VOLUME} ${dict_values} ${compSpecName} ${processGroupName}
- ${podYaml} = Get Pod Yaml ${compSpecName}
- Verify If Volume Is Mounted ${podYaml} ${volumeMountPath}
- Verify If Config Map Is Mounted As Volume ${podYaml} ${configMapName}
- ${mountedFolderContent}= Wait Until Keyword Succeeds 1 min 10s Get Content Of Mounted Folder Inside Container ${compSpecName} ${volumeMountPath}
- Verify If Mounted Folder Is Empty ${mountedFolderContent}
-
-Deploy DCAE Simple Application With Config Map In Config Spec Json AND Present In K8s
- [tags] dcaemod
- [Documentation]
- ... Test case checks if operator is able to deploy DCAE application using DCAE MOD with config map definition and config map present in k8s.
- ... This test case:
- ... - Configures DCAE MOD by adding a registry client and a distribution target in the controller settings via NIFI API.
- ... - Onboards component spec with config map via onboarding API.
- ... - Creates Process Group, Processor and saves created flows (by version controlling) via NIFI API.
- ... - Creates config map from file
- ... - Distributes the flow for helm charts generation via distributor API and pushes it to the Chart Museum.
- ... - Deploys such a helm charts.
- ... - Verifies if mounted folder contains created file and this file contains user content
-
- ${timestamp}= Get Time epoch
- Set Test Variable ${processGroupName} nginx-${timestamp}
- ${dict_values} = Create Dictionary comp_spec_name=${processGroupName}
- ... volume_mount_path=/opt/app/etc/config
- ... config_map_name=test-config-volume
- ${compSpecName} = Set Variable ${dict_values['comp_spec_name']}
- ${volumeMountPath} = Set Variable ${dict_values['volume_mount_path']}
- ${configMapName} = Set Variable ${dict_values['config_map_name']}
- Set Test Variable ${CONFIG_MAP_NAME} ${configMapName}
- ${content} = Set Variable Hello, world!
- ${configMapDir} ${configMapFile} = Split Path ${CONFIG_MAP_FILE}
-
- Create File ${CONFIG_MAP_FILE} ${content}
- Create Config Map From File ${configMapName} ${CONFIG_MAP_FILE}
- Deploy DCAE Application ${COMPSPEC_WITH_CONFIG_VOLUME} ${dict_values} ${compSpecName} ${processGroupName}
- Wait Until Keyword Succeeds 1 min 10s Verify If Mounted Folder Contains File ${compSpecName} ${configMapFile} ${volumeMountPath}
- Verify File Content ${compSpecName} ${volumeMountPath}/${CONFIG_MAP_FILE} ${content}
-
- [Teardown] Run Keywords Delete Process Group And Deployment AND Delete Config Map With Mounted Config File