Merge "Add csit for multi-fcaps"
authorMariusz Wagner <mariusz.wagner@nokia.com>
Wed, 13 Mar 2019 11:47:48 +0000 (11:47 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 13 Mar 2019 11:47:48 +0000 (11:47 +0000)
26 files changed:
plans/dcaegen2-collectors-hv-ves/testsuites/.env
plans/dcaegen2-collectors-hv-ves/testsuites/consul.d/cbs.json [new file with mode: 0644]
plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml
plans/dcaegen2-pmmapper/pmmapper/assets/config.json
plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
plans/dcaegen2-pmmapper/pmmapper/dmaapbc.sh
plans/dcaegen2-pmmapper/pmmapper/setup.sh
plans/dcaegen2-pmmapper/pmmapper/teardown.sh
plans/usecases/5G-bulkpm/composefile/docker-compose-dfc.yml [new file with mode: 0644]
plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml
plans/usecases/5G-bulkpm/setup.sh
plans/usecases/5G-bulkpm/teardown.sh
scripts/clamp/start_clamp_containers.sh
tests/clamp/APIs/01__Create_CL_Holmes.robot
tests/clamp/APIs/02__Create_CL_TCA.robot [deleted file]
tests/clamp/APIs/03__VariousApis.robot [deleted file]
tests/clamp/APIs/04__Verify_API_Models.robot [deleted file]
tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
tests/dcaegen2-pmmapper/pmmapper/assets/A20181002.0000-1000-0015-1000_5G.xml [new file with mode: 0644]
tests/dcaegen2-pmmapper/pmmapper/assets/valid_pm.xml [new file with mode: 0644]
tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot
tests/dcaegen2/prh-testcases/resources/.env
tests/dcaegen2/prh-testcases/resources/consul.d/cbs.json [new file with mode: 0644]
tests/dcaegen2/prh-testcases/resources/docker-compose.yml
tests/policy/xacml-pdp/xacml-pdp-test.robot
tests/usecases/5G-bulkpm/BulkpmE2E.robot

index a64ba26..7e2fffc 100644 (file)
@@ -8,6 +8,5 @@ DCAE_APP_SIMULATOR_IMAGE=hv-collector-dcae-app-simulator
 # IN XNF_SIMULATOR_LIBRARY PYTHON FILE.
 HV_VES_VERSION=1.1-SNAPSHOT
 
-HV_VES_CONFIG_URL=http://consul:8500/v1/kv/veshv-config?raw=true
 HV_VES_HEALTHCHECK_CMD=curl --request GET --fail --silent --show-error localhost:6060/health/ready && nc -vz localhost 6061
-HV_VES_MAIN_CLASS=org.onap.dcae.collectors.veshv.main.MainKt
\ No newline at end of file
+HV_VES_MAIN_CLASS=org.onap.dcae.collectors.veshv.main.MainKt
diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/consul.d/cbs.json b/plans/dcaegen2-collectors-hv-ves/testsuites/consul.d/cbs.json
new file mode 100644 (file)
index 0000000..0761c7e
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "service": {
+    "name": "cbs",
+    "tags": [
+      "cbs"
+    ],
+    "port": 10000,
+    "address": "config-binding-service"
+  }
+}
index 6717835..ac07eb7 100644 (file)
@@ -6,92 +6,124 @@ networks:
       name: $CONTAINERS_NETWORK
 
 services:
+
+  #
+  # DMaaP Message Router
+  #
+
   zookeeper:
     image: wurstmeister/zookeeper
     ports:
-    - "2181:2181"
+      - "2181:2181"
     networks:
-    - ves-hv-default
+      - ves-hv-default
 
   kafka:
     image: wurstmeister/kafka
     ports:
-    - "9092:9092"
+      - "9092:9092"
     environment:
       KAFKA_ADVERTISED_HOST_NAME: "kafka"
       KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
       KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
       KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka:9092"
     volumes:
-    - /var/run/docker.sock:/var/run/docker.sock
+      - /var/run/docker.sock:/var/run/docker.sock
     depends_on:
-    - zookeeper
+      - zookeeper
     networks:
-    - ves-hv-default
+      - ves-hv-default
+
+
+  #
+  # Consul / CBS
+  #
 
-  consul:
-    image: progrium/consul
+  consul-server:
+    image: docker.io/consul:1.0.6
     ports:
-    - "8500:8500"
+      - "8500:8500"
+    command: ["agent","-bootstrap", "-client=0.0.0.0", "-server", "-ui", "-config-dir=/consul/consul.d"]
+    volumes:
+      - ./consul.d/:/consul/consul.d
+    networks:
+      ves-hv-default:
+        aliases:
+          - consul
+
+  config-binding-service:
+    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4
+    ports:
+      - "10000:10000"
     environment:
-    - CONSUL_BIND_INTERFACE=eth0
+      CONSUL_HOST: "consul-server"
+    depends_on:
+      - consul-server
     networks:
       ves-hv-default:
         aliases:
-        - consul
-    command: ["-server", "-bootstrap"]
+          - cbs
+  #
+  # DCAE HV VES Collector
+  #
 
   ves-hv-collector:
     image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${HV_VES_IMAGE}:${HV_VES_VERSION}
     ports:
-    - "6060:6060"
-    - "6061:6061/tcp"
+      - "6060:6060"
+      - "6061:6061/tcp"
     command: ["--listen-port", "6061",
-              "--config-url", "${HV_VES_CONFIG_URL}",
               "--kafka-bootstrap-servers", "kafka:9092",
               "--key-store-password", "onaponap",
               "--trust-store-password", "onaponap"]
     environment:
       JAVA_OPTS: "-Dio.netty.leakDetection.level=paranoid"
+      CONSUL_HOST: "consul-server"
+      CONFIG_BINDING_SERVICE: "cbs"
+      HOSTNAME: "dcae-hv-ves-collector"
     healthcheck:
       interval: 10s
       timeout: 5s
       retries: 2
       test: ${HV_VES_HEALTHCHECK_CMD}
-    depends_on:
-    - kafka
     volumes:
-    - ./ssl/:/etc/ves-hv/
+      - ./ssl/:/etc/ves-hv/
+    depends_on:
+      - config-binding-service
+      - kafka
     networks:
-    - ves-hv-default
+      - ves-hv-default
 
   unencrypted-ves-hv-collector:
     image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${HV_VES_IMAGE}:${HV_VES_VERSION}
     ports:
-    - "7060:6060"
-    - "7061:6061/tcp"
+      - "7060:6060"
+      - "7061:6061/tcp"
     command: ["--listen-port", "6061",
-              "--config-url", "${HV_VES_CONFIG_URL}",
               "--kafka-bootstrap-servers", "kafka:9092",
               "--ssl-disable"]
     environment:
       JAVA_OPTS: "-Dio.netty.leakDetection.level=paranoid"
+      CONSUL_HOST: "consul-server"
+      CONFIG_BINDING_SERVICE: "cbs"
+      HOSTNAME: "dcae-hv-ves-collector"
     healthcheck:
       interval: 10s
       timeout: 5s
       retries: 2
       test: ${HV_VES_HEALTHCHECK_CMD}
-    depends_on:
-    - kafka
     volumes:
-    - ./ssl/:/etc/ves-hv/
+      - ./ssl/:/etc/ves-hv/
+    depends_on:
+      - config-binding-service
+      - kafka
     networks:
-    - ves-hv-default
+      - ves-hv-default
 
   dcae-app-simulator:
     image: ${DOCKER_REGISTRY}/${HV_VES_COLLECTOR_NAMESPACE}/${HV_VES_GROUP_ID}.${DCAE_APP_SIMULATOR_IMAGE}:${HV_VES_VERSION}
     ports:
-    - "6063:6063/tcp"
+      - "6063:6063/tcp"
     command: ["--listen-port", "6063", "--kafka-bootstrap-servers", "kafka:9092", "--kafka-topics", "non-existing-topic"]
     healthcheck:
       interval: 10s
@@ -99,9 +131,9 @@ services:
       retries: 2
       test: "curl --request GET --fail --silent --show-error localhost:6063/healthcheck"
     depends_on:
-    - kafka
+      - kafka
     networks:
       ves-hv-default:
         aliases:
-        - dcae-app-simulator
+          - dcae-app-simulator
 
index 56629e0..5eec438 100644 (file)
@@ -1,5 +1,5 @@
 {
-    "pm-mapper-filter": "{ \"filters\":[]}",
+    "pm-mapper-filter": { "filters":[]},
     "streams_subscribes": {
         "dmaap_subscriber": {
             "type": "data_router",
index 9c8805b..bf02465 100644 (file)
@@ -62,7 +62,7 @@ services:
 
   buscontroller:
     container_name: buscontroller
-    image: nexus3.onap.org:10001/onap/dmaap/buscontroller
+    image: nexus3.onap.org:10001/onap/dmaap/dmaap-bc:1.1.1
     ports:
       - "18080:8080"
       - "18443:8443"
index bb8c6f2..1405112 100755 (executable)
@@ -53,7 +53,18 @@ cat << EOF > $JSON
 "feedVersion": "1",
 "feedDescription":"PM Mapper Feed",
 "owner":"bulkpm",
-"asprClassification": "unclassified"
+"asprClassification": "unclassified",
+"pubs": [
+        {
+            "dcaeLocationName": "csit-pmmapper",
+            "feedId": "1",
+            "lastMod": "2015-01-01T15:00:00.000Z",
+            "pubId": "10",
+            "status": "EMPTY",
+            "username": "pmmapper",
+            "userpwd": "pmmapper"
+        }
+        ]
 }
 EOF
 echo "Initializing /feeds endpoint"
index 806728d..071213e 100644 (file)
@@ -145,4 +145,4 @@ docker exec buscontroller /bin/sh -c "cat /opt/app/dmaapbc/logs/ONAP/application
 curl -k https://$DR_PROV_IP:8443/internal/prov
 
 #Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DMAAPBC_IP:${DMAAPBC_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP}"
\ No newline at end of file
+ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DMAAPBC_IP:${DMAAPBC_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}"
\ No newline at end of file
index 08e1c77..bcbcfff 100644 (file)
@@ -1,5 +1,6 @@
 #!/bin/bash
 echo "Starting teardown script"
+docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log"
 kill-instance.sh $DMAAP
 kill-instance.sh $KAFKA
 kill-instance.sh $ZOOKEEPER
diff --git a/plans/usecases/5G-bulkpm/composefile/docker-compose-dfc.yml b/plans/usecases/5G-bulkpm/composefile/docker-compose-dfc.yml
new file mode 100644 (file)
index 0000000..aae77f7
--- /dev/null
@@ -0,0 +1,12 @@
+version: '2.1'
+services:
+  dfc:
+    container_name: dfc
+    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest
+    ports:
+      - "8433:8433"
+    environment:
+       CONSUL_HOST: CONSUL_IP
+       CONSUL_PORT: 8500
+    extra_hosts:
+      - "dmaap-dr-node:DR_NODE_IP"
\ No newline at end of file
index d90f7b4..e1e591d 100644 (file)
@@ -68,14 +68,32 @@ services:
       - /host/upload:/home/admin
     command: admin:admin:1001
 
-  dfc:
-    container_name: dfc
-    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest
-    ports:
-      - "8433:8433"
-
   ves:
     container_name: vescollector
     image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.4.1
     environment:
        DMAAPHOST:
+
+  consul:
+    container_name: consul
+    image: nexus3.onap.org:10001/consul:latest
+
+  cbs:
+    container_name: cbs
+    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:latest
+    environment:
+       CONSUL_HOST:
+
+  buscontroller:
+    container_name: buscontroller
+    image: nexus3.onap.org:10001/onap/dmaap/dmaap-bc:1.1.1
+    ports:
+      - "18080:8080"
+      - "18443:8443"
+    extra_hosts:
+      - "dmaap-dr-prov:DMAAPDR"
+      - "message-router:DMAAPMR"
+    volumes:
+      - /tmp/docker-databus-controller.conf:/opt/app/config/conf
+    depends_on:
+      - datarouter-prov
\ No newline at end of file
index 5f3c4a3..658a6c1 100644 (file)
@@ -70,6 +70,8 @@ cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/res
 mkdir docker-compose
 cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose
 cp $WORKSPACE/plans/usecases/5G-bulkpm/composefile/docker-compose-e2e.yml $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose.yml
+cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/docker-databus-controller.conf /tmp/
+sed -i 's/DMAAPMR/'$DMAAP_MR_IP'/g' /tmp/docker-databus-controller.conf
 
 docker login -u docker -p docker nexus3.onap.org:10001
 docker-compose up -d
@@ -77,6 +79,9 @@ echo "Disregard the message ERROR: for datarouter-node  Container 1234456 is unh
 docker kill datarouter-prov
 docker kill datarouter-node
 docker kill vescollector
+docker kill cbs
+CONSUL_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul )
+sed -i -e '/CONSUL_HOST:/ s/:.*/: '$CONSUL_IP'/' docker-compose.yml
 HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
 sed -i -e '/DMAAPHOST:/ s/:.*/: '$HOST_IP'/' docker-compose.yml
 MARIADB=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb )
