[PMSH] TLS support refactoring 50/109850/3
authorefiacor <fiachra.corcoran@est.tech>
Mon, 6 Jul 2020 10:55:44 +0000 (11:55 +0100)
committerefiacor <fiachra.corcoran@est.tech>
Wed, 8 Jul 2020 12:18:02 +0000 (13:18 +0100)
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: I169a072bdbc7ad3fddd4d002a76b798fa5627e8f
Issue-ID: DCAEGEN2-2146

13 files changed:
plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai-initializer.json
plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai_mockserver.properties
plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json
plans/dcaegen2-services-pmsh/testsuite/assets/mr_sim/mr-initializer.json
plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml
plans/dcaegen2-services-pmsh/testsuite/setup.sh
plans/dcaegen2-services-pmsh/testsuite/teardown.sh
tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-aai-pnf-created.json
tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-aai-pnf-deleted.json
tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-policy-subscription-created-pnf-existing.json
tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-policy-subscription-created-pnf-new.json
tests/dcaegen2-services-pmsh/testcases/pmsh.robot

index 5406f99..3b8c127 100644 (file)
@@ -1,7 +1,7 @@
 [
   {
     "httpRequest": {
-      "path": "/aai/v16/query.*"
+      "path": "/aai/v19/query.*"
     },
     "httpResponse": {
       "statusCode": 200,
index 9c59230..04b9cc4 100644 (file)
@@ -14,10 +14,13 @@ mockserver.deleteGeneratedKeyStoreOnExit=true
 # certificate domain name (default "localhost")
 mockserver.sslCertificateDomainName=localhost
 # comma separated list of domain names for Subject Alternative Name domain names (default empty list)
-mockserver.sslSubjectAlternativeNameDomains=www.example.com,www.another.com
+mockserver.sslSubjectAlternativeNameDomains=aai,aai.onap
 # comma separated list of ip addresses for Subject Alternative Name ips (default empty list)
 mockserver.sslSubjectAlternativeNameIps=127.0.0.1
 
+mockserver.certificateAuthorityPrivateKey=/var/tmp/mock_server_key.pem
+mockserver.certificateAuthorityCertificate=/var/tmp/mock_server_cacert.pem
+
 # CORS
 
 # enable CORS for MockServer REST API
index 1a1ba9e..16d6893 100644 (file)
             "control_loop_name": "pmsh-control-loop",
             "operational_policy_name": "pmsh-operational-policy",
             "cert_path": "/opt/app/pmsh/etc/certs/cert.pem",
+            "enable_tls": true,
+            "ca_cert_path": "/opt/app/pmsh/etc/certs/cacert.pem",
             "streams_publishes": {
               "policy_pm_publisher": {
                 "dmaap_info": {
                   "client_id": "1475976809466",
                   "client_role": "org.onap.dcae.pmPublisher",
-                  "topic_url": "https://mr-sim:3095/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
+                  "topic_url": "https://mr-sim:3095/events/unauthenticated.DCAE_CL_OUTPUT",
                   "location": "san-francisco"
                 },
                 "type": "message_router"
               "policy_pm_subscriber": {
                 "dmaap_info": {
                   "location": "san-francisco",
-                  "topic_url": "https://mr-sim:3095/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
+                  "topic_url": "https://mr-sim:3095/events/unauthenticated.PMSH_CL_INPUT",
                   "client_role": "org.onap.dcae.pmSubscriber",
                   "client_id": "1575876809456"
                 },
index 2eac840..6b12a83 100644 (file)
@@ -1,7 +1,10 @@
 [
   {
     "httpRequest": {
-      "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"
+      "path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS"
+      "path": "/events/unauthenticated.DCAE_CL_OUTPUT",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"
+      "path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
index ed991c3..6df60f1 100644 (file)
@@ -11,15 +11,18 @@ services:
     networks:
       pmsh-network:
 
-  aai-sim:
+  aai:
     container_name: aai-sim
     image: mockserver/mockserver:mockserver-5.9.0
     environment:
       MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties
       MOCKSERVER_INITIALIZATION_JSON_PATH: /config/aai-initializer.json
+      LOG_LEVEL: "DEBUG"
     volumes:
       - ./assets/aai_sim/aai_mockserver.properties:/config/mockserver.properties
       - ./assets/aai_sim/aai-initializer.json:/config/aai-initializer.json
+      - ./assets/ssl_certs/mock_server_cacert.pem:/var/tmp/mock_server_cacert.pem
+      - ./assets/ssl_certs/mock_server_key.pem:/var/tmp/mock_server_key.pem
     networks:
       pmsh-network:
 
@@ -68,7 +71,6 @@ services:
       PMSH_PG_URL: db
       PMSH_PG_USERNAME: $DB_USER
       PMSH_PG_PASSWORD: $DB_PASSWORD
-      AAI_SERVICE_HOST: aai-sim
       AAI_SERVICE_PORT: 1080
       DCAE_CA_CERTPATH: '/opt/app/pmsh/etc/certs/cacert.pem'
     networks:
index eb2196a..4b939fd 100644 (file)
@@ -6,7 +6,7 @@ export DB_PASSWORD=pmsh
 
 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite
 
-docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d db aai-sim cbs-sim mr-sim
+docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d db aai 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..."
index c5bac31..a01dfda 100644 (file)
@@ -2,7 +2,7 @@
 echo "Starting teardown script"
 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite
 mkdir -p $WORKSPACE/archives
-docker exec pmsh /bin/sh -c "ls -l /var/log/ONAP/dcaegen2/services/pmsh/"
 docker exec pmsh /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pmsh/*"
+docker cp pmsh:/var/log/ONAP/dcaegen2/services/pmsh/application.log $WORKSPACE/archives/
 docker-compose -f $TEST_PLANS_DIR/docker-compose.yml logs --no-color > $WORKSPACE/archives/pmsh-docker-compose.log
 docker-compose -f $TEST_PLANS_DIR/docker-compose.yml down -v
index 569e938..b70b41d 100644 (file)
@@ -77,6 +77,8 @@
             "control_loop_name": "pmsh-control-loop",
             "operational_policy_name": "pmsh-operational-policy",
             "cert_path": "/opt/app/pmsh/etc/certs/cert.pem",
+            "enable_tls": true,
+            "ca_cert_path": "/opt/app/pmsh/etc/certs/cacert.pem",
             "streams_publishes": {
               "policy_pm_publisher": {
                 "dmaap_info": {
index 9c9dc6e..1a027f2 100644 (file)
@@ -1,7 +1,10 @@
 [
   {
     "httpRequest": {
-      "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"
+      "path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"
+      "path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
index c0accc8..e5c4dd8 100644 (file)
@@ -1,7 +1,10 @@
 [
   {
     "httpRequest": {
-      "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"
+      "path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"
+      "path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
index cc14f3c..eba4e4e 100644 (file)
@@ -1,7 +1,10 @@
 [
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"
+      "path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"
+      "path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
index 79bfb44..f73fee8 100644 (file)
@@ -1,7 +1,10 @@
 [
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"
+      "path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
   },
   {
     "httpRequest": {
-      "path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"
+      "path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input",
+      "queryStringParameters" : {
+        "timeout" : [ "1000" ]
+      }
     },
     "httpResponse": {
       "statusCode": 200,
index 08ab197..a2b8cad 100644 (file)
@@ -64,7 +64,7 @@ Verify Policy response on MR is handled
     [Documentation]                 Verify policy response on MR is handled
     [Timeout]                       40 seconds
     SimulatePolicyResponse          ${MR_EXPECTATION_POLICY_RESPONSE_PNF_EXISTING}
-    Sleep                           7 seconds      Ensure Policy response on MR is picked up
+    Sleep                           15 seconds      Ensure Policy response on MR is picked up
     ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_sub_status']}     CREATED
 
@@ -73,7 +73,7 @@ Verify AAI event on MR detailing new PNF being detected is handled
     [Documentation]                 Verify PNF created AAI event on MR is handled
     [Timeout]                       30 seconds
     SimulateNewPNF
-    Sleep                           12 seconds      Ensure AAI event on MR is picked up
+    Sleep                           15 seconds      Ensure AAI event on MR is picked up
     ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][1]['nf_name']}            pnf_newly_discovered
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][1]['orchestration_status']}   Active
@@ -105,7 +105,7 @@ SetAdministrativeStateToUnlocked
 
 SimulateNewPNF
     ${data}=        Get Data From File    ${MR_EXPECTATION_AAI_PNF_CREATED}
-    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"}
+    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event"}
     Should Be True      ${resp.status_code} == 200
     ${resp} =       Put Request     mr_sim_session  /expectation     data=${data}
     Should Be True      ${resp.status_code} == 201
@@ -113,14 +113,14 @@ SimulateNewPNF
 SimulatePolicyResponse
     [Arguments]                     ${expected_contents}
     ${data}=        Get Data From File    ${expected_contents}
-    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS/dcae_pmsh_cg/policy_response_consumer"}
+    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/unauthenticated.PMSH_CL_INPUT/dcae_pmsh_cg/dcae_pmsh_policy_cl_input"}
     Should Be True      ${resp.status_code} == 200
     ${resp} =       Put Request     mr_sim_session  /expectation     data=${data}
     Should Be True      ${resp.status_code} == 201
 
 SimulateDeletedPNF
     ${data}=        Get Data From File    ${MR_EXPECTATION_AAI_PNF_REMOVED}
-    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"}
+    ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/AAI_EVENT/dcae_pmsh_cg/dcae_pmsh_aai_event"}
     Should Be True      ${resp.status_code} == 200
     ${resp} =       Put Request     mr_sim_session  /expectation     data=${data}
     Should Be True      ${resp.status_code} == 201