From 48496a511e8aa634c8b13ece136f7d63b659bdc1 Mon Sep 17 00:00:00 2001 From: AndyWalshe Date: Thu, 12 Mar 2020 12:52:19 +0000 Subject: Expand PMSH CSIT tests Issue-ID: DCAEGEN2-1842 Signed-off-by: AndyWalshe Change-Id: Icc851f6606242350456c297220a13a806d5e0d95 --- .../testsuite/assets/aai-initializer.json | 61 +++++++ .../testsuite/assets/cbs-initializer.json | 119 +++++++++++++ .../testsuite/assets/initializerJson.json | 185 --------------------- .../testsuite/assets/mr-initializer.json | 50 ++++++ .../testsuite/docker-compose.yml | 50 ++++-- plans/dcaegen2-services-pmsh/testsuite/setup.sh | 19 ++- 6 files changed, 278 insertions(+), 206 deletions(-) create mode 100644 plans/dcaegen2-services-pmsh/testsuite/assets/aai-initializer.json create mode 100644 plans/dcaegen2-services-pmsh/testsuite/assets/cbs-initializer.json delete mode 100644 plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json create mode 100644 plans/dcaegen2-services-pmsh/testsuite/assets/mr-initializer.json (limited to 'plans') diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/aai-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/aai-initializer.json new file mode 100644 index 00000000..5406f99c --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/aai-initializer.json @@ -0,0 +1,61 @@ +[ + { + "httpRequest": { + "path": "/aai/v16/query.*" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": { + "results": [ + { + "id": "303240", + "node-type": "generic-vnf", + "url": "/aai/v16/network/generic-vnfs/generic-vnf/230f339c-3e75-4f6b-8c9c-da4759da8222", + "properties": { + "vnf-id": "230f339c-3e75-4f6b-8c9c-da4759da8222", + "vnf-name": "vcpe_1", + "vnf-type": "demoVCPEInfra/vCPE_infra 0d1234cf-100c 0", + "service-id": "2db01c96-4baa-4393-8d79-af8d7bf4698e", + "prov-status": "PREPROV", + "orchestration-status": "Inventoried", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1575542300539", + "model-invariant-id": "c6aef848-e119-4572-9643-0b68da217358", + "model-version-id": "77c1a3d9-422a-4f78-bd8f-f7a357685b25", + "model-customization-id": "1f6a305d-74b6-4b92-b407-cd03284b6432" + } + }, + { + "id": "209096", + "node-type": "pnf", + "url": "/aai/v16/network/pnfs/pnf/pnf-existing", + "properties": { + "pnf-name": "pnf-existing", + "pnf-id": "99700432-df00-473d-8ff9-2fb14243417a", + "equip-type": "Complicated", + "equip-vendor": "Thunder", + "equip-model": "MP63527", + "ipaddress-v4-oam": "10.10.10.32", + "sw-version": "2.1.5", + "in-maint": false, + "serial-number": "6061ZW3", + "ipaddress-v6-oam": "2001:0db8:0:0:0:0:1428:57ab", + "resource-version": "1573053304574", + "nf-role": "gNB", + "orchestration-status": "Active" + } + } + ] + } + } + } + } +] diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/cbs-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs-initializer.json new file mode 100644 index 00000000..23888098 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs-initializer.json @@ -0,0 +1,119 @@ +[ + { + "httpRequest": { + "path": "/service_component_all/.*" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": { + "policy": { + "subscription": { + "subscriptionName": "ExtraPM-All-gNB-R2B", + "administrativeState": "LOCKED", + "fileBasedGP": 15, + "fileLocation": "/pm/pm.xml", + "nfFilter": { + "swVersions": [ + "1.0.0", + "1.0.1" + ], + "nfNames": [ + "^pnf.*", + "^vnf.*" + ] + }, + "measurementGroups": [ + { + "measurementGroup": { + "measurementTypes": [ + { + "measurementType": "countera" + }, + { + "measurementType": "counterb" + } + ], + "managedObjectDNsBasic": [ + { + "DN": "dna" + }, + { + "DN": "dnb" + } + ] + } + }, + { + "measurementGroup": { + "measurementTypes": [ + { + "measurementType": "counterc" + }, + { + "measurementType": "counterd" + } + ], + "managedObjectDNsBasic": [ + { + "DN": "dnc" + }, + { + "DN": "dnd" + } + ] + } + } + ] + } + }, + "config": { + "control_loop_name": "pmsh-control-loop", + "operational_policy_name": "pmsh-operational-policy", + "cert_path": "/opt/app/pmsh/etc/certs/cert.pem", + "streams_publishes": { + "policy_pm_publisher": { + "dmaap_info": { + "client_id": "1475976809466", + "client_role": "org.onap.dcae.pmPublisher", + "topic_url": "https://mr-sim:1080/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", + "location": "san-francisco" + }, + "type": "message_router" + } + }, + "streams_subscribes": { + "aai_subscriber": { + "type": "message_router", + "dmaap_info": { + "client_id": "1575976809466", + "client_role": "org.onap.dcae.aaiSub", + "topic_url": "https://mr-sim:1080/events/AAI_EVENT", + "location": "san-francisco" + } + }, + "policy_pm_subscriber": { + "dmaap_info": { + "location": "san-francisco", + "topic_url": "https://mr-sim:1080/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", + "client_role": "org.onap.dcae.pmSubscriber", + "client_id": "1575876809456" + }, + "type": "message_router" + } + }, + "key_path": "/opt/app/pmsh/etc/certs/key.pem", + "aaf_identity": "dcae@dcae.onap.org", + "aaf_password": "demo123456!" + } + } + } + } + } +] diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json b/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json deleted file mode 100644 index 222aafd5..00000000 --- a/plans/dcaegen2-services-pmsh/testsuite/assets/initializerJson.json +++ /dev/null @@ -1,185 +0,0 @@ -[ - { - "httpRequest": { - "path": "/service_component_all/.*" - }, - "httpResponse": { - "statusCode": 200, - "headers": { - "content-type": [ - "application/json" - ] - }, - "body": { - "type": "JSON", - "json": { - "policy": { - "subscription": { - "subscriptionName": "ExtraPM-All-gNB-R2B", - "administrativeState": "UNLOCKED", - "fileBasedGP": 15, - "fileLocation": "/pm/pm.xml", - "nfTypeModelInvariantId": "2829292", - "nfFilter": { - "swVersions": [ - "1.0.0", - "1.0.1" - ], - "nfNames": [ - "^pnf.*", - "^vnf.*" - ] - }, - "measurementGroups": [ - { - "measurementGroup": { - "measurementTypes": [ - { - "measurementType": "countera" - }, - { - "measurementType": "counterb" - } - ], - "managedObjectDNsBasic": [ - { - "DN": "dna" - }, - { - "DN": "dnb" - } - ] - } - }, - { - "measurementGroup": { - "measurementTypes": [ - { - "measurementType": "counterc" - }, - { - "measurementType": "counterd" - } - ], - "managedObjectDNsBasic": [ - { - "DN": "dnc" - }, - { - "DN": "dnd" - } - ] - } - } - ] - } - }, - "config": { - "cert_path": "/opt/app/pmsh/etc/certs/cert.pem", - "streams_publishes": { - "policy_pm_publisher": { - "dmaap_info": { - "client_id": "1475976809466", - "client_role": "org.onap.dcae.pmPublisher", - "topic_url": "https://node:30226/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", - "location": "san-francisco" - }, - "type": "message_router" - }, - "other_publisher": { - "dmaap_info": { - "location": "san-francisco", - "topic_url": "https://node:30226/events/org.onap.dmaap.mr.SOME_OTHER_TOPIC", - "client_role": "org.onap.dcae.pmControlPub", - "client_id": "1875976809466" - }, - "type": "message_router" - } - }, - "streams_subscribes": { - "aai_subscriber": { - "type": "message_router", - "dmaap_info": { - "client_id": "1575976809466", - "client_role": "org.onap.dcae.aaiSub", - "topic_url": "https://node:30226/events/AAI_EVENT", - "location": "san-francisco" - } - }, - "policy_pm_subscriber": { - "dmaap_info": { - "location": "san-francisco", - "topic_url": "https://node:30226/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS", - "client_role": "org.onap.dcae.pmSubscriber", - "client_id": "1575876809456" - }, - "type": "message_router" - } - }, - "key_path": "/opt/app/pmsh/etc/certs/key.pem", - "aaf_identity": "dcae@dcae.onap.org", - "aaf_password": "demo123456!" - } - } - } - } - }, - { - "httpRequest": { - "path": "/aai/v16/query.*" - }, - "httpResponse": { - "statusCode": 200, - "headers": { - "content-type": [ - "application/json" - ] - }, - "body": { - "type": "JSON", - "json": { - "results": [ - { - "id": "327736", - "node-type": "pnf", - "url": "/aai/v16/network/pnfs/pnf/pnf207", - "properties": { - "pnf-name": "pnf207", - "pnf-id": "55e57cd1-ab8b-40cd-97d5-cfc774fef616", - "equip-type": "val8", - "equip-vendor": "Nokia", - "equip-model": "val6", - "ipaddress-v4-oam": "10.10.10.26", - "sw-version": "val7", - "in-maint": false, - "serial-number": "6061ZW3", - "ipaddress-v6-oam": "2001:0db8:0:0:0:0:1428:57ab", - "resource-version": "1573066346347", - "nf-role": "gNB" - } - }, - { - "id": "241864", - "node-type": "generic-vnf", - "url": "/aai/v16/network/generic-vnfs/generic-vnf/1083ecbb-f3b3-49da-b5f5-b5962140ee99", - "properties": { - "vnf-id": "1083ecbb-f3b3-49da-b5f5-b5962140ee99", - "vnf-name": "vnf", - "vnf-type": "demoVCPEvBNG/vCPE_vbng 5eb5661a-0cb6 0", - "service-id": "2db01c96-4baa-4393-8d79-af8d7bf4698e", - "prov-status": "PREPROV", - "orchestration-status": "Inventoried", - "in-maint": false, - "is-closed-loop-disabled": false, - "resource-version": "1575541662410", - "model-invariant-id": "7129e420-d396-4efb-af02-6b83499b12f8", - "model-version-id": "e80a6ae3-cafd-4d24-850d-e14c084a5ca9", - "model-customization-id": "376dbe87-e9c5-4f2b-80e2-a420b373ee87" - } - } - ] - } - } - } - } -] diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/mr-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/mr-initializer.json new file mode 100644 index 00000000..2eac8406 --- /dev/null +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/mr-initializer.json @@ -0,0 +1,50 @@ +[ + { + "httpRequest": { + "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": "{}" + } + }, + { + "httpRequest": { + "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": {} + } + } + }, + { + "httpRequest": { + "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "type": "JSON", + "json": {} + } + } + } +] diff --git a/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml index 4ea89dc4..0ad8453e 100644 --- a/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml +++ b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml @@ -1,31 +1,55 @@ version: '3.3' services: - mockserver: - container_name: mockserver + db: + container_name: db + image: postgres + restart: always + environment: + POSTGRES_PASSWORD: $DB_PASSWORD + POSTGRES_USER: $DB_USER + networks: + pmsh-network: + + aai-sim: + container_name: aai-sim image: mockserver/mockserver:mockserver-5.9.0 environment: MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties - MOCKSERVER_INITIALIZATION_JSON_PATH: /config/initializerJson.json + MOCKSERVER_INITIALIZATION_JSON_PATH: /config/aai-initializer.json volumes: - ./assets/mockserver.properties:/config/mockserver.properties - - ./assets/initializerJson.json:/config/initializerJson.json + - ./assets/aai-initializer.json:/config/aai-initializer.json networks: pmsh-network: - db: - container_name: db - image: postgres - restart: always + cbs-sim: + container_name: cbs-sim + image: mockserver/mockserver:mockserver-5.9.0 environment: - POSTGRES_PASSWORD: $DB_PASSWORD - POSTGRES_USER: $DB_USER + MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties + MOCKSERVER_INITIALIZATION_JSON_PATH: /config/cbs-initializer.json + volumes: + - ./assets/mockserver.properties:/config/mockserver.properties + - ./assets/cbs-initializer.json:/config/cbs-initializer.json + networks: + pmsh-network: + + mr-sim: + container_name: mr-sim + image: mockserver/mockserver:mockserver-5.9.0 + environment: + MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties + MOCKSERVER_INITIALIZATION_JSON_PATH: /config/mr-initializer.json + volumes: + - ./assets/mockserver.properties:/config/mockserver.properties + - ./assets/mr-initializer.json:/config/mr-initializer.json networks: pmsh-network: pmsh: container_name: pmsh - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.0.1 depends_on: - db volumes: @@ -33,12 +57,12 @@ services: - ./assets/key.pem:/opt/app/pmsh/etc/certs/key.pem environment: HOSTNAME: "dcae-pmsh" - CONFIG_BINDING_SERVICE_SERVICE_HOST: mockserver + CONFIG_BINDING_SERVICE_SERVICE_HOST: cbs-sim CONFIG_BINDING_SERVICE_SERVICE_PORT: 1080 PMSH_PG_URL: db PMSH_PG_USERNAME: $DB_USER PMSH_PG_PASSWORD: $DB_PASSWORD - AAI_SERVICE_HOST: mockserver + AAI_SERVICE_HOST: aai-sim AAI_SERVICE_PORT_AAI_SSL: 1080 networks: pmsh-network: diff --git a/plans/dcaegen2-services-pmsh/testsuite/setup.sh b/plans/dcaegen2-services-pmsh/testsuite/setup.sh index c70e02a1..5c599069 100644 --- a/plans/dcaegen2-services-pmsh/testsuite/setup.sh +++ b/plans/dcaegen2-services-pmsh/testsuite/setup.sh @@ -1,15 +1,12 @@ #!/bin/bash # Place the scripts in run order: -source ${SCRIPTS}/common_functions.sh export DB_USER=pmsh export DB_PASSWORD=pmsh -docker login -u docker -p docker nexus3.onap.org:10001 - TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite -docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d mockserver db +docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d db aai-sim cbs-sim mr-sim # Slow machine running CSITs can affect db coming up in time for PMSH echo "Waiting for postgres db to come up..." @@ -45,9 +42,11 @@ done # Wait for initialization of Docker containers containers_ok=false for i in {1..5}; do - if [ $(docker inspect --format '{{ .State.Running }}' mockserver) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' db) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' pmsh) ] + if [ $(docker inspect --format '{{ .State.Running }}' cbs-sim) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' aai-sim) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' mr-sim) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' db) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' pmsh) ] then echo "All required docker containers are up." containers_ok=true @@ -58,5 +57,9 @@ for i in {1..5}; do done [ "$containers_ok" = "false" ] && echo "Error: required container not running." && exit 1 +DB_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" db) +MR_SIM_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mr-sim) +CBS_SIM_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" cbs-sim) + #Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v PMSH_IP:${PMSH_IP}" +ROBOT_VARIABLES="-v PMSH_IP:${PMSH_IP} -v MR_SIM_IP_ADDRESS:${MR_SIM_IP_ADDRESS} -v DB_IP_ADDRESS:${DB_IP_ADDRESS} -v CBS_SIM_IP_ADDRESS:${CBS_SIM_IP_ADDRESS}" -- cgit 1.2.3-korg