@@ -98,7 +103,6 @@ for i in {1..10}; do
 done
 
 sleep 5
-
 # Get IP address of datarrouger-prov, datarouter-node, fileconsumer-node.
 DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov)
 DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node)
@@ -127,6 +131,27 @@ export VESC_IP=${VESC_IP}
 export HOST_IP=${HOST_IP}
 export DMAAP_MR_IP=${DMAAP_MR_IP}
 
+docker kill buscontroller
+sed -i 's/DMAAPDR/'$DR_PROV_IP'/g' docker-compose.yml
+sed -i 's/DMAAPMR/'$DMAAP_MR_IP'/g' docker-compose.yml
+docker-compose up -d
+sed -i 's/DMAAPDR/'$DR_PROV_IP'/g' /tmp/docker-databus-controller.conf
+
+# Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb, Consul, CBS, Buscontroller
+for i in {1..10}; do
+    if  [ $(docker inspect --format '{{ .State.Running }}' consul) ] && \
+        [ $(docker inspect --format '{{ .State.Running }}' cbs) ] && \
+        [ $(docker inspect --format '{{ .State.Running }}' buscontroller) ]
+    then
+        echo "Data Router, Consul, Config Binding Service, Buscontroller Services Running"
+        break
+    else
+        echo sleep $i
+        sleep $i
+    fi
+done
+sleep 10
+
 #Pass any variables required by Robot test suites in ROBOT_VARIABLES
 ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP}"
 
@@ -135,21 +160,26 @@ pip install jsonschema uuid
 sleep 2
 
 # Data File Collector configuration :
-docker cp dfc:/config/datafile_endpoints.json /tmp/
-echo data_endpoints.json from DFC containter
-cat /tmp/datafile_endpoints.json
+mkdir /tmp/docker-compose
+cd /tmp/docker-compose
+cp $WORKSPACE/plans/usecases/5G-bulkpm/composefile/docker-compose-dfc.yml /tmp/docker-compose/docker-compose.yml
+sed -i 's/DR_NODE_IP/'$DR_NODE_IP'/g' /tmp/docker-compose/docker-compose.yml
 cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/datafile_endpoints.json /tmp/
 sed -i 's/dmaapmrhost/'${DMAAP_MR_IP}'/g' /tmp/datafile_endpoints.json
 sed -i 's/dmaapdrhost/'${DR_PROV_IP}'/g' /tmp/datafile_endpoints.json
-echo data_endpoints.json copied onto the DFC containter
+echo data_endpoints.json to be copied onto the DFC containter
 cat /tmp/datafile_endpoints.json
-docker cp /tmp/datafile_endpoints.json dfc:/config/
+docker-compose up -d
+sleep 2
+docker cp dfc:/opt/app/datafile/config/datafile_endpoints.json /tmp/datafile_endpoints.json.fromcontainer
+echo data_endpoints.json from DFC containter
+cat /tmp/datafile_endpoints.json.fromcontainer
+docker cp /tmp/datafile_endpoints.json dfc:/opt/app/datafile/config/
 #Increase Logging
-docker exec dfc /bin/sh -c " sed -i 's/org.onap.dcaegen2.collectors.datafile: ERROR/org.onap.dcaegen2.collectors.datafile: TRACE/g' /config/application.yaml"
+docker exec dfc /bin/sh -c " sed -i 's/org.onap.dcaegen2.collectors.datafile: ERROR/org.onap.dcaegen2.collectors.datafile: TRACE/g' /opt/app/datafile/config/application.yaml"
 docker restart dfc
-docker exec dfc /bin/sh -c "echo '${DR_NODE_IP}' dmaap-dr-node >> /etc/hosts"
+sleep 2
 
-# SFTP Configuration:
 # Update the File Ready Notification with actual sftp ip address and copy pm files to sftp server.
 cp $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json
 sed -i 's/sftpserver/'${SFTP_IP}'/g' $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json
index a69dc35..7a99941 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 echo "Starting teardown script"
-docker exec dfc /bin/sh -c "less /opt/log/application.log" > /tmp/dfc_docker.log
+docker exec dfc /bin/sh -c "less /var/log/ONAP/application.log" > /tmp/dfc_docker.log
 cat /tmp/dfc_docker.log
 sleep 3
 rm /tmp/dfc_docker.log.robot
@@ -13,4 +13,7 @@ kill-instance.sh datarouter-prov
 kill-instance.sh fileconsumer-node
 kill-instance.sh mariadb
 kill-instance.sh dfc
-kill-instance.sh sftp
\ No newline at end of file
+kill-instance.sh sftp
+kill-instance.sh cbs
+kill-instance.sh consul
+kill-instance.sh buscontroller
\ No newline at end of file
index 8a176fb..8da8340 100755 (executable)
@@ -49,22 +49,5 @@ if [ "$TIME" -ge "$TIME_OUT" ]; then
    exit 1;
 fi
 
-# To avoid some problem because templates not yet read
-TIME=0
-while [ "$TIME" -lt "$TIME_OUT" ]; do
-  response=$(curl --write-out '%{http_code}' --silent --output /dev/null -u admin:password -vk --key config/org.onap.clamp.keyfile https://localhost:8443/restservices/clds/v1/cldsTempate/template-names); echo $response
+sleep 30
 
-  if [ "$response" == "200" ]; then
-    echo Templates well available
-    break;
-  fi
-
-  echo Sleep: $INTERVAL seconds before testing if templates available. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
-  sleep $INTERVAL
-  TIME=$(($TIME+$INTERVAL))
-done
-
-if [ "$TIME" -ge "$TIME_OUT" ]; then
-   echo TIME OUT: Templates not available in $TIME_OUT seconds... Could cause problems for tests...
-   exit 1;
-fi
index ce4c8df..be63f22 100644 (file)
@@ -19,29 +19,3 @@ Get Requests health check ok
     Create the sessions
     ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/healthcheck
     Should Be Equal As Strings  ${resp.status_code}     200
-
-Get Requests verify test template found
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/cldsTempate/template-names
-    Should Be Equal As Strings  ${resp.status_code}     200
-    Should Contain Match     ${resp}      *templateHolmes1*
-    Should Contain Match     ${resp}      *templateHolmes2*
-    Should Not Contain Match     ${resp}      *templateHolmes99*
-
-Put Requests to add Close Loop ClHolmes1
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createClHolmes1.json
-    &{headers}=  Create Dictionary      Content-Type=application/json
-    ${resp}=    Put Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClHolmes1     data=${data}   headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Put Requests to add Close Loop ClHolmes2
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createClHolmes2.json
-    &{headers}=  Create Dictionary      Content-Type=application/json
-    ${resp}=    Put Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClHolmes2     data=${data}   headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Get Requests verify CL1 found
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model-names
-    Should Be Equal As Strings  ${resp.status_code}     200
-    Should Contain Match     ${resp}      *ClHolmes1*
-    Should Contain Match     ${resp}      *ClHolmes2*
-    Should Not Contain Match     ${resp}      *ClHolmes99*
diff --git a/tests/clamp/APIs/02__Create_CL_TCA.robot b/tests/clamp/APIs/02__Create_CL_TCA.robot
deleted file mode 100644 (file)
index 15ab4b1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-*** Settings ***
-Library     Collections
-Library     RequestsLibrary
-Library     OperatingSystem
-Library     json
-
-*** Variables ***
-${login}                     admin
-${passw}                     password
-
-*** Test Cases ***
-Get Requests health check ok
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/healthcheck
-    Should Be Equal As Strings  ${resp.status_code}     200
-
-Get Requests verify test template found
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/cldsTempate/template-names
-    Should Be Equal As Strings  ${resp.status_code}     200
-    Should Contain Match     ${resp}      *templateTCA1*
-    Should Contain Match     ${resp}      *CA2*
-    Should Not Contain Match     ${resp}      *templateTCA99*
-
-Put Requests to add Close Loop ClHolmes1
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createClTCA1.json
-    &{headers}=  Create Dictionary      Content-Type=application/json
-    ${resp}=    Put Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClTCA1    data=${data}   headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Put Requests to add Close Loop ClHolmes2
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createClTCA2.json
-    &{headers}=  Create Dictionary      Content-Type=application/json
-    ${resp}=    Put Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClTCA2     data=${data}   headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Get Requests verify CL1 found
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model-names
-    Should Be Equal As Strings  ${resp.status_code}     200
-    Should Contain Match     ${resp}      *ClTCA1*
-    Should Contain Match     ${resp}      *ClTCA2*
-    Should Not Contain Match     ${resp}      *ClTCA99*
diff --git a/tests/clamp/APIs/03__VariousApis.robot b/tests/clamp/APIs/03__VariousApis.robot
deleted file mode 100644 (file)
index f327283..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-*** Settings ***
-Library     Collections
-Library     RequestsLibrary
-Library     OperatingSystem
-Library     json
-
-*** Variables ***
-${login}                     admin
-${passw}                     password
-
-*** Test Cases ***
-Get Clamp properties
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/cldsInfo
-    Dictionary Should Contain Key    ${resp.json()}   userName
-    Dictionary Should Contain Key    ${resp.json()}   permissionReadCl
-
-Get Clamp Info
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/cldsInfo
-    Dictionary Should Contain Key    ${resp.json()}   userName
-    Dictionary Should Contain Key    ${resp.json()}   cldsVersion
-
-Get model bpmn by name
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model/bpmn/ClHolmes1
-    Should Contain Match    ${resp}   *StartEvent_*
-    Should Contain Match    ${resp}   *VesCollector_*
-    Should Contain Match    ${resp}   *Holmes_*
-    Should Contain Match    ${resp}   *Policy_*
-    Should Contain Match    ${resp}   *EndEvent_*
-
-Get model names
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model-names
-    Should Contain Match    ${resp}   *ClHolmes1*
-    Should Contain Match    ${resp}   *ClHolmes2*
-    Should Contain Match    ${resp}   *ClTCA1*
-    Should Contain Match    ${resp}   *ClTCA2*
-    Should Not Contain Match    ${resp}   *ClHolmes99*
-    Should Not Contain Match    ${resp}   *ClTCA99*
diff --git a/tests/clamp/APIs/04__Verify_API_Models.robot b/tests/clamp/APIs/04__Verify_API_Models.robot
deleted file mode 100644 (file)
index 9a29a91..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-*** Settings ***
-Library     Collections
-Library     RequestsLibrary
-Library     OperatingSystem
-Library     json
-
-*** Variables ***
-${login}                     admin
-${passw}                     password
-
-*** Test Cases ***
-Verify HolmesModel1
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClHolmes1
-    Should Contain Match    ${resp}   *plateHolmes1*
-    Should Contain Match    ${resp}   *DC1*
-    Should Contain Match    ${resp}   *DC2*
-    Should Contain Match    ${resp}   *Policy1*
-    Should Contain Match    ${resp}   *vnfRecipe*
-    Should Contain Match    ${resp}   *180*
-    Should Contain Match    ${resp}   *345*
-    Should Contain Match    ${resp}   *Config Policy name1*
-
-Verify HolmesModel2
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClHolmes2
-    Should Contain Match    ${resp}   *plateHolmes2*
-    Should Contain Match    ${resp}   *DC2*
-    Should Contain Match    ${resp}   *DC3*
-    Should Contain Match    ${resp}   *Policy2*
-    Should Contain Match    ${resp}   *vnfRecipe*
-    Should Contain Match    ${resp}   *migrate*
-    Should Contain Match    ${resp}   *360*
-    Should Contain Match    ${resp}   *345*
-    Should Contain Match    ${resp}   *Config Policy Name2*
-
-Verify TCAModel1
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClTCA1
-    Should Contain Match    ${resp}   *plateTCA1*
-    Should Contain Match    ${resp}   *enbRecipe*
-    Should Contain Match    ${resp}   *DC1*
-    Should Contain Match    ${resp}   *DC2*
-    Should Contain Match    ${resp}   *Policy3*
-    Should Contain Match    ${resp}   *345*
-    Should Contain Match    ${resp}   *200*
-    Should Contain Match    ${resp}   *ONSET*
-
-Verify TCAModel2
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model/ClTCA2
-    Should Contain Match    ${resp}   *lateTCA2*
-    Should Contain Match    ${resp}   *enbRecipe*
-    Should Contain Match    ${resp}   *DC1*
-    Should Contain Match    ${resp}   *DC2*
-    Should Contain Match    ${resp}   *DC3*
-    Should Contain Match    ${resp}   *Policy4*
-    Should Contain Match    ${resp}   *tcaPol*
-    Should Contain Match    ${resp}   *345*
-    Should Contain Match    ${resp}   *300*
-    Should Contain Match    ${resp}   *VM*
-
-Get model names
-    ${resp}=    Get Request    ${clamp_session}   /restservices/clds/v1/clds/model-names
-    Should Contain Match    ${resp}   *ClHolmes1*
-    Should Contain Match    ${resp}   *ClHolmes2*
-    Should Contain Match    ${resp}   *ClTCA1*
-    Should Contain Match    ${resp}   *ClTCA2*
-    Should Not Contain Match    ${resp}   *ClTCA99*
-    Should Not Contain Match    ${resp}   *ClHolmes99*
-
index 6058008..2b6a578 100644 (file)
@@ -40,7 +40,7 @@ ${HTTP_METHOD_URL}                             http://
 
 ${CONSUL_CONTAINER_HOST}                       consul
 ${CONSUL_CONTAINER_PORT}                       8500
-${CONSUL_VES_HV_CONFIGURATION_KEY_PATH}        /v1/kv/veshv-config
+${CONSUL_VES_HV_CONFIGURATION_KEY_PATH}        /v1/kv/dcae-hv-ves-collector
 
 ${DCAE_APP_CONTAINER_HOST}                     dcae-app-simulator
 ${DCAE_APP_CONTAINER_PORT}                     6063
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/A20181002.0000-1000-0015-1000_5G.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/A20181002.0000-1000-0015-1000_5G.xml
new file mode 100644 (file)
index 0000000..989b241
--- /dev/null
@@ -0,0 +1,678 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
+<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
+    <fileHeader dnPrefix="SubNetwork=NETSimW,MeContext=LTE73dg2ERBS00019" vendorName="Ericsson AB" fileFormatVersion="32.435 V10.0">
+        <fileSender localDn="Dublin"/>
+        <measCollec beginTime="2018-10-02T12:00:00Z"/>
+    </fileHeader>
+    <measData>
+        <managedElement swVersion="r0.1" localDn="Dublin"/>
+        <measInfo measInfoId="ENodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmLicConnectedUsersLevSamp</measType>
+            <measType p="2">pmPagS1Discarded</measType>
+            <measType p="3">pmRrcConnBrEnbMax</measType>
+            <measType p="4">pmLic5MHzSectorCarrierActual</measType>
+            <measType p="5">pmLic5Plus5MHzScTddActual</measType>
+            <measType p="6">pmZtemporary34</measType>
+            <measType p="7">pmLicDlCapLicense</measType>
+            <measType p="8">pmPagS1EdrxReceived</measType>
+            <measType p="9">pmZtemporary35</measType>
+            <measType p="10">pmLicConnectedUsersLevSum</measType>
+            <measType p="11">pmLicDlPrbCapLicense</measType>
+            <measType p="12">pmPagS1RecDistr</measType>
+            <measType p="13">pmRrcConnBrEnbLevSamp</measType>
+            <measType p="14">pmLicUlPrbCapLicense</measType>
+            <measType p="15">pmPagS1EdrxDiscarded</measType>
+            <measType p="16">pmRimAssocMax</measType>
+            <measType p="17">pmLicUlCapLicense</measType>
+            <measType p="18">pmLicConnectedUsersDistr</measType>
+            <measType p="19">pmMoFootprintMax</measType>
+            <measType p="20">pmLic5Plus5MHzScFddActual</measType>
+            <measType p="21">pmLicConnectedUsersTimeCong</measType>
+            <measType p="22">pmPagS1Received</measType>
+            <measType p="23">pmPagS1DiscDistr</measType>
+            <measType p="24">pmRimReportErr</measType>
+            <measType p="25">pmLicConnectedUsersMax</measType>
+            <measType p="26">pmRrcConnBrEnbLevSum</measType>
+            <measType p="27">pmLicConnectedUsersActual</measType>
+            <measType p="28">pmLicConnectedUsersLicense</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1">
+                <r p="1">4</r>
+                <r p="2">6</r>
+                <r p="3">68</r>
+                <r p="4">2759</r>
+                <r p="5">2738</r>
+                <r p="6">50</r>
+                <r p="7">20</r>
+                <r p="8">8</r>
+                <r p="9">45</r>
+                <r p="10">9</r>
+                <r p="11">87</r>
+                <r p="12">86,87,2,6,77,96,75,33,24</r>
+                <r p="13">40</r>
+                <r p="14">90</r>
+                <r p="15">2</r>
+                <r p="16">98</r>
+                <r p="17">75</r>
+                <r p="18">36,30,45,68,74,44,64,83,17,52,36,99,46,59,71,24,49,33,83,75,43,30,74,28</r>
+                <r p="19">83</r>
+                <r p="20">2634</r>
+                <r p="21">10</r>
+                <r p="22">69</r>
+                <r p="23">58,2,40,80,81,47,73,100,91</r>
+                <r p="24">32</r>
+                <r p="25">37</r>
+                <r p="26">16</r>
+                <r p="27">38</r>
+                <r p="28">92</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EUtranCellRelation">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmHoExeSuccLteInterFRedirectCsg</measType>
+            <measType p="2">pmHoPrepSuccNonMob</measType>
+            <measType p="3">pmZtemporary73</measType>
+            <measType p="4">pmHoOscInterF</measType>
+            <measType p="5">pmLbQualifiedUe</measType>
+            <measType p="6">pmHoPrepAttLteInterFRedirectCsg</measType>
+            <measType p="7">pmZtemporary74</measType>
+            <measType p="8">pmLbTpAcceptedUe</measType>
+            <measType p="9">pmHoExeSuccLteInterF</measType>
+            <measType p="10">pmHoExeAttLteIntraFTuneOut</measType>
+            <measType p="11">pmHoPrepSuccLteIntraF</measType>
+            <measType p="12">pmLbTpEvalUe</measType>
+            <measType p="13">pmHoPrepAttLteInterFMbms</measType>
+            <measType p="14">pmHoExeAttLteSpifho</measType>
+            <measType p="15">pmCaRedirectQualifiedUe</measType>
+            <measType p="16">pmHoWrongCellReestIntraF</measType>
+            <measType p="17">pmAtoQualifiedUe</measType>
+            <measType p="18">pmHoWrongCellInterF</measType>
+            <measType p="19">pmHoExeAttLteInterFMbms</measType>
+            <measType p="20">pmHoExeAttLteIntraF</measType>
+            <measType p="21">pmZtemporary76</measType>
+            <measType p="22">pmHoExeAttNonMob</measType>
+            <measType p="23">pmHoExeSuccNonMob</measType>
+            <measType p="24">pmHoTooEarlyHoIntraF</measType>
+            <measType p="25">pmCaRedirectMeasRepUe</measType>
+            <measType p="26">pmHoPrepSuccLteInterFUl</measType>
+            <measType p="27">pmHoExeSuccLteInterFLb</measType>
+            <measType p="28">pmHoExeSuccLteIntraF</measType>
+            <measType p="29">pmHoExeSuccLteInterFMbms</measType>
+            <measType p="30">pmHoWrongCellReestInterF</measType>
+            <measType p="31">pmHoPrepSuccLteInterFRedirectCsg</measType>
+            <measType p="32">pmHoExeAttLteInterFRedirectCsg</measType>
+            <measType p="33">pmSpifhoReportedUe</measType>
+            <measType p="34">pmZtemporary75</measType>
+            <measType p="35">pmZtemporary79</measType>
+            <measType p="36">pmHoPrepAttLteSpifho</measType>
+            <measType p="37">pmAtoMeasRepUe</measType>
+            <measType p="38">pmHoTooEarlyHoInterF</measType>
+            <measType p="39">pmZtemporary78</measType>
+            <measType p="40">pmHoPrepAttLteInterFUl</measType>
+            <measType p="41">pmHoExeOutAttLteInterFQci1</measType>
+            <measType p="42">pmHoExeAttLteInterF</measType>
+            <measType p="43">pmZtemporary36</measType>
+            <measType p="44">pmZtemporary77</measType>
+            <measType p="45">pmHoPrepAttLteInterF</measType>
+            <measType p="46">pmHoPrepSuccLteInterFCaRedirect</measType>
+            <measType p="47">pmHoPrepSuccLteInterFLb</measType>
+            <measType p="48">pmZtemporary72</measType>
+            <measType p="49">pmHoExeSuccLteIntraFTuneOut</measType>
+            <measType p="50">pmHoExecSuccLteInterFCaRedirect</measType>
+            <measType p="51">pmHoExecAttLteInterFCaRedirect</measType>
+            <measType p="52">pmHoPrepAttLteInterFLb</measType>
+            <measType p="53">pmHoOscIntraF</measType>
+            <measType p="54">pmHoPrepAttLteIntraF</measType>
+            <measType p="55">pmHoPrepSuccLteInterF</measType>
+            <measType p="56">pmHoTooLateHoInterF</measType>
+            <measType p="57">pmHoPrepAttLteInterFCaRedirect</measType>
+            <measType p="58">pmHoExeAttLteInterFLb</measType>
+            <measType p="59">pmHoTooLateHoIntraF</measType>
+            <measType p="60">pmHoPrepSuccLteInterFMbms</measType>
+            <measType p="61">pmHoPrepAttNonMob</measType>
+            <measType p="62">pmLbTpUlAcceptedUe</measType>
+            <measType p="63">pmHoExeSuccLteSpifho</measType>
+            <measType p="64">pmHoExeOutSuccLteInterFQci1</measType>
+            <measType p="65">pmLbMeasRepUe</measType>
+            <measType p="66">pmHoPrepSuccLteSpifho</measType>
+            <measType p="67">pmHoWrongCellIntraF</measType>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=3">
+                <r p="1">2</r>
+                <r p="2">5</r>
+                <r p="3">91</r>
+                <r p="4">4</r>
+                <r p="5">37</r>
+                <r p="6">57</r>
+                <r p="7">23</r>
+                <r p="8">57</r>
+                <r p="9">94</r>
+                <r p="10">1</r>
+                <r p="11">88</r>
+                <r p="12">88</r>
+                <r p="13">92</r>
+                <r p="14">54</r>
+                <r p="15">43</r>
+                <r p="16">15</r>
+                <r p="17">97</r>
+                <r p="18">58</r>
+                <r p="19">40</r>
+                <r p="20">57</r>
+                <r p="21">24</r>
+                <r p="22">94</r>
+                <r p="23">92</r>
+                <r p="24">40</r>
+                <r p="25">2</r>
+                <r p="26">52</r>
+                <r p="27">17</r>
+                <r p="28">70</r>
+                <r p="29">40</r>
+                <r p="30">24</r>
+                <r p="31">64</r>
+                <r p="32">49</r>
+                <r p="33">11</r>
+                <r p="34">52</r>
+                <r p="35">74</r>
+                <r p="36">73</r>
+                <r p="37">45</r>
+                <r p="38">26</r>
+                <r p="39">74</r>
+                <r p="40">16</r>
+                <r p="41">80</r>
+                <r p="42">41</r>
+                <r p="43">99</r>
+                <r p="44">36</r>
+                <r p="45">73</r>
+                <r p="46">86</r>
+                <r p="47">92</r>
+                <r p="48">49</r>
+                <r p="49">22</r>
+                <r p="50">36</r>
+                <r p="51">43</r>
+                <r p="52">98</r>
+                <r p="53">74</r>
+                <r p="54">23</r>
+                <r p="55">76</r>
+                <r p="56">78</r>
+                <r p="57">22</r>
+                <r p="58">57</r>
+                <r p="59">37</r>
+                <r p="60">78</r>
+                <r p="61">56</r>
+                <r p="62">21</r>
+                <r p="63">44</r>
+                <r p="64">70</r>
+                <r p="65">6</r>
+                <r p="66">29</r>
+                <r p="67">75</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=4">
+                <r p="1">22</r>
+                <r p="2">59</r>
+                <r p="3">10</r>
+                <r p="4">79</r>
+                <r p="5">17</r>
+                <r p="6">20</r>
+                <r p="7">47</r>
+                <r p="8">92</r>
+                <r p="9">41</r>
+                <r p="10">11</r>
+                <r p="11">6</r>
+                <r p="12">9</r>
+                <r p="13">54</r>
+                <r p="14">37</r>
+                <r p="15">8</r>
+                <r p="16">66</r>
+                <r p="17">96</r>
+                <r p="18">65</r>
+                <r p="19">66</r>
+                <r p="20">91</r>
+                <r p="21">44</r>
+                <r p="22">73</r>
+                <r p="23">86</r>
+                <r p="24">7</r>
+                <r p="25">33</r>
+                <r p="26">54</r>
+                <r p="27">97</r>
+                <r p="28">54</r>
+                <r p="29">39</r>
+                <r p="30">3</r>
+                <r p="31">28</r>
+                <r p="32">20</r>
+                <r p="33">65</r>
+                <r p="34">85</r>
+                <r p="35">59</r>
+                <r p="36">53</r>
+                <r p="37">41</r>
+                <r p="38">9</r>
+                <r p="39">60</r>
+                <r p="40">65</r>
+                <r p="41">55</r>
+                <r p="42">12</r>
+                <r p="43">83</r>
+                <r p="44">44</r>
+                <r p="45">96</r>
+                <r p="46">30</r>
+                <r p="47">16</r>
+                <r p="48">64</r>
+                <r p="49">58</r>
+                <r p="50">53</r>
+                <r p="51">80</r>
+                <r p="52">58</r>
+                <r p="53">66</r>
+                <r p="54">13</r>
+                <r p="55">51</r>
+                <r p="56">44</r>
+                <r p="57">93</r>
+                <r p="58">82</r>
+                <r p="59">38</r>
+                <r p="60">38</r>
+                <r p="61">17</r>
+                <r p="62">26</r>
+                <r p="63">64</r>
+                <r p="64">49</r>
+                <r p="65">63</r>
+                <r p="66">43</r>
+                <r p="67">46</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=5">
+                <r p="1">78</r>
+                <r p="2">37</r>
+                <r p="3">1</r>
+                <r p="4">11</r>
+                <r p="5">85</r>
+                <r p="6">26</r>
+                <r p="7">13</r>
+                <r p="8">1</r>
+                <r p="9">75</r>
+                <r p="10">3</r>
+                <r p="11">92</r>
+                <r p="12">4</r>
+                <r p="13">33</r>
+                <r p="14">93</r>
+                <r p="15">41</r>
+                <r p="16">70</r>
+                <r p="17">14</r>
+                <r p="18">52</r>
+                <r p="19">81</r>
+                <r p="20">82</r>
+                <r p="21">72</r>
+                <r p="22">38</r>
+                <r p="23">26</r>
+                <r p="24">52</r>
+                <r p="25">65</r>
+                <r p="26">93</r>
+                <r p="27">59</r>
+                <r p="28">59</r>
+                <r p="29">70</r>
+                <r p="30">3</r>
+                <r p="31">22</r>
+                <r p="32">40</r>
+                <r p="33">94</r>
+                <r p="34">19</r>
+                <r p="35">92</r>
+                <r p="36">11</r>
+                <r p="37">73</r>
+                <r p="38">51</r>
+                <r p="39">6</r>
+                <r p="40">71</r>
+                <r p="41">43</r>
+                <r p="42">64</r>
+                <r p="43">49</r>
+                <r p="44">88</r>
+                <r p="45">74</r>
+                <r p="46">15</r>
+                <r p="47">67</r>
+                <r p="48">42</r>
+                <r p="49">94</r>
+                <r p="50">16</r>
+                <r p="51">10</r>
+                <r p="52">38</r>
+                <r p="53">18</r>
+                <r p="54">7</r>
+                <r p="55">20</r>
+                <r p="56">99</r>
+                <r p="57">51</r>
+                <r p="58">87</r>
+                <r p="59">69</r>
+                <r p="60">74</r>
+                <r p="61">34</r>
+                <r p="62">74</r>
+                <r p="63">8</r>
+                <r p="64">15</r>
+                <r p="65">66</r>
+                <r p="66">84</r>
+                <r p="67">71</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=6">
+                <r p="1">70</r>
+                <r p="2">3</r>
+                <r p="3">65</r>
+                <r p="4">56</r>
+                <r p="5">36</r>
+                <r p="6">62</r>
+                <r p="7">97</r>
+                <r p="8">82</r>
+                <r p="9">18</r>
+                <r p="10">82</r>
+                <r p="11">41</r>
+                <r p="12">80</r>
+                <r p="13">31</r>
+                <r p="14">84</r>
+                <r p="15">44</r>
+                <r p="16">34</r>
+                <r p="17">78</r>
+                <r p="18">35</r>
+                <r p="19">3</r>
+                <r p="20">76</r>
+                <r p="21">41</r>
+                <r p="22">64</r>
+                <r p="23">51</r>
+                <r p="24">30</r>
+                <r p="25">49</r>
+                <r p="26">56</r>
+                <r p="27">72</r>
+                <r p="28">25</r>
+                <r p="29">43</r>
+                <r p="30">51</r>
+                <r p="31">84</r>
+                <r p="32">99</r>
+                <r p="33">71</r>
+                <r p="34">74</r>
+                <r p="35">28</r>
+                <r p="36">44</r>
+                <r p="37">28</r>
+                <r p="38">47</r>
+                <r p="39">43</r>
+                <r p="40">78</r>
+                <r p="41">56</r>
+                <r p="42">7</r>
+                <r p="43">66</r>
+                <r p="44">65</r>
+                <r p="45">29</r>
+                <r p="46">19</r>
+                <r p="47">47</r>
+                <r p="48">48</r>
+                <r p="49">21</r>
+                <r p="50">25</r>
+                <r p="51">32</r>
+                <r p="52">58</r>
+                <r p="53">64</r>
+                <r p="54">88</r>
+                <r p="55">23</r>
+                <r p="56">22</r>
+                <r p="57">98</r>
+                <r p="58">37</r>
+                <r p="59">80</r>
+                <r p="60">52</r>
+                <r p="61">30</r>
+                <r p="62">27</r>
+                <r p="63">26</r>
+                <r p="64">65</r>
+                <r p="65">71</r>
+                <r p="66">91</r>
+                <r p="67">64</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EUtranFreqRelation">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmCaRedirectMeasuredUe</measType>
+            <measType p="2">pmMbmsInterestIndicationNonServ</measType>
+            <measType p="3">pmMbmsInterestIndication</measType>
+            <measType p="4">pmLbMeasuredUe</measType>
+            <measType p="5">pmMbmsInterestIndicationPCell</measType>
+            <measType p="6">pmMbmsInterestIndicationSCell</measType>
+            <measType p="7">pmSpifhoMeasuredUe</measType>
+            <measType p="8">pmAtoMeasuredUe</measType>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1">
+                <r p="1">14</r>
+                <r p="2">25</r>
+                <r p="3">60</r>
+                <r p="4">63</r>
+                <r p="5">10</r>
+                <r p="6">71</r>
+                <r p="7">16</r>
+                <r p="8">43</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EnergyMeter">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmPowerConsumption</measType>
+            <measType p="2">pmVoltage</measType>
+            <measType p="3">pmConsumedEnergy</measType>
+            <measType p="4">pmConsumedEnergyAccumulated</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,Equipment=1,FieldReplaceableUnit=1,EFuse=1,EnergyMeter=1">
+                <r p="1">44,88,3,61,33,74,92,10,14,83,96,34,13,7,6,92,77,1,69,5,85,19,11,11,12,56,93,94,0,48,96,50,83,20,66,31,90,9,97,11,30,40,89,20,64,84,7,24,76,61,5,39,55,39,31,70,96,58,38,38,39,48,20,55,9,71,49,56,39,59,91,45,2,81,5,31,35,34,8,91,20,65,8,57,89,45,5,83,12,55,84,3,20,54,73,96,45,35,99,52,42,17,92,47,86,87,29,93,34,59,66,50,46,40,84,76,72,90,75,28,98,87,36,44,24,0,57,35,77,34,29,69,90,86,47,61,76,39,22,59,15,4,80,7,99,83,54,25,25,53</r>
+                <r p="2">19,69,83,75,92,1,65,86,80,24,2,89,61,38,47,76,4,80,19,57,76,28,74,20,19,49,10,99,50,98,7,57,2,1,28,97,92,56,39,48,33,72,58,86,77,91,15,14,78,50,10,78,67,5,76,98,50,4,80,38,13,16,63,27,68,72,95,33,98,60,50,26,91,52,61,57,89,23,81,10,54,85,30,25,69,54,86,28,33,67,1,92,61,38,78,24,78,49,65,15,39,71,49,70,2,20,33,39,9,23,94,25,95,40,66,13,59,91,27,27,16,63,81,84,68,84,87,21,86,70,69,55,97,66,35,49,7,70,37,69,51,42,13,5,84,1,63,47,77,71</r>
+                <r p="3">39</r>
+                <r p="4">2460</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EthernetPort">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">ifHCOutBroadcastPkts</measType>
+            <measType p="2">ifHCOutUcastPkts</measType>
+            <measType p="3">ifOutErrors</measType>
+            <measType p="4">ifHCInUcastPkts</measType>
+            <measType p="5">ifInErrors</measType>
+            <measType p="6">ifHCInBroadcastPkts</measType>
+            <measType p="7">ifOutDiscards</measType>
+            <measType p="8">ifInUnknownTags</measType>
+            <measType p="9">ifInOctetRatePercentiles</measType>
+            <measType p="10">ifHCInMulticastPkts</measType>
+            <measType p="11">ifHCOutOctets</measType>
+            <measType p="12">ifHCInOctets</measType>
+            <measType p="13">ifInUnknownProtos</measType>
+            <measType p="14">ifTotalLossOfSignalDuration</measType>
+            <measType p="15">ifInDiscards</measType>
+            <measType p="16">ifHCOutMulticastPkts</measType>
+            <measType p="17">ifMaxLossOfSignalDuration</measType>
+            <measType p="18">ifHCLossOfSignal</measType>
+            <measType p="19">ifOutOctetRatePercentiles</measType>
+            <measType p="20">ifMinLossOfSignalDuration</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,Transport=1,EthernetPort=1">
+                <r p="1">86</r>
+                <r p="2">67</r>
+                <r p="3">14</r>
+                <r p="4">17</r>
+                <r p="5">5</r>
+                <r p="6">6</r>
+                <r p="7">82</r>
+                <r p="8">51</r>
+                <r p="9">72,28,74,73,54,70,74</r>
+                <r p="10">98</r>
+                <r p="11">35</r>
+                <r p="12">96</r>
+                <r p="13">90</r>
+                <r p="14">43</r>
+                <r p="15">24</r>
+                <r p="16">36</r>
+                <r p="17">93</r>
+                <r p="18">21</r>
+                <r p="19">67,33,63,55,85,18,76</r>
+                <r p="20">63</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalENodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmZtemporary222</measType>
+            <measType p="2">pmEranCaPartnerBlock</measType>
+            <measType p="3">pmEenbPktLateDlCa</measType>
+            <measType p="4">pmCaCrntiUnavail</measType>
+            <measType p="5">pmEenbPktLostDlCa</measType>
+            <measType p="6">pmEenbPktDiscDlCa</measType>
+            <measType p="7">pmZtemporary223</measType>
+            <measType p="8">pmEenbPktTransDlCa</measType>
+            <measType p="9">pmEenbPktRecDlCa</measType>
+            <measType p="10">pmZtemporary206</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtraNetwork=1,ExternalENodeBFunction=1">
+                <r p="1">30</r>
+                <r p="2">66</r>
+                <r p="3">51</r>
+                <r p="4">20</r>
+                <r p="5">95</r>
+                <r p="6">69</r>
+                <r p="7">83</r>
+                <r p="8">0</r>
+                <r p="9">100</r>
+                <r p="10">44</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalGeranCell">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmRimAssocAtt</measType>
+            <measType p="2">pmRimAssocAttRetry</measType>
+            <measType p="3">pmRimUpdateReceived</measType>
+            <measType p="4">pmRimAssocRemoved</measType>
+            <measType p="5">pmZtemporary99</measType>
+            <measType p="6">pmZtemporary98</measType>
+            <measType p="7">pmRimAssocTO</measType>
+            <measType p="8">pmRimAssocSucc</measType>
+            <measType p="9">pmRimUpdateAckSent</measType>
+            <measType p="10">pmRimReportErr</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,GeraNetwork=1,ExternalGeranCell=1">
+                <r p="1">89</r>
+                <r p="2">4</r>
+                <r p="3">70</r>
+                <r p="4">48</r>
+                <r p="5">89</r>
+                <r p="6">72</r>
+                <r p="7">38</r>
+                <r p="8">1</r>
+                <r p="9">2</r>
+                <r p="10">10</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalUtranCellFDD">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmRimAssocSucc</measType>
+            <measType p="2">pmRimAssocRemoved</measType>
+            <measType p="3">pmZtemporary100</measType>
+            <measType p="4">pmRimUpdateReceived</measType>
+            <measType p="5">pmRimAssocTO</measType>
+            <measType p="6">pmRimUpdateAckSent</measType>
+            <measType p="7">pmZtemporary101</measType>
+            <measType p="8">pmRimAssocAttRetry</measType>
+            <measType p="9">pmRimReportErr</measType>
+            <measType p="10">pmRimAssocAtt</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,UtraNetwork=1,UtranFrequency=1,ExternalUtranCellFDD=1">
+                <r p="1">62</r>
+                <r p="2">46</r>
+                <r p="3">45</r>
+                <r p="4">68</r>
+                <r p="5">39</r>
+                <r p="6">37</r>
+                <r p="7">81</r>
+                <r p="8">19</r>
+                <r p="9">73</r>
+                <r p="10">49</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="NodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmCapacityOfNodeBUlCeExt</measType>
+            <measType p="2">pmCapacityOfNodeBDlCe</measType>
+            <measType p="3">pmCapacityNodeBLimitUlCe</measType>
+            <measType p="4">pmCapacityNodeBLimitDlCe</measType>
+            <measType p="5">pmCapacityOfNodeBUlCe</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,NodeBFunction=1">
+                <r p="1">51,27,56,76,61,76,24,1,24,52,61,6,85,94,53,97,14,80,60,79,58,88,69,81,98,94,78,70,26,10,61,9,94,46,33,55,51,3,31,67,11,39,33,22,3,9,94</r>
+                <r p="2">14,46,49,30,86,1,55,50,52,41</r>
+                <r p="3">2620</r>
+                <r p="4">2849</r>
+                <r p="5">87,4,90,14,22,9,36,94,60,72</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="NodeBLocalCellGroup">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmSumCapacityUlCe</measType>
+            <measType p="2">pmSetupRejSwLoad</measType>
+            <measType p="3">pmCapacityOfDlCe</measType>
+            <measType p="4">pmCapacityOfUlCeExt</measType>
+            <measType p="5">pmCapacityAllocAttDlCe</measType>
+            <measType p="6">pmNoUlHwLimitEul</measType>
+            <measType p="7">pmCapacityLimitDlCe</measType>
+            <measType p="8">pmCapacityAllocRejDlCe</measType>
+            <measType p="9">pmSetupAttempts</measType>
+            <measType p="10">pmCpcUlActivityFactor</measType>
+            <measType p="11">pmSumCapacityUlCeEulFach</measType>
+            <measType p="12">pmCapacityOfUlCe</measType>
+            <measType p="13">pmCapacityAllocAttUlCe</measType>
+            <measType p="14">pmSamplesCapacityUlCe</measType>
+            <measType p="15">pmCapacityAllocRejUlCe</measType>
+            <measType p="16">pmIsUsersRatio</measType>
+            <measType p="17">pmSamplesCapacityDlCe</measType>
+            <measType p="18">pmSumCapacityUlCeStatic</measType>
+            <measType p="19">pmCapacityUlCeEulFach</measType>
+            <measType p="20">pmHwCePoolEul</measType>
+            <measType p="21">pmSetupFailures</measType>
+            <measType p="22">pmCapacityLimitUlCe</measType>
+            <measType p="23">pmStaticHwCePoolEul</measType>
+            <measType p="24">pmSumCapacityDlCe</measType>
+            <measType p="25">pmSamplesCapacityUlCeStatic</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,NodeBFunction=1,NodeBLocalCellGroup=1">
+                <r p="1">91</r>
+                <r p="2">5</r>
+                <r p="3">61,11,27,47,65,88,67,59,78,51</r>
+                <r p="4">97,81,23,87,89,44,11,68,77,0,72,5,45,11,11,56,11,1,87,86,83,5,36,37,82,25,99,77,5,72,90,23,74,99,53,72,48,13,52,24,90,74,2,15,63,96,27</r>
+                <r p="5">2</r>
+                <r p="6">72</r>
+                <r p="7">2503</r>
+                <r p="8">70</r>
+                <r p="9">24</r>
+                <r p="10">33,38,12,21,91,0,52,84,99,32,40,8,15,39,92,27,41,43,63,41</r>
+                <r p="11">93</r>
+                <r p="12">10,100,48,71,68,59,69,36,64,66</r>
+                <r p="13">14</r>
+                <r p="14">88</r>
+                <r p="15">75</r>
+                <r p="16">18</r>
+                <r p="17">84</r>
+                <r p="18">17</r>
+                <r p="19">90,24,50,62,83,25,7,36,85,70,63</r>
+                <r p="20">6,63,96,1,94,85,82,17,30,46,39,59,11,14,7,60,61,36,1,39,20,82,77,95,50,26,43,81,2,95,84,32,1,70,31,48,11,24,2,43,74,94,46,99,63,47,68,28,62,22,54,91,84,81,46,50,45,32,25,100,14,67,86,62,85,22,80,18,19,21,45,59,41,81,70,65,43,28,93,91,36,20,17,56,9,78,31,98,44,97,45,2,72,85,61,65,21,23,95,36,90,10,19,60,41,96,84,25,96,91,33,73,48,46,92,82,8,80,8,88,21,95,61,86,58,89,48,86,63</r>
+                <r p="21">83</r>
+                <r p="22">2824</r>
+                <r p="23">7,66,20,8,41,18,98,71,57,28,13,53,53,77,70,31,99,62,50,19,63,3,75,43,17,91,30,34,21,62,77,67,90,11,66,11,77,51,27,55,95,66,98,45,67,60,76,42,55,94,17,87,61,8,52,24,71,7,36,5,73,63,59</r>
+                <r p="24">38</r>
+                <r p="25">65</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+    </measData>
+    <fileFooter>
+        <measCollec endTime="2018-10-02T12:15:00Z"/>
+    </fileFooter>
+</measCollecFile>
\ No newline at end of file
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/valid_pm.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/valid_pm.xml
new file mode 100644 (file)
index 0000000..989b241
--- /dev/null
@@ -0,0 +1,678 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
+<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
+    <fileHeader dnPrefix="SubNetwork=NETSimW,MeContext=LTE73dg2ERBS00019" vendorName="Ericsson AB" fileFormatVersion="32.435 V10.0">
+        <fileSender localDn="Dublin"/>
+        <measCollec beginTime="2018-10-02T12:00:00Z"/>
+    </fileHeader>
+    <measData>
+        <managedElement swVersion="r0.1" localDn="Dublin"/>
+        <measInfo measInfoId="ENodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmLicConnectedUsersLevSamp</measType>
+            <measType p="2">pmPagS1Discarded</measType>
+            <measType p="3">pmRrcConnBrEnbMax</measType>
+            <measType p="4">pmLic5MHzSectorCarrierActual</measType>
+            <measType p="5">pmLic5Plus5MHzScTddActual</measType>
+            <measType p="6">pmZtemporary34</measType>
+            <measType p="7">pmLicDlCapLicense</measType>
+            <measType p="8">pmPagS1EdrxReceived</measType>
+            <measType p="9">pmZtemporary35</measType>
+            <measType p="10">pmLicConnectedUsersLevSum</measType>
+            <measType p="11">pmLicDlPrbCapLicense</measType>
+            <measType p="12">pmPagS1RecDistr</measType>
+            <measType p="13">pmRrcConnBrEnbLevSamp</measType>
+            <measType p="14">pmLicUlPrbCapLicense</measType>
+            <measType p="15">pmPagS1EdrxDiscarded</measType>
+            <measType p="16">pmRimAssocMax</measType>
+            <measType p="17">pmLicUlCapLicense</measType>
+            <measType p="18">pmLicConnectedUsersDistr</measType>
+            <measType p="19">pmMoFootprintMax</measType>
+            <measType p="20">pmLic5Plus5MHzScFddActual</measType>
+            <measType p="21">pmLicConnectedUsersTimeCong</measType>
+            <measType p="22">pmPagS1Received</measType>
+            <measType p="23">pmPagS1DiscDistr</measType>
+            <measType p="24">pmRimReportErr</measType>
+            <measType p="25">pmLicConnectedUsersMax</measType>
+            <measType p="26">pmRrcConnBrEnbLevSum</measType>
+            <measType p="27">pmLicConnectedUsersActual</measType>
+            <measType p="28">pmLicConnectedUsersLicense</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1">
+                <r p="1">4</r>
+                <r p="2">6</r>
+                <r p="3">68</r>
+                <r p="4">2759</r>
+                <r p="5">2738</r>
+                <r p="6">50</r>
+                <r p="7">20</r>
+                <r p="8">8</r>
+                <r p="9">45</r>
+                <r p="10">9</r>
+                <r p="11">87</r>
+                <r p="12">86,87,2,6,77,96,75,33,24</r>
+                <r p="13">40</r>
+                <r p="14">90</r>
+                <r p="15">2</r>
+                <r p="16">98</r>
+                <r p="17">75</r>
+                <r p="18">36,30,45,68,74,44,64,83,17,52,36,99,46,59,71,24,49,33,83,75,43,30,74,28</r>
+                <r p="19">83</r>
+                <r p="20">2634</r>
+                <r p="21">10</r>
+                <r p="22">69</r>
+                <r p="23">58,2,40,80,81,47,73,100,91</r>
+                <r p="24">32</r>
+                <r p="25">37</r>
+                <r p="26">16</r>
+                <r p="27">38</r>
+                <r p="28">92</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EUtranCellRelation">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmHoExeSuccLteInterFRedirectCsg</measType>
+            <measType p="2">pmHoPrepSuccNonMob</measType>
+            <measType p="3">pmZtemporary73</measType>
+            <measType p="4">pmHoOscInterF</measType>
+            <measType p="5">pmLbQualifiedUe</measType>
+            <measType p="6">pmHoPrepAttLteInterFRedirectCsg</measType>
+            <measType p="7">pmZtemporary74</measType>
+            <measType p="8">pmLbTpAcceptedUe</measType>
+            <measType p="9">pmHoExeSuccLteInterF</measType>
+            <measType p="10">pmHoExeAttLteIntraFTuneOut</measType>
+            <measType p="11">pmHoPrepSuccLteIntraF</measType>
+            <measType p="12">pmLbTpEvalUe</measType>
+            <measType p="13">pmHoPrepAttLteInterFMbms</measType>
+            <measType p="14">pmHoExeAttLteSpifho</measType>
+            <measType p="15">pmCaRedirectQualifiedUe</measType>
+            <measType p="16">pmHoWrongCellReestIntraF</measType>
+            <measType p="17">pmAtoQualifiedUe</measType>
+            <measType p="18">pmHoWrongCellInterF</measType>
+            <measType p="19">pmHoExeAttLteInterFMbms</measType>
+            <measType p="20">pmHoExeAttLteIntraF</measType>
+            <measType p="21">pmZtemporary76</measType>
+            <measType p="22">pmHoExeAttNonMob</measType>
+            <measType p="23">pmHoExeSuccNonMob</measType>
+            <measType p="24">pmHoTooEarlyHoIntraF</measType>
+            <measType p="25">pmCaRedirectMeasRepUe</measType>
+            <measType p="26">pmHoPrepSuccLteInterFUl</measType>
+            <measType p="27">pmHoExeSuccLteInterFLb</measType>
+            <measType p="28">pmHoExeSuccLteIntraF</measType>
+            <measType p="29">pmHoExeSuccLteInterFMbms</measType>
+            <measType p="30">pmHoWrongCellReestInterF</measType>
+            <measType p="31">pmHoPrepSuccLteInterFRedirectCsg</measType>
+            <measType p="32">pmHoExeAttLteInterFRedirectCsg</measType>
+            <measType p="33">pmSpifhoReportedUe</measType>
+            <measType p="34">pmZtemporary75</measType>
+            <measType p="35">pmZtemporary79</measType>
+            <measType p="36">pmHoPrepAttLteSpifho</measType>
+            <measType p="37">pmAtoMeasRepUe</measType>
+            <measType p="38">pmHoTooEarlyHoInterF</measType>
+            <measType p="39">pmZtemporary78</measType>
+            <measType p="40">pmHoPrepAttLteInterFUl</measType>
+            <measType p="41">pmHoExeOutAttLteInterFQci1</measType>
+            <measType p="42">pmHoExeAttLteInterF</measType>
+            <measType p="43">pmZtemporary36</measType>
+            <measType p="44">pmZtemporary77</measType>
+            <measType p="45">pmHoPrepAttLteInterF</measType>
+            <measType p="46">pmHoPrepSuccLteInterFCaRedirect</measType>
+            <measType p="47">pmHoPrepSuccLteInterFLb</measType>
+            <measType p="48">pmZtemporary72</measType>
+            <measType p="49">pmHoExeSuccLteIntraFTuneOut</measType>
+            <measType p="50">pmHoExecSuccLteInterFCaRedirect</measType>
+            <measType p="51">pmHoExecAttLteInterFCaRedirect</measType>
+            <measType p="52">pmHoPrepAttLteInterFLb</measType>
+            <measType p="53">pmHoOscIntraF</measType>
+            <measType p="54">pmHoPrepAttLteIntraF</measType>
+            <measType p="55">pmHoPrepSuccLteInterF</measType>
+            <measType p="56">pmHoTooLateHoInterF</measType>
+            <measType p="57">pmHoPrepAttLteInterFCaRedirect</measType>
+            <measType p="58">pmHoExeAttLteInterFLb</measType>
+            <measType p="59">pmHoTooLateHoIntraF</measType>
+            <measType p="60">pmHoPrepSuccLteInterFMbms</measType>
+            <measType p="61">pmHoPrepAttNonMob</measType>
+            <measType p="62">pmLbTpUlAcceptedUe</measType>
+            <measType p="63">pmHoExeSuccLteSpifho</measType>
+            <measType p="64">pmHoExeOutSuccLteInterFQci1</measType>
+            <measType p="65">pmLbMeasRepUe</measType>
+            <measType p="66">pmHoPrepSuccLteSpifho</measType>
+            <measType p="67">pmHoWrongCellIntraF</measType>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=3">
+                <r p="1">2</r>
+                <r p="2">5</r>
+                <r p="3">91</r>
+                <r p="4">4</r>
+                <r p="5">37</r>
+                <r p="6">57</r>
+                <r p="7">23</r>
+                <r p="8">57</r>
+                <r p="9">94</r>
+                <r p="10">1</r>
+                <r p="11">88</r>
+                <r p="12">88</r>
+                <r p="13">92</r>
+                <r p="14">54</r>
+                <r p="15">43</r>
+                <r p="16">15</r>
+                <r p="17">97</r>
+                <r p="18">58</r>
+                <r p="19">40</r>
+                <r p="20">57</r>
+                <r p="21">24</r>
+                <r p="22">94</r>
+                <r p="23">92</r>
+                <r p="24">40</r>
+                <r p="25">2</r>
+                <r p="26">52</r>
+                <r p="27">17</r>
+                <r p="28">70</r>
+                <r p="29">40</r>
+                <r p="30">24</r>
+                <r p="31">64</r>
+                <r p="32">49</r>
+                <r p="33">11</r>
+                <r p="34">52</r>
+                <r p="35">74</r>
+                <r p="36">73</r>
+                <r p="37">45</r>
+                <r p="38">26</r>
+                <r p="39">74</r>
+                <r p="40">16</r>
+                <r p="41">80</r>
+                <r p="42">41</r>
+                <r p="43">99</r>
+                <r p="44">36</r>
+                <r p="45">73</r>
+                <r p="46">86</r>
+                <r p="47">92</r>
+                <r p="48">49</r>
+                <r p="49">22</r>
+                <r p="50">36</r>
+                <r p="51">43</r>
+                <r p="52">98</r>
+                <r p="53">74</r>
+                <r p="54">23</r>
+                <r p="55">76</r>
+                <r p="56">78</r>
+                <r p="57">22</r>
+                <r p="58">57</r>
+                <r p="59">37</r>
+                <r p="60">78</r>
+                <r p="61">56</r>
+                <r p="62">21</r>
+                <r p="63">44</r>
+                <r p="64">70</r>
+                <r p="65">6</r>
+                <r p="66">29</r>
+                <r p="67">75</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=4">
+                <r p="1">22</r>
+                <r p="2">59</r>
+                <r p="3">10</r>
+                <r p="4">79</r>
+                <r p="5">17</r>
+                <r p="6">20</r>
+                <r p="7">47</r>
+                <r p="8">92</r>
+                <r p="9">41</r>
+                <r p="10">11</r>
+                <r p="11">6</r>
+                <r p="12">9</r>
+                <r p="13">54</r>
+                <r p="14">37</r>
+                <r p="15">8</r>
+                <r p="16">66</r>
+                <r p="17">96</r>
+                <r p="18">65</r>
+                <r p="19">66</r>
+                <r p="20">91</r>
+                <r p="21">44</r>
+                <r p="22">73</r>
+                <r p="23">86</r>
+                <r p="24">7</r>
+                <r p="25">33</r>
+                <r p="26">54</r>
+                <r p="27">97</r>
+                <r p="28">54</r>
+                <r p="29">39</r>
+                <r p="30">3</r>
+                <r p="31">28</r>
+                <r p="32">20</r>
+                <r p="33">65</r>
+                <r p="34">85</r>
+                <r p="35">59</r>
+                <r p="36">53</r>
+                <r p="37">41</r>
+                <r p="38">9</r>
+                <r p="39">60</r>
+                <r p="40">65</r>
+                <r p="41">55</r>
+                <r p="42">12</r>
+                <r p="43">83</r>
+                <r p="44">44</r>
+                <r p="45">96</r>
+                <r p="46">30</r>
+                <r p="47">16</r>
+                <r p="48">64</r>
+                <r p="49">58</r>
+                <r p="50">53</r>
+                <r p="51">80</r>
+                <r p="52">58</r>
+                <r p="53">66</r>
+                <r p="54">13</r>
+                <r p="55">51</r>
+                <r p="56">44</r>
+                <r p="57">93</r>
+                <r p="58">82</r>
+                <r p="59">38</r>
+                <r p="60">38</r>
+                <r p="61">17</r>
+                <r p="62">26</r>
+                <r p="63">64</r>
+                <r p="64">49</r>
+                <r p="65">63</r>
+                <r p="66">43</r>
+                <r p="67">46</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=5">
+                <r p="1">78</r>
+                <r p="2">37</r>
+                <r p="3">1</r>
+                <r p="4">11</r>
+                <r p="5">85</r>
+                <r p="6">26</r>
+                <r p="7">13</r>
+                <r p="8">1</r>
+                <r p="9">75</r>
+                <r p="10">3</r>
+                <r p="11">92</r>
+                <r p="12">4</r>
+                <r p="13">33</r>
+                <r p="14">93</r>
+                <r p="15">41</r>
+                <r p="16">70</r>
+                <r p="17">14</r>
+                <r p="18">52</r>
+                <r p="19">81</r>
+                <r p="20">82</r>
+                <r p="21">72</r>
+                <r p="22">38</r>
+                <r p="23">26</r>
+                <r p="24">52</r>
+                <r p="25">65</r>
+                <r p="26">93</r>
+                <r p="27">59</r>
+                <r p="28">59</r>
+                <r p="29">70</r>
+                <r p="30">3</r>
+                <r p="31">22</r>
+                <r p="32">40</r>
+                <r p="33">94</r>
+                <r p="34">19</r>
+                <r p="35">92</r>
+                <r p="36">11</r>
+                <r p="37">73</r>
+                <r p="38">51</r>
+                <r p="39">6</r>
+                <r p="40">71</r>
+                <r p="41">43</r>
+                <r p="42">64</r>
+                <r p="43">49</r>
+                <r p="44">88</r>
+                <r p="45">74</r>
+                <r p="46">15</r>
+                <r p="47">67</r>
+                <r p="48">42</r>
+                <r p="49">94</r>
+                <r p="50">16</r>
+                <r p="51">10</r>
+                <r p="52">38</r>
+                <r p="53">18</r>
+                <r p="54">7</r>
+                <r p="55">20</r>
+                <r p="56">99</r>
+                <r p="57">51</r>
+                <r p="58">87</r>
+                <r p="59">69</r>
+                <r p="60">74</r>
+                <r p="61">34</r>
+                <r p="62">74</r>
+                <r p="63">8</r>
+                <r p="64">15</r>
+                <r p="65">66</r>
+                <r p="66">84</r>
+                <r p="67">71</r>
+                <suspect>false</suspect>
+            </measValue>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1,EUtranCellRelation=6">
+                <r p="1">70</r>
+                <r p="2">3</r>
+                <r p="3">65</r>
+                <r p="4">56</r>
+                <r p="5">36</r>
+                <r p="6">62</r>
+                <r p="7">97</r>
+                <r p="8">82</r>
+                <r p="9">18</r>
+                <r p="10">82</r>
+                <r p="11">41</r>
+                <r p="12">80</r>
+                <r p="13">31</r>
+                <r p="14">84</r>
+                <r p="15">44</r>
+                <r p="16">34</r>
+                <r p="17">78</r>
+                <r p="18">35</r>
+                <r p="19">3</r>
+                <r p="20">76</r>
+                <r p="21">41</r>
+                <r p="22">64</r>
+                <r p="23">51</r>
+                <r p="24">30</r>
+                <r p="25">49</r>
+                <r p="26">56</r>
+                <r p="27">72</r>
+                <r p="28">25</r>
+                <r p="29">43</r>
+                <r p="30">51</r>
+                <r p="31">84</r>
+                <r p="32">99</r>
+                <r p="33">71</r>
+                <r p="34">74</r>
+                <r p="35">28</r>
+                <r p="36">44</r>
+                <r p="37">28</r>
+                <r p="38">47</r>
+                <r p="39">43</r>
+                <r p="40">78</r>
+                <r p="41">56</r>
+                <r p="42">7</r>
+                <r p="43">66</r>
+                <r p="44">65</r>
+                <r p="45">29</r>
+                <r p="46">19</r>
+                <r p="47">47</r>
+                <r p="48">48</r>
+                <r p="49">21</r>
+                <r p="50">25</r>
+                <r p="51">32</r>
+                <r p="52">58</r>
+                <r p="53">64</r>
+                <r p="54">88</r>
+                <r p="55">23</r>
+                <r p="56">22</r>
+                <r p="57">98</r>
+                <r p="58">37</r>
+                <r p="59">80</r>
+                <r p="60">52</r>
+                <r p="61">30</r>
+                <r p="62">27</r>
+                <r p="63">26</r>
+                <r p="64">65</r>
+                <r p="65">71</r>
+                <r p="66">91</r>
+                <r p="67">64</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EUtranFreqRelation">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmCaRedirectMeasuredUe</measType>
+            <measType p="2">pmMbmsInterestIndicationNonServ</measType>
+            <measType p="3">pmMbmsInterestIndication</measType>
+            <measType p="4">pmLbMeasuredUe</measType>
+            <measType p="5">pmMbmsInterestIndicationPCell</measType>
+            <measType p="6">pmMbmsInterestIndicationSCell</measType>
+            <measType p="7">pmSpifhoMeasuredUe</measType>
+            <measType p="8">pmAtoMeasuredUe</measType>
+<measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtranCellFDD=LTE73dg2ERBS00019-1,EUtranFreqRelation=1">
+                <r p="1">14</r>
+                <r p="2">25</r>
+                <r p="3">60</r>
+                <r p="4">63</r>
+                <r p="5">10</r>
+                <r p="6">71</r>
+                <r p="7">16</r>
+                <r p="8">43</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EnergyMeter">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmPowerConsumption</measType>
+            <measType p="2">pmVoltage</measType>
+            <measType p="3">pmConsumedEnergy</measType>
+            <measType p="4">pmConsumedEnergyAccumulated</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,Equipment=1,FieldReplaceableUnit=1,EFuse=1,EnergyMeter=1">
+                <r p="1">44,88,3,61,33,74,92,10,14,83,96,34,13,7,6,92,77,1,69,5,85,19,11,11,12,56,93,94,0,48,96,50,83,20,66,31,90,9,97,11,30,40,89,20,64,84,7,24,76,61,5,39,55,39,31,70,96,58,38,38,39,48,20,55,9,71,49,56,39,59,91,45,2,81,5,31,35,34,8,91,20,65,8,57,89,45,5,83,12,55,84,3,20,54,73,96,45,35,99,52,42,17,92,47,86,87,29,93,34,59,66,50,46,40,84,76,72,90,75,28,98,87,36,44,24,0,57,35,77,34,29,69,90,86,47,61,76,39,22,59,15,4,80,7,99,83,54,25,25,53</r>
+                <r p="2">19,69,83,75,92,1,65,86,80,24,2,89,61,38,47,76,4,80,19,57,76,28,74,20,19,49,10,99,50,98,7,57,2,1,28,97,92,56,39,48,33,72,58,86,77,91,15,14,78,50,10,78,67,5,76,98,50,4,80,38,13,16,63,27,68,72,95,33,98,60,50,26,91,52,61,57,89,23,81,10,54,85,30,25,69,54,86,28,33,67,1,92,61,38,78,24,78,49,65,15,39,71,49,70,2,20,33,39,9,23,94,25,95,40,66,13,59,91,27,27,16,63,81,84,68,84,87,21,86,70,69,55,97,66,35,49,7,70,37,69,51,42,13,5,84,1,63,47,77,71</r>
+                <r p="3">39</r>
+                <r p="4">2460</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="EthernetPort">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">ifHCOutBroadcastPkts</measType>
+            <measType p="2">ifHCOutUcastPkts</measType>
+            <measType p="3">ifOutErrors</measType>
+            <measType p="4">ifHCInUcastPkts</measType>
+            <measType p="5">ifInErrors</measType>
+            <measType p="6">ifHCInBroadcastPkts</measType>
+            <measType p="7">ifOutDiscards</measType>
+            <measType p="8">ifInUnknownTags</measType>
+            <measType p="9">ifInOctetRatePercentiles</measType>
+            <measType p="10">ifHCInMulticastPkts</measType>
+            <measType p="11">ifHCOutOctets</measType>
+            <measType p="12">ifHCInOctets</measType>
+            <measType p="13">ifInUnknownProtos</measType>
+            <measType p="14">ifTotalLossOfSignalDuration</measType>
+            <measType p="15">ifInDiscards</measType>
+            <measType p="16">ifHCOutMulticastPkts</measType>
+            <measType p="17">ifMaxLossOfSignalDuration</measType>
+            <measType p="18">ifHCLossOfSignal</measType>
+            <measType p="19">ifOutOctetRatePercentiles</measType>
+            <measType p="20">ifMinLossOfSignalDuration</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,Transport=1,EthernetPort=1">
+                <r p="1">86</r>
+                <r p="2">67</r>
+                <r p="3">14</r>
+                <r p="4">17</r>
+                <r p="5">5</r>
+                <r p="6">6</r>
+                <r p="7">82</r>
+                <r p="8">51</r>
+                <r p="9">72,28,74,73,54,70,74</r>
+                <r p="10">98</r>
+                <r p="11">35</r>
+                <r p="12">96</r>
+                <r p="13">90</r>
+                <r p="14">43</r>
+                <r p="15">24</r>
+                <r p="16">36</r>
+                <r p="17">93</r>
+                <r p="18">21</r>
+                <r p="19">67,33,63,55,85,18,76</r>
+                <r p="20">63</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalENodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmZtemporary222</measType>
+            <measType p="2">pmEranCaPartnerBlock</measType>
+            <measType p="3">pmEenbPktLateDlCa</measType>
+            <measType p="4">pmCaCrntiUnavail</measType>
+            <measType p="5">pmEenbPktLostDlCa</measType>
+            <measType p="6">pmEenbPktDiscDlCa</measType>
+            <measType p="7">pmZtemporary223</measType>
+            <measType p="8">pmEenbPktTransDlCa</measType>
+            <measType p="9">pmEenbPktRecDlCa</measType>
+            <measType p="10">pmZtemporary206</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,EUtraNetwork=1,ExternalENodeBFunction=1">
+                <r p="1">30</r>
+                <r p="2">66</r>
+                <r p="3">51</r>
+                <r p="4">20</r>
+                <r p="5">95</r>
+                <r p="6">69</r>
+                <r p="7">83</r>
+                <r p="8">0</r>
+                <r p="9">100</r>
+                <r p="10">44</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalGeranCell">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmRimAssocAtt</measType>
+            <measType p="2">pmRimAssocAttRetry</measType>
+            <measType p="3">pmRimUpdateReceived</measType>
+            <measType p="4">pmRimAssocRemoved</measType>
+            <measType p="5">pmZtemporary99</measType>
+            <measType p="6">pmZtemporary98</measType>
+            <measType p="7">pmRimAssocTO</measType>
+            <measType p="8">pmRimAssocSucc</measType>
+            <measType p="9">pmRimUpdateAckSent</measType>
+            <measType p="10">pmRimReportErr</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,GeraNetwork=1,ExternalGeranCell=1">
+                <r p="1">89</r>
+                <r p="2">4</r>
+                <r p="3">70</r>
+                <r p="4">48</r>
+                <r p="5">89</r>
+                <r p="6">72</r>
+                <r p="7">38</r>
+                <r p="8">1</r>
+                <r p="9">2</r>
+                <r p="10">10</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="ExternalUtranCellFDD">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmRimAssocSucc</measType>
+            <measType p="2">pmRimAssocRemoved</measType>
+            <measType p="3">pmZtemporary100</measType>
+            <measType p="4">pmRimUpdateReceived</measType>
+            <measType p="5">pmRimAssocTO</measType>
+            <measType p="6">pmRimUpdateAckSent</measType>
+            <measType p="7">pmZtemporary101</measType>
+            <measType p="8">pmRimAssocAttRetry</measType>
+            <measType p="9">pmRimReportErr</measType>
+            <measType p="10">pmRimAssocAtt</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,ENodeBFunction=1,UtraNetwork=1,UtranFrequency=1,ExternalUtranCellFDD=1">
+                <r p="1">62</r>
+                <r p="2">46</r>
+                <r p="3">45</r>
+                <r p="4">68</r>
+                <r p="5">39</r>
+                <r p="6">37</r>
+                <r p="7">81</r>
+                <r p="8">19</r>
+                <r p="9">73</r>
+                <r p="10">49</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="NodeBFunction">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmCapacityOfNodeBUlCeExt</measType>
+            <measType p="2">pmCapacityOfNodeBDlCe</measType>
+            <measType p="3">pmCapacityNodeBLimitUlCe</measType>
+            <measType p="4">pmCapacityNodeBLimitDlCe</measType>
+            <measType p="5">pmCapacityOfNodeBUlCe</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,NodeBFunction=1">
+                <r p="1">51,27,56,76,61,76,24,1,24,52,61,6,85,94,53,97,14,80,60,79,58,88,69,81,98,94,78,70,26,10,61,9,94,46,33,55,51,3,31,67,11,39,33,22,3,9,94</r>
+                <r p="2">14,46,49,30,86,1,55,50,52,41</r>
+                <r p="3">2620</r>
+                <r p="4">2849</r>
+                <r p="5">87,4,90,14,22,9,36,94,60,72</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+        <measInfo measInfoId="NodeBLocalCellGroup">
+            <job jobId="1_USERDEF.ALL_COUNTERS.Profile_1.Continuous_Y.MEASJOB"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">pmSumCapacityUlCe</measType>
+            <measType p="2">pmSetupRejSwLoad</measType>
+            <measType p="3">pmCapacityOfDlCe</measType>
+            <measType p="4">pmCapacityOfUlCeExt</measType>
+            <measType p="5">pmCapacityAllocAttDlCe</measType>
+            <measType p="6">pmNoUlHwLimitEul</measType>
+            <measType p="7">pmCapacityLimitDlCe</measType>
+            <measType p="8">pmCapacityAllocRejDlCe</measType>
+            <measType p="9">pmSetupAttempts</measType>
+            <measType p="10">pmCpcUlActivityFactor</measType>
+            <measType p="11">pmSumCapacityUlCeEulFach</measType>
+            <measType p="12">pmCapacityOfUlCe</measType>
+            <measType p="13">pmCapacityAllocAttUlCe</measType>
+            <measType p="14">pmSamplesCapacityUlCe</measType>
+            <measType p="15">pmCapacityAllocRejUlCe</measType>
+            <measType p="16">pmIsUsersRatio</measType>
+            <measType p="17">pmSamplesCapacityDlCe</measType>
+            <measType p="18">pmSumCapacityUlCeStatic</measType>
+            <measType p="19">pmCapacityUlCeEulFach</measType>
+            <measType p="20">pmHwCePoolEul</measType>
+            <measType p="21">pmSetupFailures</measType>
+            <measType p="22">pmCapacityLimitUlCe</measType>
+            <measType p="23">pmStaticHwCePoolEul</measType>
+            <measType p="24">pmSumCapacityDlCe</measType>
+            <measType p="25">pmSamplesCapacityUlCeStatic</measType>
+            <measValue measObjLdn="ManagedElement=LTE73dg2ERBS00019,NodeBFunction=1,NodeBLocalCellGroup=1">
+                <r p="1">91</r>
+                <r p="2">5</r>
+                <r p="3">61,11,27,47,65,88,67,59,78,51</r>
+                <r p="4">97,81,23,87,89,44,11,68,77,0,72,5,45,11,11,56,11,1,87,86,83,5,36,37,82,25,99,77,5,72,90,23,74,99,53,72,48,13,52,24,90,74,2,15,63,96,27</r>
+                <r p="5">2</r>
+                <r p="6">72</r>
+                <r p="7">2503</r>
+                <r p="8">70</r>
+                <r p="9">24</r>
+                <r p="10">33,38,12,21,91,0,52,84,99,32,40,8,15,39,92,27,41,43,63,41</r>
+                <r p="11">93</r>
+                <r p="12">10,100,48,71,68,59,69,36,64,66</r>
+                <r p="13">14</r>
+                <r p="14">88</r>
+                <r p="15">75</r>
+                <r p="16">18</r>
+                <r p="17">84</r>
+                <r p="18">17</r>
+                <r p="19">90,24,50,62,83,25,7,36,85,70,63</r>
+                <r p="20">6,63,96,1,94,85,82,17,30,46,39,59,11,14,7,60,61,36,1,39,20,82,77,95,50,26,43,81,2,95,84,32,1,70,31,48,11,24,2,43,74,94,46,99,63,47,68,28,62,22,54,91,84,81,46,50,45,32,25,100,14,67,86,62,85,22,80,18,19,21,45,59,41,81,70,65,43,28,93,91,36,20,17,56,9,78,31,98,44,97,45,2,72,85,61,65,21,23,95,36,90,10,19,60,41,96,84,25,96,91,33,73,48,46,92,82,8,80,8,88,21,95,61,86,58,89,48,86,63</r>
+                <r p="21">83</r>
+                <r p="22">2824</r>
+                <r p="23">7,66,20,8,41,18,98,71,57,28,13,53,53,77,70,31,99,62,50,19,63,3,75,43,17,91,30,34,21,62,77,67,90,11,66,11,77,51,27,55,95,66,98,45,67,60,76,42,55,94,17,87,61,8,52,24,71,7,36,5,73,63,59</r>
+                <r p="24">38</r>
+                <r p="25">65</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+    </measData>
+    <fileFooter>
+        <measCollec endTime="2018-10-02T12:15:00Z"/>
+    </fileFooter>
+</measCollecFile>
\ No newline at end of file
index 363c95c..bc32673 100644 (file)
@@ -20,96 +20,99 @@ ${NO_MEASDATA_PATH}                      %{WORKSPACE}/tests/dcaegen2-pmmapper/pm
 ${MEASD_RESULT_PATH}                     %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/meas_result.xml
 ${VALID_METADATA_PATH}                   %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json
 ${CLI_EXEC_CLI_PM_LOG}                   docker exec pmmapper /bin/sh -c "tail -5 /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log"
+${PUBLISH_NODE_URL}                      https://${DR_NODE_IP}:8443/publish/1/pm.xml
+${PM_DATA_FILE_PATH}                     %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A20181002.0000-1000-0015-1000_5G.xml
+${PUBLISH_CONTENT_TYPE}                  application/octet-stream
+
 
 *** Test Cases ***
 
 Verify PM Mapper Receive Configuraton From Config Binding Service
     [Tags]                          PM_MAPPER_01
     [Documentation]                 Verify 3gpp pm mapper successfully receive config data from CBS
-    ${cli_cmd_output}=              Run Process                     ${CLI_EXEC_CLI_CONFIG}                     shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}            0
-    Should Contain                  ${cli_cmd_output.stdout}        Received pm-mapper configuration
+    CheckLog                        ${CLI_EXEC_CLI_CONFIG}           Received pm-mapper configuration
 
 Verify 3GPP PM Mapper Subscribes to Data Router
     [Tags]                          PM_MAPPER_02
     [Documentation]                 Verify 3gpp pm mapper subscribes to data router
-    ${cli_cmd_output}=              Run Process                     ${CLI_EXEC_CLI_SUBS}                     shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}            0
-    Should Contain                  ${cli_cmd_output.stdout}        3gpppmmapper
+    CheckLog                        ${CLI_EXEC_CLI_SUBS}             3gpppmmapper
+    CheckLog                        ${CLI_EXEC_CLI_SUBS}             "privilegedSubscriber":true
+
 
 Verify Health Check returns 200 when a REST GET request to healthcheck url
     [Tags]                          PM_MAPPER_03
     [Documentation]                 Verify Health Check returns 200 when a REST GET request to healthcheck url
     [Timeout]                       1 minute
     ${resp}=                        Get Request                      mapper_session  ${HEALTHCHECK_ENDPOINT}
-    Should Be Equal As Strings      ${resp.status_code}              200
-
+    VerifyResponse                  ${resp.status_code}              200
 
 Verify 3GPP PM Mapper responds appropriately when no metadata is provided
-    [Tags]                          PM_MAPPER_10
+    [Tags]                          PM_MAPPER_04
     [Documentation]                 Verify 3GPP PM Mapper responds 400 with the message "Missing Metadata." when no metadata is provided
     [Timeout]                       1 minute
     ${headers}=                     Create Dictionary               X-ONAP-RequestID=1  Content-Type=application/xml
     ${resp}=                        Put Request                     mapper_session  ${DELIVERY_ENDPOINT}/filename    data='${EMPTY}'    headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}             400
-    Should Be Equal As Strings      ${resp.content}                 Missing Metadata.
+    VerifyResponse                  ${resp.status_code}             400
+    VerifyResponse                  ${resp.content}                 Missing Metadata.
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}          RequestID=1
 
 Verify 3GPP PM Mapper responds appropriately when invalid metadata is provided
-    [Tags]                          PM_MAPPER_11
+    [Tags]                          PM_MAPPER_05
     [Documentation]                 Verify 3GPP PM Mapper responds 400 with the message "Malformed Metadata." when invalid metadata is provided
     [Timeout]                       1 minute
-    ${headers}=                     Create Dictionary               X-ONAP-RequestID=1  X-DMAAP-DR-META='not metadata'  Content-Type=application/xml
+    ${headers}=                     Create Dictionary               X-ONAP-RequestID=2  X-DMAAP-DR-META='not metadata'  Content-Type=application/xml
     ${resp}=                        Put Request                     mapper_session  ${DELIVERY_ENDPOINT}/filename  data='${EMPTY}'  headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}             400
-    Should Be Equal As Strings      ${resp.content}                 Malformed Metadata.
+    VerifyResponse                  ${resp.status_code}             400
+    VerifyResponse                  ${resp.content}                 Malformed Metadata.
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}          RequestID=2
 
-
-Verify that PM Mapper throws Event failed validation against schema error when no managed element content is provided
-    [Tags]                          PM_MAPPER_12
-    [Documentation]                 Verify 3gpp pm mapper responds with an error when no managed element content is provided
+Verify 3GPP PM Mapper received pushed PM data from Data Router
+    [Tags]                          PM_MAPPER_06
+    [Documentation]                 Verify 3GPP PM Mapper received pushed PM data from Data Router
     [Timeout]                       1 minute
-    ${no_managed_element_content}=  Get File                         ${NO_MANAGED_ELEMENT_PATH}
+    ${PM_DATA}=                     Get File                         ${PM_DATA_FILE_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=2  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
-    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${no_managed_element_content}    headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}              200
-    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
-    Should Contain                  ${cli_cmd_output.stdout}         XML validation failed
+    ${resp}=                        PutCall                          ${PUBLISH_NODE_URL}     3    ${PM_DATA}    ${PUBLISH_CONTENT_TYPE}    ${valid_metatdata.replace("\n","")}    pmmapper
+    VerifyResponse                  ${resp.status_code}              204
+    Sleep     10s
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation successful
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=3
 
+Verify that PM Mapper logs successful when a file that contains measdata is provided
+    [Tags]                          PM_MAPPER_07
+    [Documentation]                 Verify that PM Mapper logs successful when a file that contains measdata is provided
+    [Timeout]                       1 minute
+    ${valid_meas_result_content}=   Get File                         ${MEASD_RESULT_PATH}
+    ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=4  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=4  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${valid_meas_result_content}    headers=${headers}
+    VerifyResponse                  ${resp.status_code}              200
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation successful
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=4
 
 Verify that PM Mapper logs successful when a file that contains no measdata is provided
-    [Tags]                          PM_MAPPER_13
+    [Tags]                          PM_MAPPER_08
     [Documentation]                 Verify that PM Mapper logs successful when a file that contains no measdata is provided
     [Timeout]                       1 minute
     ${valid_no_measdata_content}=   Get File                         ${NO_MEASDATA_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=3  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=3  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=5  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=3  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
     ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${valid_no_measdata_content}    headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}              200
-    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
-    Should Contain                  ${cli_cmd_output.stdout}         XML validation successful
-
+    VerifyResponse                  ${resp.status_code}              200
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation successful
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=5
 
-Verify that PM Mapper logs successful when a file that contains measdata is provided
-    [Tags]                          PM_MAPPER_14
-    [Documentation]                 Verify that PM Mapper logs successful when a file that contains measdata is provided
+Verify that PM Mapper throws Event failed validation against schema error when no managed element content is provided
+    [Tags]                          PM_MAPPER_09
+    [Documentation]                 Verify 3gpp pm mapper responds with an error when no managed element content is provided
     [Timeout]                       1 minute
-    ${valid_meas_result_content}=   Get File                         ${MEASD_RESULT_PATH}
+    ${no_managed_element_content}=  Get File                         ${NO_MANAGED_ELEMENT_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=4  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=4  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
-    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${valid_meas_result_content}    headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}              200
-    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
-    Should Contain                  ${cli_cmd_output.stdout}         XML validation successful
-
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=6  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${no_managed_element_content}    headers=${headers}
+    VerifyResponse                  ${resp.status_code}              200
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation failed
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=6
 
 
 *** Keywords ***
@@ -119,3 +122,21 @@ PostCall
     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
     ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
     [Return]       ${resp}
+
+PutCall
+    [Arguments]      ${url}       ${request_id}       ${data}            ${content_type}           ${meta}          ${user}
+    ${headers}=      Create Dictionary   X-ONAP-RequestID=${request_id}    X-DMAAP-DR-META=${meta}    Content-Type=${content_type}   X-DMAAP-DR-ON-BEHALF-OF=${user}    Authorization=Basic cG1tYXBwZXI6cG1tYXBwZXI=
+    ${resp}=         Evaluate            requests.put('${url}', data="""${data}""", headers=${headers}, verify=False, allow_redirects=False)    requests
+    [Return]         ${resp}
+
+
+CheckLog
+    [Arguments]                     ${cli_exec_log_Path}    ${string_to_check_in_log}
+    ${cli_cmd_output}=              Run Process                      ${cli_exec_log_Path}                     shell=yes
+    Log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         ${string_to_check_in_log}
+
+VerifyResponse
+    [Arguments]                     ${actual_response_value}         ${expected_response_value}
+    Should Be Equal As Strings      ${actual_response_value}         ${expected_response_value}
\ No newline at end of file
index 889f7d4..a558a2e 100644 (file)
@@ -1,2 +1,5 @@
 LOG_LEVEL=INFO
 PRH_LOG_LEVEL=TRACE
+HOSTNAME=dcae-prh
+CONSUL_HOST=consul
+CONFIG_BINDING_SERVICE=cbs
diff --git a/tests/dcaegen2/prh-testcases/resources/consul.d/cbs.json b/tests/dcaegen2/prh-testcases/resources/consul.d/cbs.json
new file mode 100644 (file)
index 0000000..9d1b34f
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "service": {
+    "name": "cbs",
+    "tags": [
+      "cbs"
+    ],
+    "port": 10000,
+    "address": "cbs"
+  }
+}
index 92d6252..8b6ea12 100644 (file)
@@ -1,4 +1,4 @@
-version: '3'
+version: "3"
 services:
   prh:
     image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:latest
@@ -13,8 +13,12 @@ services:
     ports:
       - "8100:8100"
       - "8433:8433"
+    environment:
+      - LOG_LEVEL
+      - PRH_LOG_LEVEL
     container_name: prh
     depends_on:
+      - cbs
       - dmaap-bc
       - aai
 
@@ -41,8 +45,15 @@ services:
       - "8533:8433"
     volumes:
       - ./simulator/certs:/tmp/certs
+    environment:
+      - LOG_LEVEL
+      - PRH_LOG_LEVEL
+      - HOSTNAME
+      - CONSUL_HOST
+      - CONFIG_BINDING_SERVICE
     container_name: ssl_prh
     depends_on:
+      - cbs
       - dmaap-bc
       - aai
 
@@ -65,3 +76,44 @@ services:
       - "3334:3334"
       - "3335:3335"
     container_name: aai_simulator
+
+  consul:
+    image: docker.io/consul:1.0.6
+    ports:
+      - "8500:8500"
+    command: ["agent", "-bootstrap", "-client=0.0.0.0", "-server", "-config-dir=/consul/consul.d"]
+    volumes:
+      - ./consul.d/:/consul/consul.d
+
+  consul-cfg:
+    image: docker.io/consul:1.0.6
+    restart: on-failure
+    command: ["kv", "put", "-http-addr=http://consul-server:8500", "dcae-prh", '{
+                                              "dmaap.dmaapConsumerConfiguration.dmaapHostName":"dmaap-bc",
+                                              "dmaap.dmaapConsumerConfiguration.dmaapPortNumber":2223,
+                                              "dmaap.dmaapConsumerConfiguration.dmaapProtocol":"https",
+                                              "dmaap.dmaapProducerConfiguration.dmaapHostName":"dmaap-bc",
+                                              "dmaap.dmaapProducerConfiguration.dmaapPortNumber":2223,
+                                              "dmaap.dmaapProducerConfiguration.dmaapProtocol":"https",
+                                              "aai.aaiClientConfiguration.aaiHostPortNumber":3334,
+                                              "aai.aaiClientConfiguration.aaiHost":"aai",
+                                              "aai.aaiClientConfiguration.aaiProtocol":"https",
+                                              "security.enableAaiCertAuth":"true",
+                                              "security.enableDmaapCertAuth":"true",
+                                              "security.keyStorePath":"/tmp/certs/org.onap.dcae.jks",
+                                              "security.keyStorePasswordPath":"/tmp/certs/keystore.password",
+                                              "security.trustStorePath":"/tmp/certs/org.onap.dcae.trust.jks",
+                                              "security.trustStorePasswordPath":"/tmp/certs/truststore.password"
+                                            }'
+    ]
+    depends_on:
+      - consul
+
+  cbs:
+    image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4
+    ports:
+      - "10000:10000"
+    environment:
+      - CONSUL_HOST
+    depends_on:
+      - consul-cfg
index 075e545..1a626c0 100644 (file)
@@ -8,8 +8,8 @@ Library     json
 Healthcheck
      [Documentation]    Runs Policy Xacml PDP Health check
      ${auth}=    Create List    healthcheck    zb!XztG34 
-     Log    Creating session http://${POLICY_PDPX_IP}:6969
-     ${session}=    Create Session      policy  http://${POLICY_PDPX_IP}:6969   auth=${auth}
+     Log    Creating session https://${POLICY_PDPX_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_PDPX_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
      ${resp}=   Get Request     policy  /policy/pdpx/v1/healthcheck     headers=${headers}
      Log    Received response from policy ${resp.text}
@@ -19,8 +19,8 @@ Healthcheck
 Statistics
      [Documentation]    Runs Policy Xacml PDP Statistics
      ${auth}=    Create List    healthcheck    zb!XztG34 
-     Log    Creating session http://${POLICY_PDPX_IP}:6969
-     ${session}=    Create Session      policy  http://${POLICY_PDPX_IP}:6969   auth=${auth}
+     Log    Creating session https://${POLICY_PDPX_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_PDPX_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
      ${resp}=   Get Request     policy  /policy/pdpx/v1/statistics     headers=${headers}
      Log    Received response from policy ${resp.text}
index ad1ac31..2541501 100644 (file)
@@ -18,7 +18,7 @@ ${TARGETURL_TOPICS}                      http://${DMAAP_MR_IP}:3904/topics
 ${TARGETURL_SUBSCR}                      http://${DMAAP_MR_IP}:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12?timeout=1000
 ${CLI_EXEC_CLI}                          curl -k https://${DR_PROV_IP}:8443/internal/prov
 ${CLI_EXEC_CLI_FILECONSUMER}             docker exec fileconsumer-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep .gz"
-${CLI_EXEC_CLI_DFC_LOG}                  docker exec dfc /bin/sh -c "cat /opt/log/application.log" > /tmp/dfc_docker.log.robot
+${CLI_EXEC_CLI_DFC_LOG}                  docker exec dfc /bin/sh -c "cat /var/log/ONAP/application.log" > /tmp/dfc_docker.log.robot
 ${CLI_EXEC_CLI_DFC_LOG_GREP}             grep "Publish to DR successful!" /tmp/dfc_docker.log.robot
 
 ${CLI_EXEC_CLI_FILECONSUMER_CP}          docker cp fileconsumer-node:/opt/app/subscriber/delivery/xNF.pm.xml.gz.M %{WORKSPACE}