Merge "csit set up not up issue fix"
authorMorgan Richomme <morgan.richomme@orange.com>
Mon, 23 Aug 2021 07:15:07 +0000 (07:15 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 23 Aug 2021 07:15:07 +0000 (07:15 +0000)
72 files changed:
plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json
plans/dcaegen2-services-pmsh/testsuite/assets/kafka/zk_client_jaas.conf [new file with mode: 0644]
plans/dcaegen2-services-pmsh/testsuite/assets/mr/MsgRtrApi.properties [new file with mode: 0644]
plans/dcaegen2-services-pmsh/testsuite/assets/zk/zk_server_jaas.conf [new file with mode: 0644]
plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml
plans/dcaegen2-services-pmsh/testsuite/setup.sh
plans/dcaegen2-services-pmsh/testsuite/teardown.sh
plans/dmaap-buscontroller/with_dr/setup.sh [deleted file]
plans/dmaap-buscontroller/with_dr/teardown.sh [deleted file]
plans/dmaap-buscontroller/with_dr/testplan.txt [deleted file]
plans/dmaap-buscontroller/with_mr/setup.sh [deleted file]
plans/dmaap-buscontroller/with_mr/teardown.sh [deleted file]
plans/dmaap-buscontroller/with_mr/testplan.txt [deleted file]
plans/dmaap-datarouter/ssl-dr-suite/setup.sh [deleted file]
plans/dmaap-datarouter/ssl-dr-suite/teardown.sh [deleted file]
plans/dmaap-datarouter/ssl-dr-suite/testplan.txt [deleted file]
plans/oom-platform-cert-service/certservice/cmpServers.json
plans/oom-platform-cert-service/certservice/docker-compose.yml
plans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh
scripts/dmaap-buscontroller/dmaapbc-init.sh [deleted file]
scripts/dmaap-buscontroller/dmaapbc-launch.sh [deleted file]
scripts/dmaap-buscontroller/docker-compose/buscontroller.env [deleted file]
scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props [deleted file]
scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks [deleted file]
scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props [deleted file]
scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props [deleted file]
scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks [deleted file]
scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties [deleted file]
scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml [deleted file]
scripts/dmaap-buscontroller/docker-compose/logback.xml [deleted file]
scripts/dmaap-datarouter/datarouter-launch.sh [deleted file]
scripts/dmaap-datarouter/datarouter-teardown.sh [deleted file]
scripts/dmaap-datarouter/docker-compose/docker-compose.yml [deleted file]
scripts/dmaap-datarouter/docker-compose/node.properties [deleted file]
scripts/dmaap-datarouter/docker-compose/provserver.properties [deleted file]
scripts/dmaap-datarouter/docker-compose/subscriber.properties [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12 [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr.cred.props [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jks [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12 [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr.cred.props [deleted file]
scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jks [deleted file]
scripts/dmaap-datarouter/robot_ssl/onap_ca_cert.pem [deleted file]
scripts/dmaap-datarouter/robot_ssl/update_ca.py [deleted file]
tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
tests/dcaegen2-services-pmsh/testcases/pmsh.robot
tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json
tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json
tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json
tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json
tests/dcaegen2/prh-testcases/resources/prh_library.robot
tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
tests/dmaap-buscontroller/with_dr/__init__.robot [deleted file]
tests/dmaap-buscontroller/with_dr/test1.robot [deleted file]
tests/dmaap-buscontroller/with_mr/__init__.robot [deleted file]
tests/dmaap-buscontroller/with_mr/test1.robot [deleted file]
tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot [deleted file]
tests/oom-platform-cert-service/certservice/assets/invalid_ir_for_update.key [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.csr [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.key [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.csr [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.key [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.csr [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.key [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_kur.csr [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/assets/valid_kur.key [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/cert-service-test.robot
tests/oom-platform-cert-service/certservice/libraries/ResponseParser.py [new file with mode: 0644]
tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot
tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot

index 6826962..194e556 100644 (file)
@@ -87,7 +87,7 @@
                 "dmaap_info": {
                   "client_id": "1475976809466",
                   "client_role": "org.onap.dcae.pmPublisher",
-                  "topic_url": "http://dmaap:3904/events/unauthenticated.DCAE_CL_OUTPUT",
+                  "topic_url": "http://dmaap-mr:3904/events/unauthenticated.DCAE_CL_OUTPUT",
                   "location": "san-francisco"
                 },
                 "type": "message_router"
                 "dmaap_info": {
                   "client_id": "1575976809466",
                   "client_role": "org.onap.dcae.aaiSub",
-                  "topic_url": "http://dmaap:3904/events/AAI_EVENT",
+                  "topic_url": "http://dmaap-mr:3904/events/AAI_EVENT",
                   "location": "san-francisco"
                 }
               },
               "policy_pm_subscriber": {
                 "dmaap_info": {
                   "location": "san-francisco",
-                  "topic_url": "http://dmaap:3904/events/unauthenticated.PMSH_CL_INPUT",
+                  "topic_url": "http://dmaap-mr:3904/events/unauthenticated.PMSH_CL_INPUT",
                   "client_role": "org.onap.dcae.pmSubscriber",
                   "client_id": "1575876809456"
                 },
diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/kafka/zk_client_jaas.conf b/plans/dcaegen2-services-pmsh/testsuite/assets/kafka/zk_client_jaas.conf
new file mode 100644 (file)
index 0000000..79a7601
--- /dev/null
@@ -0,0 +1,5 @@
+Client {
+  org.apache.zookeeper.server.auth.DigestLoginModule required
+  username="kafka"
+  password="kafka_secret";
+ };
\ No newline at end of file
diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/mr/MsgRtrApi.properties b/plans/dcaegen2-services-pmsh/testsuite/assets/mr/MsgRtrApi.properties
new file mode 100644 (file)
index 0000000..4764321
--- /dev/null
@@ -0,0 +1,166 @@
+# LICENSE_START=======================================================
+#  org.onap.dmaap
+#  ================================================================================
+#  Copyright Â© 2017 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END=========================================================
+#
+#  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+###############################################################################
+###############################################################################
+##
+## Cambria API Server config
+##
+## Default values are shown as commented settings.
+##
+###############################################################################
+##
+## HTTP service
+##
+## 3904 is standard as of 7/29/14.
+#
+## Zookeeper Connection
+##
+## Both Cambria and Kafka make use of Zookeeper.
+##
+config.zk.servers=zookeeper:2181
+
+###############################################################################
+##
+## Kafka Connection
+##
+##        Items below are passed through to Kafka's producer and consumer
+##        configurations (after removing "kafka.")
+##        if you want to change request.required.acks it can take this one value
+#kafka.metadata.broker.list=localhost:9092,localhost:9093
+#kafka.metadata.broker.list={{.Values.kafka.name}}:{{.Values.kafka.port}}
+kafka.metadata.broker.list=kafka:9092
+##kafka.request.required.acks=-1
+#kafka.client.zookeeper=${config.zk.servers}
+consumer.timeout.ms=100
+zookeeper.connection.timeout.ms=6000
+zookeeper.session.timeout.ms=20000
+zookeeper.sync.time.ms=2000
+auto.commit.interval.ms=1000
+fetch.message.max.bytes =1000000
+auto.commit.enable=false
+
+#(backoff*retries > zksessiontimeout)
+kafka.rebalance.backoff.ms=10000
+kafka.rebalance.max.retries=6
+
+
+###############################################################################
+##
+##        Secured Config
+##
+##        Some data stored in the config system is sensitive -- API keys and secrets,
+##        for example. to protect it, we use an encryption layer for this section
+##        of the config.
+##
+## The key is a base64 encode AES key. This must be created/configured for
+## each installation.
+#cambria.secureConfig.key=
+##
+## The initialization vector is a 16 byte value specific to the secured store.
+## This must be created/configured for each installation.
+#cambria.secureConfig.iv=
+
+## Southfield Sandbox
+cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==
+cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==
+authentication.adminSecret=fe3cCompound
+
+
+###############################################################################
+##
+## Consumer Caching
+##
+##        Kafka expects live connections from the consumer to the broker, which
+##        obviously doesn't work over connectionless HTTP requests. The Cambria
+##        server proxies HTTP requests into Kafka consumer sessions that are kept
+##        around for later re-use. Not doing so is costly for setup per request,
+##        which would substantially impact a high volume consumer's performance.
+##
+##        This complicates Cambria server failover, because we often need server
+##        A to close its connection before server B brings up the replacement.
+##
+
+## The consumer cache is normally enabled.
+#cambria.consumer.cache.enabled=true
+
+## Cached consumers are cleaned up after a period of disuse. The server inspects
+## consumers every sweepFreqSeconds and will clean up any connections that are
+## dormant for touchFreqMs.
+#cambria.consumer.cache.sweepFreqSeconds=15
+cambria.consumer.cache.touchFreqMs=120000
+##stickforallconsumerrequests=false
+## The cache is managed through ZK. The default value for the ZK connection
+## string is the same as config.zk.servers.
+#cambria.consumer.cache.zkConnect=${config.zk.servers}
+
+##
+## Shared cache information is associated with this node's name. The default
+## name is the hostname plus the HTTP service port this host runs on. (The
+## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),
+## which is not always adequate.) You can set this value explicitly here.
+##
+#cambria.api.node.identifier=<use-something-unique-to-this-instance>
+
+#cambria.rateLimit.maxEmptyPollsPerMinute=30
+#cambria.rateLimitActual.delay.ms=10
+
+###############################################################################
+##
+## Metrics Reporting
+##
+##        This server can report its metrics periodically on a topic.
+##
+#metrics.send.cambria.enabled=true
+#metrics.send.cambria.topic=cambria.apinode.metrics
+#msgrtr.apinode.metrics.dmaap
+#metrics.send.cambria.sendEverySeconds=60
+
+cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache
+consumer.timeout=17
+default.partitions=3
+default.replicas=3
+##############################################################################
+#100mb
+maxcontentlength=10000
+
+
+##############################################################################
+#AAF Properties
+msgRtr.namespace.aaf=org.onap.dmaap.mr.topic
+msgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
+enforced.topic.name.AAF=org.onap.dmaap.mr
+forceAAF=false
+transidUEBtopicreqd=false
+defaultNSforUEB=org.onap.dmaap.mr
+##############################################################################
+#Mirror Maker Agent
+
+msgRtr.mirrormakeradmin.aaf=org.onap.dmaap.mr.mirrormaker|*|admin
+msgRtr.mirrormakeruser.aaf=org.onap.dmaap.mr.mirrormaker|*|user
+msgRtr.mirrormakeruser.aaf.create=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
+msgRtr.mirrormaker.timeout=15000
+msgRtr.mirrormaker.topic=org.onap.dmaap.mr.mirrormakeragent
+msgRtr.mirrormaker.consumergroup=mmagentserver
+msgRtr.mirrormaker.consumerid=1
+
+kafka.max.poll.interval.ms=300000
+kafka.heartbeat.interval.ms=60000
+kafka.session.timeout.ms=240000
+kafka.max.poll.records=1000
\ No newline at end of file
diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/zk/zk_server_jaas.conf b/plans/dcaegen2-services-pmsh/testsuite/assets/zk/zk_server_jaas.conf
new file mode 100644 (file)
index 0000000..3d2767f
--- /dev/null
@@ -0,0 +1,4 @@
+Server {
+       org.apache.zookeeper.server.auth.DigestLoginModule required
+       user_kafka="kafka_secret";
+};
\ No newline at end of file
index 6541ddb..8f51dfd 100644 (file)
@@ -1,6 +1,76 @@
 version: '3.3'
 
 services:
+  zookeeper:
+    image: nexus3.onap.org:10001/onap/dmaap/zookeeper:6.1.0
+    container_name: dmaap-zookeeper
+    ports:
+      - "2181:2181"
+    environment:
+     ZOOKEEPER_REPLICAS: 1
+     ZOOKEEPER_TICK_TIME: 2000
+     ZOOKEEPER_SYNC_LIMIT: 5
+     ZOOKEEPER_INIT_LIMIT: 10
+     ZOOKEEPER_MAX_CLIENT_CNXNS: 200
+     ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT: 3
+     ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: 24
+     ZOOKEEPER_CLIENT_PORT: 2181
+     KAFKA_OPTS: -Djava.security.auth.login.config=/etc/zookeeper/secrets/jaas/zk_server_jaas.conf -Dzookeeper.kerberos.removeHostFromPrincipal=true -Dzookeeper.kerberos.removeRealmFromPrincipal=true -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider -Dzookeeper.requireClientAuthScheme=sasl -Dzookeeper.4lw.commands.whitelist=*
+     ZOOKEEPER_SERVER_ID: 1
+    volumes:
+      -  ./assets/zk/zk_server_jaas.conf:/etc/zookeeper/secrets/jaas/zk_server_jaas.conf
+    networks:
+      net:
+        aliases:
+        - zookeeper
+
+  kafka:
+   image: nexus3.onap.org:10001/onap/dmaap/kafka111:1.1.0
+   container_name: dmaap-kafka
+   ports:
+    - "9092:9092"
+   environment:
+    enableCadi: 'false'
+    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+    KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 40000
+    KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: 40000
+    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT
+    KAFKA_ADVERTISED_LISTENERS: INTERNAL_PLAINTEXT://kafka:9092
+    KAFKA_LISTENERS: INTERNAL_PLAINTEXT://0.0.0.0:9092
+    KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_PLAINTEXT
+    KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false'
+    KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/secrets/jaas/zk_client_jaas.conf
+    KAFKA_ZOOKEEPER_SET_ACL: 'true'
+    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+    # Reduced the number of partitions only to avoid the timeout error for the first subscribe call in slow environment
+    KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS: 1
+   volumes:
+     -  ./assets/kafka/zk_client_jaas.conf:/etc/kafka/secrets/jaas/zk_client_jaas.conf
+   networks:
+     net:
+       aliases:
+       - kafka
+   depends_on:
+    - zookeeper
+
+  dmaap-mr:
+    image: nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.3.0
+    container_name: dmaap-mr
+    ports:
+      - "3904:3904"
+      - "3905:3905"
+    environment:
+     enableCadi: 'false'
+    volumes:
+      - ./assets/mr/MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+    networks:
+      net:
+        aliases:
+        - dmaap-mr
+    depends_on:
+      - zookeeper
+      - kafka
+
   db:
     container_name: db
     image: postgres
@@ -9,7 +79,7 @@ services:
       POSTGRES_PASSWORD: $DB_PASSWORD
       POSTGRES_USER: $DB_USER
     networks:
-      dockercompose_net:
+      net:
         aliases:
         - db
 
@@ -26,7 +96,7 @@ services:
       - ./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:
-      dockercompose_net:
+      net:
         aliases:
         - aai-sim
 
@@ -44,7 +114,7 @@ services:
       - ./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:
-      dockercompose_net:
+      net:
         aliases:
         - cbs-sim
 
@@ -66,11 +136,11 @@ services:
       AAI_SERVICE_PORT: 1080
       DCAE_CA_CERTPATH: '/opt/app/pmsh/etc/certs/cacert.pem'
     networks:
-      dockercompose_net:
+      net:
         aliases:
         - pmsh
 
 networks:
-  dockercompose_net:
-    external: true
+  net:
+    driver: bridge
 
index d7b988e..73a219f 100644 (file)
@@ -1,16 +1,11 @@
 #!/bin/bash
-# Place the scripts in run order:
-
-source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-launch.sh
-dmaap_mr_launch
-DMAAP_MR_IP=${IP}
 
 export DB_USER=pmsh
 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 cbs-sim
+docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d zookeeper kafka dmaap-mr db aai cbs-sim
 
 # Slow machine running CSITs can affect db coming up in time for PMSH
 echo "Waiting for postgres db to come up..."
@@ -26,6 +21,20 @@ for i in {1..30}; do
 done
 [[ "$db_response" != "0" ]] && echo "Error: postgres db not accessible" && exit 1
 
+DMAAP_MR_IP=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" dmaap-mr)
+
+echo "Waiting for dmaap-message-router to come up ..."
+for i in {1..20}; do
+    dmaap_state=$(curl --write-out '%{http_code}' --silent --output /dev/null $DMAAP_MR_IP:3904/topics)
+    if [[ ${dmaap_state} == "200" ]]
+    then
+      break
+    else
+      sleep 5
+    fi
+done
+[[ "$dmaap_state" != "200" ]] && echo "Error: DMaaP MR container state not healthy" && exit 1
+
 docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d pmsh
 
 PMSH_IP=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" pmsh)
index 75e624e..a01dfda 100644 (file)
@@ -1,7 +1,5 @@
 #!/bin/bash
 echo "Starting teardown script"
-source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-teardown.sh
-dmaap_mr_teardown
 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite
 mkdir -p $WORKSPACE/archives
 docker exec pmsh /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pmsh/*"
diff --git a/plans/dmaap-buscontroller/with_dr/setup.sh b/plans/dmaap-buscontroller/with_dr/setup.sh
deleted file mode 100755 (executable)
index 822f6a7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-# 
-# ============LICENSE_START=======================================================
-# org.onap.dmaap
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-# 
-#
-source ${SCRIPTS}/common_functions.sh
-
-COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-dockercompose}
-export COMPOSE_PROJECT_NAME=$COMPOSE_PREFIX
-echo "COMPOSE_PROJECT_NAME=$COMPOSE_PROJECT_NAME"
-echo "COMPOSE_PREFIX=$COMPOSE_PREFIX"
-
-source ${WORKSPACE}/scripts/dmaap-datarouter/datarouter-launch.sh
-# Launch DR. If true is passed, 2 subscriber containers are also deployed, else false.
-dmaap_dr_launch false
-DRPS_IP=${DR_PROV_IP}
-
-source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh
-dmaapbc_launch ${DRPS_IP}
-DMAAPBC_IP=${DMAAP_BC_IP}
-
-echo "DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP"
-
-# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}"
-set -x
-${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP}
-set +x
-
diff --git a/plans/dmaap-buscontroller/with_dr/teardown.sh b/plans/dmaap-buscontroller/with_dr/teardown.sh
deleted file mode 100755 (executable)
index 5e80142..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START=======================================================
-# org.onap.dmaap
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-
-#kill-instance.sh dmaapbc
-cd ${WORKSPACE}/archives/dmaap/dr
-rm -rf last_run_logs/*
-docker cp datarouter-prov:/opt/app/datartr/logs last_run_logs/prov_logs
-docker cp datarouter-node:/opt/app/datartr/logs last_run_logs/node_event_logs
-docker cp datarouter-node:/var/log/onap/datarouter last_run_logs/node_server_logs
-docker cp subscriber-node:/var/log/onap/datarouter last_run_logs/sub1_logs
-docker cp subscriber-node2:/var/log/onap/datarouter last_run_logs/sub2_logs
-docker cp dmaap-bc:/opt/app/dmaapbc/logs/ONAP last_run_logs/bc_logs
-
-sudo sed -i".bak" '/dmaap-dr-prov/d' /etc/hosts
-sudo sed -i".bak" '/dmaap-dr-node/d' /etc/hosts
-docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml rm -sf
-docker-compose -f ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml rm -sf
diff --git a/plans/dmaap-buscontroller/with_dr/testplan.txt b/plans/dmaap-buscontroller/with_dr/testplan.txt
deleted file mode 100755 (executable)
index 04c6838..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Place the suites in run order.
-dmaap-buscontroller/with_dr
diff --git a/plans/dmaap-buscontroller/with_mr/setup.sh b/plans/dmaap-buscontroller/with_mr/setup.sh
deleted file mode 100755 (executable)
index 74bfb0c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-# 
-# ============LICENSE_START=======================================================
-# org.onap.dmaap
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-# 
-#
-# Place the scripts in run order:
-source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-launch.sh
-dmaap_mr_launch
-MRC_IP=${IP}
-
-mkdir -p ${WORKSPACE}/archives/dmaapmr/last_run_logs
-
-source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh
-dmaapbc_launch $MRC_IP
-DMAAP_BC_IP=${DMAAP_BC_IP}
-
-echo "DMAAP_BC_IP=$DMAAP_BC_IP"
-
-# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES=" -v DMAAP_BC_IP:${DMAAP_BC_IP}"
-set -x
-${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAP_BC_IP}
-set +x
diff --git a/plans/dmaap-buscontroller/with_mr/teardown.sh b/plans/dmaap-buscontroller/with_mr/teardown.sh
deleted file mode 100644 (file)
index 5149743..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-# 
-# ============LICENSE_START=======================================================
-# org.onap.dmaap
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-# 
-#
-cd ${WORKSPACE}/archives/dmaapmr
-source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-teardown.sh
-dmaap_mr_teardown
-rm -rf last_run_logs/*
-docker cp dmaap-bc:/opt/app/dmaapbc/logs/ONAP last_run_logs/bc_logs
-docker-compose -f ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml rm -sf
-
-
-
diff --git a/plans/dmaap-buscontroller/with_mr/testplan.txt b/plans/dmaap-buscontroller/with_mr/testplan.txt
deleted file mode 100644 (file)
index a8fe876..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Test suites are relative paths under [integration/csit.git]/tests/.
-# Place the suites in run order.
-dmaap-buscontroller/with_mr
diff --git a/plans/dmaap-datarouter/ssl-dr-suite/setup.sh b/plans/dmaap-datarouter/ssl-dr-suite/setup.sh
deleted file mode 100755 (executable)
index 53b4387..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-source ${WORKSPACE}/scripts/dmaap-datarouter/datarouter-launch.sh
-# Launch DR. If true is passed, 2 subscriber containers are also deployed, else false.
-dmaap_dr_launch true
-cd ${WORKSPACE}/scripts/dmaap-datarouter/robot_ssl
-# Add the root CA to robot framework. This is then removed on teardown.
-python -c 'import update_ca; update_ca.add_onap_ca_cert()'
\ No newline at end of file
diff --git a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh b/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh
deleted file mode 100755 (executable)
index 536863b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-source ${WORKSPACE}/scripts/dmaap-datarouter/datarouter-teardown.sh
-teardown_dmaap_dr
\ No newline at end of file
diff --git a/plans/dmaap-datarouter/ssl-dr-suite/testplan.txt b/plans/dmaap-datarouter/ssl-dr-suite/testplan.txt
deleted file mode 100755 (executable)
index 5d32c66..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Place the suites in run order.
-dmaap-datarouter/ssl-dr-suite
index 7256494..0d883ea 100644 (file)
@@ -3,8 +3,7 @@
     {
       "caName": "Client",
       "url": "http://oomcert-ejbca:8080/ejbca/publicweb/cmp/cmp",
-      "issuerDN": "CN=ManagementCA",
-      "caMode": "CLIENT",
+      "issuerDN": "O=EJBCA Container Quickstart,CN=ManagementCA,UID=12345",
       "authentication": {
         "iak": "mypassword",
         "rv": "mypassword"
@@ -13,8 +12,7 @@
     {
       "caName": "RA",
       "url": "http://oomcert-ejbca:8080/ejbca/publicweb/cmp/cmpRA",
-      "issuerDN": "CN=ManagementCA",
-      "caMode": "RA",
+      "issuerDN": "O=EJBCA Container Quickstart,CN=ManagementCA,UID=12345",
       "authentication": {
         "iak": "mypassword",
         "rv": "mypassword"
index 734ea13..dff4688 100644 (file)
@@ -8,6 +8,8 @@ services:
     ports:
       - "80:8080"
       - "443:8443"
+    environment:
+      - NO_CREATE_CA=true
     volumes:
       - $RESOURCES_PATH/ejbca-configuration.sh:/opt/primekey/scripts/ejbca-configuration.sh
       - $RESOURCES_PATH/certprofile_CUSTOM_ENDUSER-1834889499.xml:/opt/primekey/custom_profiles/certprofile_CUSTOM_ENDUSER-1834889499.xml
index 3eb146d..3094b7f 100755 (executable)
@@ -1,15 +1,30 @@
 #!/bin/bash
 
 configureEjbca() {
+    ejbca.sh ca init \
+      --caname ManagementCA \
+      --dn "O=EJBCA Container Quickstart,CN=ManagementCA,UID=12345" \
+      --tokenType soft \
+      --keyspec 3072 \
+      --keytype RSA \
+      -v 3652 \
+      --policy null \
+      -s SHA256WithRSA \
+      -type "x509"
     ejbca.sh config cmp addalias --alias cmpRA
     ejbca.sh config cmp updatealias --alias cmpRA --key operationmode --value ra
     ejbca.sh ca editca --caname ManagementCA --field cmpRaAuthSecret --value mypassword
-    ejbca.sh config cmp updatealias --alias cmpRA --key responseprotection --value pbe
+    ejbca.sh config cmp updatealias --alias cmpRA --key responseprotection --value signature
+    ejbca.sh config cmp updatealias --alias cmpRA --key authenticationmodule --value 'HMAC;EndEntityCertificate'
+    ejbca.sh config cmp updatealias --alias cmpRA --key authenticationparameters --value '-;ManagementCA'
+    ejbca.sh config cmp updatealias --alias cmpRA --key allowautomatickeyupdate --value true
     ejbca.sh ca importprofiles -d /opt/primekey/custom_profiles
     #Profile name taken from certprofile filename (certprofile_<profile-name>-<id>.xml)
     ejbca.sh config cmp updatealias --alias cmpRA --key ra.certificateprofile --value CUSTOM_ENDUSER
     #ID taken from entityprofile filename (entityprofile_<profile-name>-<id>.xml)
     ejbca.sh config cmp updatealias --alias cmpRA --key ra.endentityprofileid --value 1356531849
+    caSubject=$(ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout | grep 'Subject' | sed -e "s/^Subject: //" | sed -n '1p')
+    ejbca.sh config cmp updatealias --alias cmpRA --key defaultca --value "$caSubject"
     ejbca.sh config cmp dumpalias --alias cmpRA
     ejbca.sh config cmp addalias --alias cmp
     ejbca.sh config cmp updatealias --alias cmp --key allowautomatickeyupdate --value true
@@ -19,6 +34,13 @@ configureEjbca() {
     ejbca.sh config cmp updatealias --alias cmp --key extractusernamecomponent --value CN
     ejbca.sh config cmp dumpalias --alias cmp
     ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout > cacert.pem
+    #Add "Certificate Update Admin" role to allow performing KUR/CR for certs within specific organization (e.g. Linux-Foundation)
+    ejbca.sh roles addrole "Certificate Update Admin"
+    ejbca.sh roles changerule "Certificate Update Admin" /ca/ManagementCA/ ACCEPT
+    ejbca.sh roles changerule "Certificate Update Admin" /ca_functionality/create_certificate/ ACCEPT
+    ejbca.sh roles changerule "Certificate Update Admin" /endentityprofilesrules/Custom_EndEntity/ ACCEPT
+    ejbca.sh roles changerule "Certificate Update Admin" /ra_functionality/edit_end_entity/ ACCEPT
+    ejbca.sh roles addrolemember "Certificate Update Admin" ManagementCA WITH_ORGANIZATION --value "Linux-Foundation"
 }
 
 configureEjbca
diff --git a/scripts/dmaap-buscontroller/dmaapbc-init.sh b/scripts/dmaap-buscontroller/dmaapbc-init.sh
deleted file mode 100755 (executable)
index 5e9cbb1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-# $1 is the IP address of the buscontroller
-
-# INITIALIZE: dmaap object
-JSON=/tmp/$$.dmaap
-cat << EOF > $JSON
-{
-    "version": "1",
-    "topicNsRoot": "org.onap.dmaap",
-    "drProvUrl": "https://dmaap-dr-prov:8443",
-    "dmaapName": "onapCSIT",
-    "bridgeAdminTopic": "MM_AGENT_PROV"
-
-}
-EOF
-
-echo "Initializing /dmaap endpoint"
-curl -v -k  -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/dmaap
-
-
-# INITIALIZE: dcaeLocation object
-JSON=/tmp/$$.loc
-cat << EOF > $JSON
-{
-    "dcaeLocationName": "csit-sanfrancisco",
-    "dcaeLayer": "central-cloud",
-    "clli": "CSIT12345",
-    "zone": "zoneA"
-
-}
-EOF
-
-echo "Initializing /dcaeLocations endpoint"
-curl -v -k  -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/dcaeLocations
-
-
-# INITIALIZE: MR object in 1 site
-# since MR is currently deployed via docker-compose, its IP doesn't seem
-# to be routable from DBCL. Fortunately, the MR port is mapped from the docker bridge IP address.
-# Found this article for how to deterine the docker bridge IP so using it as a workaround.
-# https://stackoverflow.com/questions/22944631/how-to-get-the-ip-address-of-the-docker-host-from-inside-a-docker-container
-# Used the following snippet found buried in a comment to an answer and then modified for only 1 value.
-DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+' | head -1 )
-# Perhaps there is a better way...
-JSON=/tmp/$$.mrc
-cat << EOF > $JSON
-{
-    "dcaeLocationName": "csit-sanfrancisco",
-    "fqdn": "message-router",
-    "topicProtocol" : "http",
-    "topicPort": "3904"
-
-}
-EOF
-
-echo "Initializing /mr_clusters endpoint"
-curl -v -k  -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/mr_clusters
diff --git a/scripts/dmaap-buscontroller/dmaapbc-launch.sh b/scripts/dmaap-buscontroller/dmaapbc-launch.sh
deleted file mode 100755 (executable)
index 3e446d8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-# script to launch DMaaP buscontroller docker container
-# sets global var IP with assigned IP address
-
-function dmaapbc_launch() {
-    export dmaap_prov_ip=$1
-    export dmaap_mr_ip=$1
-    cd ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose
-    docker-compose -f docker-compose-bc.yml up -d
-
-    sleep 10
-
-    DMAAP_BC_IP=`get-instance-ip.sh dmaap-bc`
-
-    source ${SCRIPTS}/common_functions.sh
-    bypass_ip_adress ${DMAAP_BC_IP}
-
-    # Wait for initialization
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        curl -sS ${DMAAP_BC_IP}:8080 && break
-        echo sleep ${i}
-        sleep ${i}
-    done
-
-}
diff --git a/scripts/dmaap-buscontroller/docker-compose/buscontroller.env b/scripts/dmaap-buscontroller/docker-compose/buscontroller.env
deleted file mode 100644 (file)
index cc3a3c7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-DMAAPBC_WAIT_TO_EXIT=Y
-DMAAPBC_PG_ENABLED=false
-DMAAPBC_CSIT=Yes
-DMAAPBC_KSTOREFILE=/opt/app/osaaf/local/org.onap.dmaap-bc.jks
\ No newline at end of file
diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props
deleted file mode 100644 (file)
index 52536a1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-#   by root
-#   on 2021-03-12T11:38:49.244+0000
-# @copyright 2019, AT&T
-############################################################
-Challenge=secret
-cadi_alias=dmaap-bc@dmaap-bc.onap.org
-cadi_key_password=secret
-#cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile
-cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-bc.jks
-cadi_keystore_password=secret
-cadi_keystore_password_jks=secret
-cadi_keystore_password_p12=secret
-cadi_truststore=/opt/app/osaaf/local/truststore.jks
-cadi_truststore_password=secret
-cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks
deleted file mode 100644 (file)
index ca8301c..0000000
Binary files a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks and /dev/null differ
diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props
deleted file mode 100644 (file)
index a8374dc..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-#   by root
-#   on 2021-03-12T11:25:54.608+0000
-# @copyright 2019, AT&T
-############################################################
-cadi_latitude=38.0
-cadi_longitude=-72.0
diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props
deleted file mode 100644 (file)
index f3747fa..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-#   by root
-#   on 2021-03-12T11:25:54.617+0000
-# @copyright 2019, AT&T
-############################################################
-aaf_env=DEV
-aaf_id=dmaap-bc@dmaap-bc.onap.org
-aaf_locate_url=https://aaf-locate.onap:8095
-aaf_locator_app_ns=org.osaaf.aaf
-aaf_locator_container=oom
-aaf_locator_container_ns=onap
-aaf_locator_fqdn=dmaap-bc
-aaf_locator_public_fqdn=aaf.osaaf.org
-aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect
-aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token
-aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1
-aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1
-aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1
-aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1
-aaf_url_hello=https://aaf-locate.onap:8095/locate/onap.org.osaaf.aaf.hello:2.1
-aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1
-cadi_prop_files=/opt/app/osaaf/local/org.onap.dmaap-bc.location.props:/opt/app/osaaf/local/org.onap.dmaap-bc.cred.props
-cadi_protocols=TLSv1.1,TLSv1.2
diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks
deleted file mode 100644 (file)
index 91547c6..0000000
Binary files a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks and /dev/null differ
diff --git a/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties b/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties
deleted file mode 100644 (file)
index 611a172..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-
-#####################################################
-#
-# Hooks for specific environment configurations
-#
-#####################################################
-# Indicator for whether to use AAF for authentication
-UseAAF: false
-
-# Stub out southbound calls for Unit Test cases to run.  e.g. not timeout
-# Comment out in other environments to get default (No)
-#UnitTest: Yes
-
-
-#####################################################
-#
-# Settings for Southbound API: Datarouter
-#
-#####################################################
-
-# URI to retrieve dynamic DR configuration
-ProvisioningURI:  /internal/prov
-
-# indicator for handling feed delete:
-#  DeleteOnDR - means use the DR API to DELETE a feed.  (default for backwards compatibility)
-#  SimulateDelete - means preserve the feed on DR (after cleaning it up), and mark as DELETED in DBCL.  Better for cloudify environments.
-Feed.deleteHandling: SimulateDelete
-
-###########################################################
-# The following properties default to match ONAP DR instance.
-# However, there are some non-ONAP DR instances that require other values.
-# Sets the X-DR-ON-BEHALF-OF HTTP Header value
-#DR.onBehalfHeader:
-# Value for the Content-Type Header in DR Feed API
-#DR.feedContentType:
-# Value for the Content-Type Header in DR Subscription API
-#DR.subContentType:
-#
-# END OF properties helpful for non-ONAP DR instance.
-############################################################
-
-#####################################################
-#
-# Settings for Soutbound API: Postgresql
-#
-#####################################################
-# flag indicates if we are using postgresql
-UsePGSQL: false
-
-
-#####################################################
-#
-# Settings for Soutbound API: Message Router
-#
-#####################################################
-# indicator for multi-site (locations) deployment.  Give clue to buscontroller whether
-# there is a need for message replication between edge and central.
-# ONAP Casablanca is a single site deployment
-MR.multisite: false
-
-# FQDN of primary message router.
-# In ONAP Casablanca, there is only 1 message router service, so use that.
-# In a multi-site, MR cluster deployment, use the CNAME DNS entry which resolves to the primary central MR
-MR.CentralCname: message-router
-
-# Indicator for whether we want hostname verification on SSL connection to MR
-MR.hostnameVerify: false
-
-
-# MR Client Delete Level thoroughness:
-#  0 = don't delete
-#  1 = delete from persistent store
-#  2 = delete from persistent store (DB) and authorization store (AAF)
-MR.ClientDeleteLevel: 1
-
-# namespace of MR Topic Factory
-MR.TopicFactoryNS: org.onap.dmaap.mr.topicFactory
-
-# AAF Role assigned to Topic Manager Identity
-MR.TopicMgrRole: org.onap.dmaap-bc-topic-mgr.client
-
-# MR topic ProjectID (used in certain topic name generation formats)
-MR.projectID:  mr
-
-# Use Basic Authentication when provisioning topics
-MR.authentication: basicAuth
-
-# MR topic name style (default is FQTN_LEGACY_FORMAT)
-#MR.topicStyle: FQTN_LEGACY_FORMAT
-#
-# end of MR Related Properties
-################################################################################
-
-
-#####################################################
-#
-# Settings for Southbound API: AAF proxy
-#
-#####################################################
-# URL of the AAF server
-aaf.URL: {{ .Values.aafURL }}
-
-# TopicMgr Identity
-aaf.TopicMgrUser: {{ .Values.topicMgrUser }}
-
-# Password for TopicMgr identity
-aaf.TopicMgrPassword: {{ .Values.topicMgrPwd }}
-
-# Buscontroller Admin Identity
-aaf.AdminUser: {{ .Values.adminUser }}
-
-# Admin Password
-aaf.AdminPassword: {{ .Values.adminPwd }}
-
-# Identity that is owner of any created namespaces for topics
-aaf.NsOwnerIdentity: {{ .Values.adminUser }}
-
-
-#
-# endof AAF Properties
-####################################################
-
-
-#####################################################
-#
-# Settings for authorization of DBCAPI
-#
-#####################################################
-# Namespace for URI values for the API used to create AAF permissions
-# e.g. if ApiNamespace is X.Y.dmaapbc.api then for URI /mr_clients we create AAF perm X.Y.dmaapbc.api.mr_clients
-ApiNamespace: org.onap.dmaap-bc.api
-
-# If API authorization is required, then implement a class to enforce it.
-# This overrides the Class used for API permission check.
-ApiPermission.Class: org.onap.dmaap.dbcapi.authentication.AllowAll
-
-
-#####################################################
-#
-# Certificate Management
-#
-#####################################################
-
-# Indicates how we are expecting certificates to be provided:
-#  cadi - a set of artifacts will be downloaded from AAF at deployment time, and details will be in a cadi properties file
-#  legacy (default) - artifacts will be installed manually or some other way and details will be in this file
-CertificateManagement: cadi
-
-# When CertificateManagement is cadi, then this is where all the cadi properties will be.
-# Note that the cadi properties include where the cert is, and the encrypted passwords to read.
-cadi.properties: /opt/app/osaaf/local/org.onap.dmaap-bc.props
-
-
-#####################################################
-#
-# HTTP Server Configuration
-#
-#####################################################
-
-# Allow http access to dbcapi
-HttpAllowed: true
-
-# listen to http port within this container (server)
-IntHttpPort: 8080
-
-# listen to https port within this container (server)
-# set to 0 if no certificates are available.
-IntHttpsPort: 8443
diff --git a/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml b/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml
deleted file mode 100644 (file)
index 7357f90..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-version: '2.1'
-services:
-  dmaap-bc:
-    container_name: dmaap-bc
-    hostname: dmaap-bc
-    image: nexus3.onap.org:10001/onap/dmaap/dmaap-bc
-    ports:
-    - "30241:8080"
-    - "30242:8443"
-    volumes:
-    - ./buscontroller.env:/opt/app/config/conf/buscontroller.env
-    - ./dmaapbc.properties:/opt/app/config/conf/dmaapbc.properties
-    - ./cadi_aaf:/opt/app/osaaf/local
-    - ./logback.xml:/opt/app/dmaapbc/etc/logback.xml
-    networks:
-      dockercompose_net:
-        aliases:
-          - dmaap-bc
-    extra_hosts:
-      - dmaap-dr-prov:$dmaap_prov_ip
-      - message-router:$dmaap_prov_ip
-
-networks:
-  dockercompose_net:
-    external: true
diff --git a/scripts/dmaap-buscontroller/docker-compose/logback.xml b/scripts/dmaap-buscontroller/docker-compose/logback.xml
deleted file mode 100644 (file)
index 9e8492b..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-<!--
-  ============LICENSE_START==========================================
-  org.onap.dmaap
-  ===================================================================
-  Copyright Â© 2018 AT&T Intellectual Property. All rights reserved.
-  ===================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-         http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END============================================
-  ECOMP is a trademark and service mark of AT&T Intellectual Property.
--->
-<configuration scan="true" scanPeriod="3 seconds">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="logs" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="logs" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="ONAP"></property>
-  
-  <!--  log file names -->
-  <property name="generalLogName" value="application" />
-  <property name="securityLogName" value="security" />
-  <property name="performanceLogName" value="performance" />
-  <property name="serverLogName" value="server" />
-  <property name="policyLogName" value="policy" />
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-  
-  <property name="defaultPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}|%msg%n" />
-  
-  <property name="auditLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
-  <property name="metricsLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
-  <property name="errorLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n" />
-  <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%thread|%msg%n" />
-  
-  <property name="logDirectory" value="${logDir}/${componentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}" />
-  
-  
-  <!-- Example evaluator filter applied against console appender -->
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-    
-    
-  <appender name="EELF"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${generalLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELF" />
-  </appender>
-
-  <!-- EELF Security Appender. This appender is used to record security events 
-    to the security log file. Security events are separate from other loggers 
-    in EELF so that security log records can be captured and managed in a secure 
-    way separate from the other logs. This appender is set to never discard any 
-    events. -->
-  <appender name="EELFSecurity"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${securityLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <discardingThreshold>0</discardingThreshold>
-    <appender-ref ref="EELFSecurity" />
-  </appender>
-
-  <!-- EELF Performance Appender. This appender is used to record performance 
-    records. -->
-  <appender name="EELFPerformance"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${performanceLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFPerformance" />
-  </appender>
-
-  <!-- EELF Server Appender. This appender is used to record Server related 
-    logging events. The Server logger and appender are specializations of the 
-    EELF application root logger and appender. This can be used to segregate Server 
-    events from other components, or it can be eliminated to record these events 
-    as part of the application root log. -->
-  <appender name="EELFServer"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${serverLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-        <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFServer" />
-  </appender>
-
-  
-  <!-- EELF Policy Appender. This appender is used to record Policy engine 
-    related logging events. The Policy logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-  <appender name="EELFPolicy"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${policyLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-        <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFPolicy" />
-  </appender>
-  
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-    <pattern>${auditLoggerPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${metricsLoggerPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${errorLoggerPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${debugLoggerPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-  <logger name="com.att.eelf" level="info" additivity="false">
-    <appender-ref ref="asyncEELF" />
-  </logger>
-  <logger name="com.att.eelf.security" level="info" additivity="false">
-    <appender-ref ref="asyncEELFSecurity" /> 
-  </logger>
-  <logger name="com.att.eelf.perf" level="info" additivity="false">
-    <appender-ref ref="asyncEELFPerformance" />
-  </logger>
-  <logger name="com.att.eelf.server" level="info" additivity="false">
-    <appender-ref ref="asyncEELFServer" />
-  </logger>
-  <logger name="com.att.eelf.policy" level="info" additivity="false">
-    <appender-ref ref="asyncEELFPolicy" />
-  </logger>
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-   <logger name="com.att.eelf.error" level="error" additivity="false">
-  <appender-ref ref="asyncEELFError" />
-  </logger>
-  
-   <logger name="com.att.eelf.debug" level="debug" additivity="false">
-        <appender-ref ref="asyncEELFDebug" />
-  </logger>
-  
-  
-
-  
-  <root level="TRACE">
-    <appender-ref ref="asyncEELF" />
-  </root>
-
-</configuration>
diff --git a/scripts/dmaap-datarouter/datarouter-launch.sh b/scripts/dmaap-datarouter/datarouter-launch.sh
deleted file mode 100644 (file)
index 6d38913..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2021 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-#
-
-function dmaap_dr_launch() {
-
-    subscribers_required=$1
-    mkdir -p ${WORKSPACE}/archives/dmaap/dr/last_run_logs
-
-    # start DMaaP DR containers with docker compose and configuration from docker-compose.yml
-    docker login -u docker -p docker nexus3.onap.org:10001
-    if [[ ${subscribers_required} == true ]]; then
-        docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d
-    else
-        docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d datarouter-prov datarouter-node mariadb
-    fi
-
-    # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        if [[ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ]] && \
-            [[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ]] && \
-            [[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]]
-        then
-            echo "DR Service Running"
-            break
-        else
-            echo sleep ${i}
-            sleep ${i}
-        fi
-    done
-
-    # Wait for healthy container datarouter-prov
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        if [[ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]]
-        then
-            echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
-            echo "DR Service Running, datarouter-prov container is healthy"
-            break
-        else
-            echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
-            echo sleep ${i}
-            sleep ${i}
-            if [[ ${i} = 10 ]]
-            then
-                echo datarouter-prov container is not in healthy state - the test is not made, teardown...
-                docker-compose rm -sf
-                exit 1
-            fi
-        fi
-    done
-
-    DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
-    DR_NODE_IP=`get-instance-ip.sh datarouter-node`
-    DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
-    echo DR_PROV_IP=${DR_PROV_IP}
-    echo DR_NODE_IP=${DR_NODE_IP}
-    echo DR_GATEWAY_IP=${DR_GATEWAY_IP}
-    if [[ ${subscribers_required} == true ]]
-    then
-        DR_SUB_IP=`get-instance-ip.sh subscriber-node`
-        DR_SUB2_IP=`get-instance-ip.sh subscriber-node2`
-        echo DR_SUB_IP=${DR_SUB_IP}
-        echo DR_SUB2_IP=${DR_SUB2_IP}
-    fi
-
-
-    sudo sed -i "$ a $DR_PROV_IP dmaap-dr-prov" /etc/hosts
-    sudo sed -i "$ a $DR_NODE_IP dmaap-dr-node" /etc/hosts
-
-    docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP"
-    docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP"
-
-    #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 DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
-}
\ No newline at end of file
diff --git a/scripts/dmaap-datarouter/datarouter-teardown.sh b/scripts/dmaap-datarouter/datarouter-teardown.sh
deleted file mode 100755 (executable)
index 8958f28..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-function teardown_dmaap_dr (){
-    cd ${WORKSPACE}/archives/dmaap/dr
-    rm -rf last_run_logs/*
-    docker cp datarouter-prov:/opt/app/datartr/logs last_run_logs/prov_logs
-    docker cp datarouter-node:/opt/app/datartr/logs last_run_logs/node_event_logs
-    docker cp datarouter-node:/var/log/onap/datarouter last_run_logs/node_server_logs
-    docker cp subscriber-node:/var/log/onap/datarouter last_run_logs/sub1_logs
-    docker cp subscriber-node2:/var/log/onap/datarouter last_run_logs/sub2_logs
-    sudo sed -i".bak" '/dmaap-dr-prov/d' /etc/hosts
-    sudo sed -i".bak" '/dmaap-dr-node/d' /etc/hosts
-    docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml rm -sf
-    cd ${WORKSPACE}/scripts/dmaap-datarouter/robot_ssl
-    python -c 'import update_ca; update_ca.remove_onap_ca_cert()'
-}
\ No newline at end of file
diff --git a/scripts/dmaap-datarouter/docker-compose/docker-compose.yml b/scripts/dmaap-datarouter/docker-compose/docker-compose.yml
deleted file mode 100644 (file)
index 2a0b419..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019-21 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-#
-#
-version: '2.1'
-services:
-  datarouter-prov:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov
-    container_name: datarouter-prov
-    hostname: dmaap-dr-prov
-    ports:
-    - "443:8443"
-    - "8443:8443"
-    - "8080:8080"
-    volumes:
-    - ./provserver.properties:/opt/app/datartr/etc/provserver.properties
-    - ../dr_certs/dr_prov/truststore.jks:/opt/app/osaaf/local/truststore.jks
-    - ../dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12:/opt/app/osaaf/local/org.onap.dmaap-dr-prov.p12
-    - ../dr_certs/dr_prov/org.onap.dmaap-dr.cred.props:/opt/app/osaaf/local/org.onap.dmaap-dr.cred.props
-    depends_on:
-      mariadb:
-        condition: service_healthy
-    healthcheck:
-      test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"]
-      interval: 10s
-      timeout: 30s
-      retries: 5
-    networks:
-      net:
-        aliases:
-        - dmaap-dr-prov
-
-  datarouter-node:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-node
-    container_name: datarouter-node
-    hostname: dmaap-dr-node
-    ports:
-    - "9443:8443"
-    - "9090:8080"
-    volumes:
-    - ./node.properties:/opt/app/datartr/etc/node.properties
-    - ../dr_certs/dr_node/truststore.jks:/opt/app/osaaf/local/truststore.jks
-    - ../dr_certs/dr_node/org.onap.dmaap-dr-node.p12:/opt/app/osaaf/local/org.onap.dmaap-dr-node.p12
-    - ../dr_certs/dr_node/org.onap.dmaap-dr.cred.props:/opt/app/osaaf/local/org.onap.dmaap-dr.cred.props
-    depends_on:
-      datarouter-prov:
-        condition: service_healthy
-    networks:
-      net:
-        aliases:
-        - dmaap-dr-node
-
-  datarouter-subscriber:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber
-    container_name: subscriber-node
-    hostname: subscriber.com
-    ports:
-    - "7070:7070"
-    volumes:
-    - ./subscriber.properties:/opt/app/subscriber/etc/subscriber.properties
-    networks:
-      net:
-        aliases:
-        - subscriber.com
-
-  datarouter-subscriber2:
-    image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber
-    container_name: subscriber-node2
-    hostname: subscriber2.com
-    ports:
-    - "7071:7070"
-    volumes:
-    - ./subscriber.properties:/opt/app/subscriber/etc/subscriber.properties
-    networks:
-      net:
-        aliases:
-        - subscriber2.com
-
-  mariadb:
-    image: mariadb:10.2.14
-    container_name: mariadb
-    hostname: datarouter-mariadb
-    ports:
-    - "3306:3306"
-    environment:
-      MYSQL_ROOT_PASSWORD: datarouter
-      MYSQL_DATABASE: datarouter
-      MYSQL_USER: datarouter
-      MYSQL_PASSWORD: datarouter
-    healthcheck:
-      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-u", "datarouter", "-pdatarouter", "--silent"]
-      interval: 10s
-      timeout: 30s
-      retries: 5
-    networks:
-      net:
-        aliases:
-        - datarouter-mariadb
-
-networks:
-  net:
-    driver: bridge
diff --git a/scripts/dmaap-datarouter/docker-compose/node.properties b/scripts/dmaap-datarouter/docker-compose/node.properties
deleted file mode 100644 (file)
index 58639cf..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-#
-#    Configuration parameters set at startup for the DataRouter node
-#
-#    URL to retrieve dynamic configuration
-ProvisioningURL = https://dmaap-dr-prov:8443/internal/prov
-#
-#    URL to upload PUB/DEL/EXP logs
-LogUploadURL = https://dmaap-dr-prov:8443/internal/logs
-#
-#    The port number for http as seen within the server
-IntHttpPort = 8080
-#
-#    The port number for https as seen within the server
-IntHttpsPort = 8443
-#
-#    The external port number for https taking port mapping into account
-ExtHttpsPort = 443
-#
-#    The minimum interval between fetches of the dynamic configuration from the provisioning server
-MinProvFetchInterval = 10000
-#
-#    The minimum interval between saves of the redirection data file
-MinRedirSaveInterval = 10000
-#
-#    The path to the directory where log files are stored
-LogDir = /opt/app/datartr/logs
-#
-#    The retention interval (in days) for log files
-LogRetention = 30
-#
-#    The path to the directories where data and meta data files are stored
-SpoolDir = /opt/app/datartr/spool
-#
-#    The path to the redirection data file
-RedirectionFile = etc/redirections.dat
-#
-#    The type of keystore for https
-KeyStoreType = PKCS12
-#
-#    The type of truststore for https
-TrustStoreType = jks
-#
-#    The path to the file used to trigger an orderly shutdown
-QuiesceFile = etc/SHUTDOWN
-#
-#    The key used to generate passwords for node to node transfers
-NodeAuthKey = Node123!
-#
-#    DR_NODE DEFAULT ENABLED TLS PROTOCOLS
-NodeHttpsProtocols = TLSv1.1|TLSv1.2
-#
-#    AAF type to generate permission string
-AAFType = org.onap.dmaap-dr.feed
-#
-#    AAF default instance to generate permission string - default should be legacy
-AAFInstance = legacy
-#
-#    AAF action to generate permission string - default should be publish
-AAFAction = publish
-#
-#    AAF CADI enabled flag
-CadiEnabled = false
-#
-#    AAF Props file path
-AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props
diff --git a/scripts/dmaap-datarouter/docker-compose/provserver.properties b/scripts/dmaap-datarouter/docker-compose/provserver.properties
deleted file mode 100755 (executable)
index b54868e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-#Jetty Server properties
-org.onap.dmaap.datarouter.provserver.http.port           = 8080
-org.onap.dmaap.datarouter.provserver.https.port          = 8443
-org.onap.dmaap.datarouter.provserver.https.relaxation    = true
-
-org.onap.dmaap.datarouter.provserver.aafprops.path       = /opt/app/osaaf/local/org.onap.dmaap-dr.props
-
-org.onap.dmaap.datarouter.provserver.accesslog.dir       = /opt/app/datartr/logs
-org.onap.dmaap.datarouter.provserver.spooldir            = /opt/app/datartr/spool
-org.onap.dmaap.datarouter.provserver.dbscripts           = /opt/app/datartr/etc/misc
-org.onap.dmaap.datarouter.provserver.logretention        = 30
-
-#DMAAP-597 (Tech Dept) REST request source IP auth
-# relaxation to accommodate OOM kubernetes deploy
-org.onap.dmaap.datarouter.provserver.isaddressauthenabled = false
-
-#Localhost address config
-org.onap.dmaap.datarouter.provserver.localhost = 127.0.0.1
-
-# Database access
-org.onap.dmaap.datarouter.db.driver   = org.mariadb.jdbc.Driver
-org.onap.dmaap.datarouter.db.url      = jdbc:mariadb://datarouter-mariadb:3306/datarouter
-org.onap.dmaap.datarouter.db.login    = datarouter
-org.onap.dmaap.datarouter.db.password = datarouter
-
-# PROV - DEFAULT ENABLED TLS PROTOCOLS
-org.onap.dmaap.datarouter.provserver.https.include.protocols = TLSv1.1|TLSv1.2
-
-# AAF config
-org.onap.dmaap.datarouter.provserver.cadi.enabled = false
-
-org.onap.dmaap.datarouter.provserver.passwordencryption   = PasswordEncryptionKey#@$%^&1234#
-org.onap.dmaap.datarouter.provserver.aaf.feed.type        = org.onap.dmaap-dr.feed
-org.onap.dmaap.datarouter.provserver.aaf.sub.type         = org.onap.dmaap-dr.sub
-org.onap.dmaap.datarouter.provserver.aaf.instance         = legacy
-org.onap.dmaap.datarouter.provserver.aaf.action.publish   = publish
-org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
\ No newline at end of file
diff --git a/scripts/dmaap-datarouter/docker-compose/subscriber.properties b/scripts/dmaap-datarouter/docker-compose/subscriber.properties
deleted file mode 100644 (file)
index 311bbe5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-#Subscriber properties
-org.onap.dmaap.datarouter.subscriber.http.port           = 7070
-org.onap.dmaap.datarouter.subscriber.https.port          = 7443
-org.onap.dmaap.datarouter.subscriber.auth.user           = LOGIN
-org.onap.dmaap.datarouter.subscriber.auth.password       = PASSWORD
-org.onap.dmaap.datarouter.subscriber.delivery.dir        = /opt/app/subscriber/delivery
-
-org.onap.dmaap.datarouter.subscriber.https.relaxation    = true
-org.onap.dmaap.datarouter.subscriber.keystore.type       = jks
-org.onap.dmaap.datarouter.subscriber.keymanager.password = changeit
-org.onap.dmaap.datarouter.subscriber.keystore.path       = /opt/app/datartr/self_signed/keystore.jks
-org.onap.dmaap.datarouter.subscriber.keystore.password   = changeit
-org.onap.dmaap.datarouter.subscriber.truststore.path     = /opt/app/datartr/self_signed/cacerts.jks
-org.onap.dmaap.datarouter.subscriber.truststore.password = changeit
-
-
-
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12 b/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12
deleted file mode 100644 (file)
index 3793a9d..0000000
Binary files a/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12 and /dev/null differ
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr.cred.props b/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr.cred.props
deleted file mode 100644 (file)
index e32e728..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-#   by root
-#   on 2021-03-12T11:38:49.244+0000
-# @copyright 2019, AT&T
-############################################################
-Challenge=secret
-cadi_alias=dmaap-dr-node@dmaap-dr.onap.org
-cadi_key_password=secret
-#cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile
-cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-dr-node.p12
-cadi_keystore_password=secret
-cadi_keystore_password_jks=secret
-cadi_keystore_password_p12=secret
-cadi_truststore=/opt/app/osaaf/local/truststore.jks
-cadi_truststore_password=secret
-cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jks b/scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jks
deleted file mode 100644 (file)
index 91547c6..0000000
Binary files a/scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jks and /dev/null differ
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12 b/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12
deleted file mode 100755 (executable)
index 1393fb0..0000000
Binary files a/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12 and /dev/null differ
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr.cred.props b/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr.cred.props
deleted file mode 100644 (file)
index 18f91ba..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-#   by root
-#   on 2021-03-12T11:29:50.699+0000
-# @copyright 2019, AT&T
-############################################################
-Challenge=secret
-cadi_alias=dmaap-dr-prov@dmaap-dr.onap.org
-cadi_key_password=secret
-#cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile
-cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-dr-prov.p12
-cadi_keystore_password=secret
-cadi_keystore_password_jks=secret
-cadi_keystore_password_p12=secret
-cadi_truststore=/opt/app/osaaf/local/truststore.jks
-cadi_truststore_password=secret
-cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
diff --git a/scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jks b/scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jks
deleted file mode 100644 (file)
index 91547c6..0000000
Binary files a/scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jks and /dev/null differ
diff --git a/scripts/dmaap-datarouter/robot_ssl/onap_ca_cert.pem b/scripts/dmaap-datarouter/robot_ssl/onap_ca_cert.pem
deleted file mode 100644 (file)
index 1f9d08e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# Issuer: C=US,O=ONAP,OU=OSAAF
-# Subject: C=US,O=ONAP,OU=OSAAF
-# Label: ""
-# Serial: 0x9EAEEDC0A7CEB59D
-# MD5 Fingerprint: 77:EB:5E:94:2E:B7:A3:45:97:6C:87:FE:A7:F7:64:0F
-# SHA1 Fingerprint: 90:25:D1:D3:8B:3C:BE:2C:73:E9:6C:1A:48:5B:06:A8:39:0D:54:3B
-# SHA256 Fingerprint: 1F:C2:BB:F6:7E:11:6F:F0:4C:C3:D9:6C:73:E5:99:B7:CA:7D:4D:EF:AA:6C:69:46:0D:2C:7B:A9:E4:23:5F:EA
------BEGIN CERTIFICATE-----
-MIIFczCCA1ugAwIBAgIUVl0TXS1NTKZy68+AFpfvCBbs3JwwDQYJKoZIhvcNAQEL
-BQAwQTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExDTALBgNVBAoM
-BE9OQVAxDjAMBgNVBAsMBU9TQUFGMB4XDTIxMDMxNjE1MjA1MloXDTQxMDMxMTE1
-MjA1MlowQTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExDTALBgNV
-BAoMBE9OQVAxDjAMBgNVBAsMBU9TQUFGMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
-MIICCgKCAgEA1NdArmwTe6C9NZnMAPP0uvy9IH/+Lc9dgO9+j6F+JqLDXn+O5vaj
-6EMU5o60sGzymbMdwk26jiR7KYG8puZzI0EsjwELrLV5NYrUR1y7g+sbJWFUiB0X
-SseifQD9bSG0YBX7J6bQEilh18+oWpXIygl8/VJuiuDhaYdakmwn9AxQRm/zRDcI
-tMS49gq7ARpwMrZaZkQ5eL2R0eX4yj915fAgsvLNmfNTkkTCTBuGYAfixz2+uz8r
-4xZqxXrln6CVe6pV5MOxxQsJq0QfSfNxKFqhVJTSj3STG8UDKDPIcTqVLS6v3/iY
-WX43pHuqjfrGLy3HjPCIWphsx9EWq02bnLvwsnibRgfXjZNbdhePOZV8Xd+4MfHy
-uyFRf5xHvQm3f3vLtCQ1rmHk/3wb2Mb1SbTGt6sL6Waqs/VnnPyTwhXJk6RnU991
-qAnqSCLzKNEPNnpSTQKU35NPbdCAw/z97K5Ar8JWH2XiM65dV0j0d/Ura0PXUXRN
-Royi7rREJKBMFszwxqCCHZkH6/Fbs8vmBWC1gLQgDqK+IgU1/+ytUPOsMVqPcNjM
-RrZyd8xCoxEyd+Ly6y2EF9RE6qS/rlW/yUh3AIBlpcsVxc+Kh1nvNRLLJzHvrvSs
-wvd6LpWHVaffO02hp3suXDwOtLq91lAHLA48iDty/Js+jFjohZJ/+LsCAwEAAaNj
-MGEwHQYDVR0OBBYEFMeiRem06VRh0sL0L5k9B5A01QAoMB8GA1UdIwQYMBaAFMei
-Rem06VRh0sL0L5k9B5A01QAoMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
-AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBGdpwWyOIw7jBkEJbheeje8ccc51Z0SY/8
-oo/cYi9cI2SNtE4yt9SOZtXiWO1ga1PuFP5vNkPZu3MtqtsDt8CsSgYfgCKX1DH4
-RloTJJO73UKuMmnoqHNsuE6rHRrcoqcV8XJJ9uBz2cDVWfVDG5Pf92lB1cLQ5AGb
-X7O7MKNHu4woFdbbI8f3TN6Qx5oAcrS1alLMuPJhIkwcHuiWdjJuORx2MK4K9gov
-yRJceVyqMiTr7GGYFi/FQKIzIaHeKgQy+YGLfQ1GcbUmVItU4aQMfSM2RXb7wJ90
-XBFi0NjXZfMXVZ9kxqIki/s6NefrDAOFjHINUxGucXjEw1raewprErlsNt/8SUKT
-EDSLe1YD558jzUaqVdWinL6gMRTyyHOwt/51mg4sn3i2WLdL1Hno4F7GUIbkBmi5
-VSDDWnXdpwaFWeqA8JAvy+JIh+Ju671U1HhB68lGRvNOgfZbvW3m8GGpXldR5krR
-OYhwbxdU1rNYHH+DJ0KE4L1Y6es/571+UH7NFbvO6jAk9G/Fudel+SwhXVfFo0pi
-mmXAwT2bmDEiYBzDNHFwyT3+OGKXiDXuMvMB9ic7p3Zk9X0mRtpubW1gfZvUqIqe
-jaVeZdad0DX1yfjwi5zYT+ViI7pjXVYlgiBAnjMrEmWOpRcs793F5zBiyDjaUNFt
-3arVcS9XgA==
------END CERTIFICATE-----
\ No newline at end of file
diff --git a/scripts/dmaap-datarouter/robot_ssl/update_ca.py b/scripts/dmaap-datarouter/robot_ssl/update_ca.py
deleted file mode 100644 (file)
index d36f8ac..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-# ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
-# ============================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=====================================================
-
-import certifi
-import os
-
-
-def add_onap_ca_cert():
-    cafile = certifi.where()
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    datarouter_ca = dir_path + '/onap_ca_cert.pem'
-    with open(datarouter_ca, 'rb') as infile:
-        customca = infile.read()
-
-    with open(cafile, 'ab') as outfile:
-        outfile.write(customca)
-
-    print("Added DR Cert to CA")
-
-
-def remove_onap_ca_cert():
-    cafile = certifi.where()
-    number_of_lines_to_delete = 40
-    count = 0
-    dr_cert_exists = False
-
-    with open(cafile, 'r+b', buffering=0) as outfile:
-        for line in outfile.readlines()[-36:-35]:
-            if '# Serial: 0x9EAEEDC0A7CEB59D'.encode() in line:
-                dr_cert_exists = True
-        if dr_cert_exists:
-            outfile.seek(0, os.SEEK_END)
-            end = outfile.tell()
-            while outfile.tell() > 0:
-                outfile.seek(-1, os.SEEK_CUR)
-                char = outfile.read(1)
-                if char == b'\n':
-                    count += 1
-                if count == number_of_lines_to_delete:
-                    outfile.truncate()
-                    print(
-                        "Removed " + str(number_of_lines_to_delete) + " lines from end of CA File")
-                    exit(0)
-                outfile.seek(-1, os.SEEK_CUR)
-        else:
-            print("No DR cert in CA File to remove")
-
-    if count < number_of_lines_to_delete + 1:
-        print("Number of lines in file less than number of lines to delete. Exiting...")
-        exit(1)
index 60ac2aa..f5de195 100644 (file)
@@ -87,7 +87,7 @@
                 "dmaap_info": {
                   "client_id": "1475976809466",
                   "client_role": "org.onap.dcae.pmPublisher",
-                  "topic_url": "http://dmaap:3904/events/unauthenticated.DCAE_CL_OUTPUT",
+                  "topic_url": "http://dmaap-mr:3904/events/unauthenticated.DCAE_CL_OUTPUT",
                   "location": "san-francisco"
                 },
                 "type": "message_router"
                 "dmaap_info": {
                   "client_id": "1575976809466",
                   "client_role": "org.onap.dcae.aaiSub",
-                  "topic_url": "http://dmaap:3904/events/AAI_EVENT",
+                  "topic_url": "http://dmaap-mr:3904/events/AAI_EVENT",
                   "location": "san-francisco"
                 }
               },
               "policy_pm_subscriber": {
                 "dmaap_info": {
                   "location": "san-francisco",
-                  "topic_url": "http://dmaap:3904/events/unauthenticated.PMSH_CL_INPUT",
+                  "topic_url": "http://dmaap-mr:3904/events/unauthenticated.PMSH_CL_INPUT",
                   "client_role": "org.onap.dcae.pmSubscriber",
                   "client_id": "1575876809456"
                 },
index 4b0dc6e..7145235 100644 (file)
@@ -7,8 +7,6 @@ Library           String
 Library           Process
 
 Resource          ../../common.robot
-
-Test Setup        CreateSessions
 Test Teardown     Delete All Sessions
 
 
@@ -44,7 +42,7 @@ Verify database tables exist and are empty
     [Tags]                          PMSH_02
     [Documentation]                 Verify database has been created and is empty
     [Timeout]                       10 seconds
-    ${resp}=                        Get Request     pmsh_session    ${SUBSCRIPTIONS_ENDPOINT}
+    ${resp}=                        GetSubsCall    ${SUBSCRIPTIONS_ENDPOINT}
     Should Be True                  ${resp.status_code} == 200
     Should Contain                  ${resp.text}                     []
 
@@ -53,8 +51,8 @@ Verify PNF detected in AAI when administrative state unlocked
     [Documentation]                 Verify PNF detected when administrative state unlocked
     [Timeout]                       60 seconds
     SetAdministrativeStateToUnlocked
-    Sleep                           31      Allow PMSH time to pick up changes in CBS config
-    ${resp}=                        Get Request     pmsh_session    ${SUBSCRIPTIONS_ENDPOINT}
+    Sleep                           31             Allow PMSH time to pick up changes in CBS config
+    ${resp}=                        GetSubsCall    ${SUBSCRIPTIONS_ENDPOINT}
     Should Be Equal As Strings      ${resp.json()[0]['subscription_status']}                        UNLOCKED
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_name']}            pnf-existing
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_sub_status']}      PENDING_CREATE
@@ -65,7 +63,7 @@ Verify Policy response on MR is handled
     [Timeout]                       60 seconds
     SimulatePolicyResponse          ${MR_POLICY_RESPONSE_PNF_EXISTING}
     Sleep                           31 seconds      Ensure Policy response on MR is picked up
-    ${resp}=                        Get Request     pmsh_session    ${SUBSCRIPTIONS_ENDPOINT}
+    ${resp}=                        GetSubsCall     ${SUBSCRIPTIONS_ENDPOINT}
     Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_sub_status']}      CREATED
 
 Verify AAI event on MR detailing new PNF being detected is handled
@@ -74,7 +72,7 @@ Verify AAI event on MR detailing new PNF being detected is handled
     [Timeout]                       60 seconds
     SimulateNewPNF                  ${MR_AAI_PNF_CREATED}
     Sleep                           31 seconds      Ensure AAI event on MR is picked up
-    ${resp}=                        Get Request     pmsh_session    ${SUBSCRIPTIONS_ENDPOINT}
+    ${resp}=                        GetSubsCall     ${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]['nf_sub_status']}      PENDING_CREATE
 
@@ -84,29 +82,25 @@ Verify AAI event on MR detailing PNF being deleted is handled
     [Timeout]                       60 seconds
     SimulateDeletedPNF              ${MR_AAI_PNF_REMOVED}
     Sleep                           31 seconds      Ensure AAI event on MR is picked up
-    ${resp}=                        Get Request     pmsh_session    ${SUBSCRIPTIONS_ENDPOINT}
+    ${resp}=                        GetSubsCall     ${SUBSCRIPTIONS_ENDPOINT}
     Should Not Contain              ${resp.text}    pnf_newly_discovered
 
 *** Keywords ***
 
-CreateSessions
-    Create Session  pmsh_session     ${PMSH_BASE_URL}
-    Create Session  mr_sim_session   ${MR_BASE_URL}
-    Create Session  cbs_sim_session  ${CBS_BASE_URL}
-
 SetAdministrativeStateToUnlocked
     ${data}=            Get Data From File      ${CBS_EXPECTATION_ADMIN_STATE_UNLOCKED}
-    ${resp} =           Put Request             cbs_sim_session  /clear  data={"path": "/service_component_all/.*"}
+    Create Session      cbs_sim_session   ${CBS_BASE_URL}    verify=false
+    ${resp}=            PUT On Session    cbs_sim_session    url=/clear  data={"path": "/service_component_all/.*"}
     Should Be True      ${resp.status_code} == 200
-    Sleep               2                       Allow CBS time to set expectation
-    ${resp} =           Put Request             cbs_sim_session  /expectation     data=${data}
+    Sleep               2                 Allow CBS time to set expectation
+    ${resp} =           PUT On Session    cbs_sim_session    url=/expectation     data=${data}
     Should Be True      ${resp.status_code} == 201
 
 
 SimulatePolicyResponse
     [Arguments]                     ${expected_contents}
     ${json_value}=                  json_from_file                  ${expected_contents}
-    ${resp}=                                           PostCall                                        ${POLICY_PUBLISH_MR_TOPIC}     ${json_value}
+    ${resp}=                                           PostMrCall                                  ${POLICY_PUBLISH_MR_TOPIC}     ${json_value}
     log                                                ${resp.text}
     Should Be Equal As Strings         ${resp.status_code}             200
     ${count}=                          Evaluate                                        $resp.json().get('count')
@@ -115,7 +109,7 @@ SimulatePolicyResponse
 SimulateNewPNF
     [Arguments]                     ${expected_contents}
     ${json_value}=                  json_from_file                  ${expected_contents}
-    ${resp}=                                           PostCall                                        ${AAI_MR_TOPIC}      ${json_value}
+    ${resp}=                                           PostMrCall                                      ${AAI_MR_TOPIC}      ${json_value}
     log                                                ${resp.text}
     Should Be Equal As Strings         ${resp.status_code}             200
     ${count}=                          Evaluate                                        $resp.json().get('count')
@@ -124,14 +118,21 @@ SimulateNewPNF
 SimulateDeletedPNF
     [Arguments]                     ${expected_contents}
     ${json_value}=                  json_from_file                  ${expected_contents}
-    ${resp}=                                           PostCall                                        ${AAI_MR_TOPIC}      ${json_value}
+    ${resp}=                                           PostMrCall                                      ${AAI_MR_TOPIC}      ${json_value}
     log                                                ${resp.text}
     Should Be Equal As Strings         ${resp.status_code}             200
     ${count}=                          Evaluate                                        $resp.json().get('count')
     log                                                        'JSON Response Code:'${resp}
 
-PostCall
+PostMrCall
     [Arguments]     ${url}     ${data}
-    ${headers}=    Create Dictionary    Accept=application/json     Content-Type=application/json
-    ${resp}=       Post Request         mr_sim_session     ${url}     json=${data}     headers=${headers}
-    [Return]       ${resp}
+    Create Session  mr_sim_session       ${MR_BASE_URL}    verify=false
+    ${headers}=     Create Dictionary    Accept=application/json     Content-Type=application/json
+    ${resp}=        POST On Session      mr_sim_session    url=${url}    json=${data}     headers=${headers}
+    [Return]        ${resp}
+
+GetSubsCall
+    [Arguments]     ${url}
+    Create Session  pmsh_session      ${PMSH_BASE_URL}    verify=false
+    ${resp}=        GET On Session    pmsh_session        url=${url}
+    [Return]        ${resp}
index 6119ea8..7ded855 100644 (file)
@@ -12,7 +12,7 @@
       {
         "related-to": "pnf",
         "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-        "related-link": "/aai/v12/network/pnfs/pnf/NOK6061ZW9",
+        "related-link": "/aai/v23/network/pnfs/pnf/NOK6061ZW9",
         "relationship-data": [
           {
             "relationship-key": "pnf.pnf-name",
@@ -22,4 +22,4 @@
       }
     ]
   }
-}
\ No newline at end of file
+}
index e01e26e..d4ba547 100644 (file)
@@ -25,7 +25,7 @@
             {
                 "related-to": "service-instance",
                 "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-                "related-link": "/aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service",
+                "related-link": "/aai/v23/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service",
                 "relationship-data": [
                     {
                         "relationship-key": "customer.global-customer-id",
@@ -50,7 +50,7 @@
             {
                 "related-to": "logical-link",
                 "relationship-label": "org.onap.relationships.inventory.BridgedTo",
-                "related-link": "/aai/v12/network/logical-links/logical-link/bbs-link",
+                "related-link": "/aai/v23/network/logical-links/logical-link/bbs-link",
                 "relationship-data": [
                     {
                         "relationship-key": "logical-link.link-name",
@@ -63,4 +63,4 @@
 
 
 
-}
\ No newline at end of file
+}
index e925e00..1d211fd 100644 (file)
@@ -12,7 +12,7 @@
       {
         "related-to": "pnf",
         "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-        "related-link": "/aai/v12/network/pnfs/pnf/NOK6061ZW8",
+        "related-link": "/aai/v23/network/pnfs/pnf/NOK6061ZW8",
         "relationship-data": [
           {
             "relationship-key": "pnf.pnf-name",
@@ -22,4 +22,4 @@
       }
     ]
   }
-}
\ No newline at end of file
+}
index 802ffd8..e7c57bd 100644 (file)
@@ -25,7 +25,7 @@
             {
                 "related-to": "service-instance",
                 "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-                "related-link": "/aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service",
+                "related-link": "/aai/v23/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service",
                 "relationship-data": [
                     {
                         "relationship-key": "customer.global-customer-id",
@@ -49,4 +49,4 @@
             }
         ]
     }
-}
\ No newline at end of file
+}
index e8d6bb7..6a48e94 100644 (file)
   "dmaap.dmaapUpdateProducerConfiguration.dmaapUserName": "admin",
   "dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword": "admin",
   "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json",
-  "aai.aaiClientConfiguration.pnfUrl": "https://aai:3334/aai/v12/network/pnfs/pnf",
-  "aai.aaiClientConfiguration.baseUrl": "https://aai:3334/aai/v12",
+  "aai.aaiClientConfiguration.pnfUrl": "https://aai:3334/aai/v23/network/pnfs/pnf",
+  "aai.aaiClientConfiguration.baseUrl": "https://aai:3334/aai/v23",
   "aai.aaiClientConfiguration.aaiUserName": "DCAE",
   "aai.aaiClientConfiguration.aaiUserPassword": "DCAE",
   "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true,
-  "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}",
+  "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}",
   "aai.aaiClientConfiguration.aaiHeaders": {
     "X-FromAppId": "prh",
     "X-TransactionId": "9999",
@@ -56,4 +56,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
index 734a6f7..e4b8879 100644 (file)
   "dmaap.dmaapUpdateProducerConfiguration.dmaapUserName": "admin",
   "dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword": "admin",
   "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json",
-  "aai.aaiClientConfiguration.pnfUrl": "http://aai:3333/aai/v12/network/pnfs/pnf",
-  "aai.aaiClientConfiguration.baseUrl": "https://aai:3334/aai/v12",
+  "aai.aaiClientConfiguration.pnfUrl": "http://aai:3333/aai/v23/network/pnfs/pnf",
+  "aai.aaiClientConfiguration.baseUrl": "https://aai:3334/aai/v23",
   "aai.aaiClientConfiguration.aaiUserName": "DCAE",
   "aai.aaiClientConfiguration.aaiUserPassword": "DCAE",
   "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true,
-  "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}",
+  "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}",
   "aai.aaiClientConfiguration.aaiHeaders": {
     "X-FromAppId": "prh",
     "X-TransactionId": "9999",
@@ -56,4 +56,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
index c53d5d1..e3a5c2e 100644 (file)
@@ -50,7 +50,7 @@ Verify missing AAI record is logged
     ${ves_event}=    Get Data From File    ${test_case_directory}/ves-event.json
     Add PNF entry in AAI    ${incorrect_aai_entry}
     Set VES event in DMaaP    ${ves_event}
-    Wait for PRH log entry    20s    Request failed for URL 'https://aai:3334/aai/v12/network/pnfs/pnf/NOK6061ZW8'. Response code: 404 Not Found
+    Wait for PRH log entry    20s    Request failed for URL 'https://aai:3334/aai/v23/network/pnfs/pnf/NOK6061ZW8'. Response code: 404 Not Found
 
 Verify AAI not responding is logged
     [Arguments]    ${test_case_directory}
index 05a4e19..c6a320a 100644 (file)
@@ -108,25 +108,25 @@ class AAIHandler(BaseHTTPRequestHandler):
 
     def do_GET(self):
         try:
-            if re.search('/aai/v12/network/pnfs/pnf/[^/]*$', self.path):
+            if re.search('/aai/v23/network/pnfs/pnf/[^/]*$', self.path):
                 pnf_name = basename(self.path)
                 if pnf_name in pnf_entries:
                     httpServerLib.set_response_200_ok(self, payload = pnf_entries[pnf_name])
-                    logger.debug('AAIHandler GET /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 200 OK')
+                    logger.debug('AAIHandler GET /aai/v23/network/pnfs/pnf/' + pnf_name + ' -> 200 OK')
                 else:
                     httpServerLib.set_response_404_not_found(self)
-                    logger.info('AAIHandler GET /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys()))
-            elif re.search('/aai/v12/network/logical-links/logical-link/[^/]*$', self.path):
+                    logger.info('AAIHandler GET /aai/v23/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys()))
+            elif re.search('/aai/v23/network/logical-links/logical-link/[^/]*$', self.path):
                 logical_link_name = basename(self.path)
                 if json.loads(created_logical_link).get("link-name") == logical_link_name:
                     httpServerLib.set_response_200_ok(self, payload = created_logical_link)
-                    logger.debug('AAIHandler GET /aai/v12/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
+                    logger.debug('AAIHandler GET /aai/v23/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
                 else:
                     httpServerLib.set_response_404_not_found(self)
-                    logger.info('AAIHandler GET /aai/v12/network/logical-links/logical-link/' + logical_link_name + ' -> 404 Not found, actual link: ' + created_logical_link)
-            elif re.search('aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path):
+                    logger.info('AAIHandler GET /aai/v23/network/logical-links/logical-link/' + logical_link_name + ' -> 404 Not found, actual link: ' + created_logical_link)
+            elif re.search('aai/v23/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path):
                 httpServerLib.set_response_200_ok(self, payload = json.dumps(service_instance).encode('utf-8'))
-                logger.debug('AAIHandler GET aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK')
+                logger.debug('AAIHandler GET aai/v23/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK')
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('AAIHandler GET ' + self.path + ' -> 404 Not found')
@@ -136,17 +136,17 @@ class AAIHandler(BaseHTTPRequestHandler):
 
     def do_PATCH(self):
         try:
-            if re.search('/aai/v12/network/pnfs/pnf/[^/]*$', self.path):
+            if re.search('/aai/v23/network/pnfs/pnf/[^/]*$', self.path):
                 pnf_name = basename(self.path)
                 if pnf_name in pnf_entries:
                     global patched_pnf
                     patched_pnf = httpServerLib.get_payload(self)
 
                     httpServerLib.set_response_200_ok(self)
-                    logger.debug('AAIHandler PATCH /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 200 OK')
+                    logger.debug('AAIHandler PATCH /aai/v23/network/pnfs/pnf/' + pnf_name + ' -> 200 OK')
                 else:
                     httpServerLib.set_response_404_not_found(self)
-                    logger.info('AAIHandler PATCH /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys()))
+                    logger.info('AAIHandler PATCH /aai/v23/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys()))
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('AAIHandler PATCH ' + self.path + ' -> 404 Not found')
@@ -156,14 +156,14 @@ class AAIHandler(BaseHTTPRequestHandler):
 
     def do_PUT(self):
         try:
-            if re.search('/aai/v12/network/logical-links/logical-link/[^/]*$', self.path):
+            if re.search('/aai/v23/network/logical-links/logical-link/[^/]*$', self.path):
                 global created_logical_link
                 created_logical_link = httpServerLib.get_payload(self)
 
                 httpServerLib.set_response_200_ok(self)
 
                 logical_link_name = basename(self.path)
-                logger.debug('AAIHandler PUT /aai/v12/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
+                logger.debug('AAIHandler PUT /aai/v23/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('AAIHandler PUT ' + self.path + ' -> 404 Not found')
@@ -173,7 +173,7 @@ class AAIHandler(BaseHTTPRequestHandler):
 
     def do_DELETE(self):
         try:
-            if re.search('/aai/v12/network/logical-links/logical-link/[^/]*\?resource-version=\d+$', self.path):
+            if re.search('/aai/v23/network/logical-links/logical-link/[^/]*\?resource-version=\d+$', self.path):
                 httpServerLib.set_response_200_ok(self)
                 logical_link_name = re.search('.+?(?=\?)', basename(self.path)).group(0)
 
@@ -181,7 +181,7 @@ class AAIHandler(BaseHTTPRequestHandler):
                 if json.loads(created_logical_link).get("link-name") == logical_link_name:
                     created_logical_link = AAI_RESOURCE_NOT_FOUND
 
-                logger.debug('AAIHandler DELETE /aai/v12/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
+                logger.debug('AAIHandler DELETE /aai/v23/network/logical-links/logical-link/' + logical_link_name + ' -> 200 OK')
             else:
                 httpServerLib.set_response_404_not_found(self)
                 logger.info('AAIHandler DELETE ' + self.path + ' -> 404 Not found')
@@ -199,4 +199,4 @@ def _main_(handler_class=AAIHandler, protocol="HTTP/1.0"):
 
 
 if __name__ == '__main__':
-    _main_()
\ No newline at end of file
+    _main_()
diff --git a/tests/dmaap-buscontroller/with_dr/__init__.robot b/tests/dmaap-buscontroller/with_dr/__init__.robot
deleted file mode 100644 (file)
index 2d40412..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation    dmaap-buscontroller - dr
diff --git a/tests/dmaap-buscontroller/with_dr/test1.robot b/tests/dmaap-buscontroller/with_dr/test1.robot
deleted file mode 100644 (file)
index 671e89b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-*** Settings ***
-Resource          ../../common.robot
-Library           Collections
-Library           json
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           HttpLibrary.HTTP
-Library           String
-
-
-*** Variables ***
-${DBC_URI}     webapi
-${DBC_URL}     http://${DMAAPBC_IP}:8080/${DBC_URI}
-${LOC}          csit-sanfrancisco
-${FEED1_DATA}  { "feedName":"feed1", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
-${FEED2_DATA}  { "feedName":"feed2", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
-${PUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "pub2", "userpwd": "topSecret123", "feedId": "2" }
-${SUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "sub2", "userpwd": "someSecret123", "deliveryURL": "https://${DMAAPBC_IP}:8443/webapi/noURI", "feedId": "2" }
-
-
-*** Test Cases ***
-(DMAAP-441c1)
-    [Documentation]        Create Feed w no clients POST ${DBC_URI}/feeds endpoint
-    ${resp}=         PostCall     ${DBC_URL}/feeds    ${FEED1_DATA}
-    Should Be Equal As Integers   ${resp.status_code}  200
-
-(DMAAP-441c2)
-    [Documentation]        Create Feed w clients POST ${DBC_URI}/feeds endpoint
-    ${resp}=         PostCall     ${DBC_URL}/feeds    ${FEED2_DATA}
-    Should Be Equal As Integers   ${resp.status_code}  200
-
-(DMAAP-441c3)
-    [Documentation]        Add Publisher to existing feed
-    ${resp}=         PostCall      ${DBC_URL}/dr_pubs    ${PUB2_DATA}
-    Should Be Equal As Integers    ${resp.status_code}  201
-    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
-    ${result}=       Set Variable  ${JSON['pubId']}
-    Set Suite Variable             ${pubId}    ${result}
-
-(DMAAP-441c4)
-    [Documentation]        Add Subscriber to existing feed
-    ${resp}=         PostCall      ${DBC_URL}/dr_subs    ${SUB2_DATA}
-    Should Be Equal As Integers    ${resp.status_code}  201
-    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
-    ${result}=       Set Variable  ${JSON['subId']}
-    Set Suite Variable             ${subId}    ${result}
-
-(DMAAP-443)
-    [Documentation]        List existing feeds
-    Create Session     get          ${DBC_URL}
-    ${resp}=         GET On Session    get       /feeds
-    Should Be Equal As Integers     ${resp.status_code}  200
-
-(DMAAP-444)
-    [Documentation]        Delete existing subscriber
-    ${resp}=         DelCall        ${DBC_URL}/dr_subs/${subId}
-    Should Be Equal As Integers     ${resp.status_code}  204
-
-(DMAAP-445)
-    [Documentation]        Delete existing publisher
-    ${resp}=         DelCall        ${DBC_URL}/dr_pubs/${pubId}
-    Should Be Equal As Integers     ${resp.status_code}  204
-
-
-*** Keywords ***
-PostCall
-    [Arguments]    ${url}           ${data}
-    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
-    ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
-    [Return]       ${resp}
-
-DelCall
-    [Arguments]    ${url}           
-    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
-    ${resp}=       Evaluate    requests.delete('${url}', headers=${headers},verify=False)    requests
-    [Return]       ${resp}
diff --git a/tests/dmaap-buscontroller/with_mr/__init__.robot b/tests/dmaap-buscontroller/with_mr/__init__.robot
deleted file mode 100644 (file)
index ffcec41..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-*** Settings ***
-Documentation    dmaap-buscontroller - mr
-
diff --git a/tests/dmaap-buscontroller/with_mr/test1.robot b/tests/dmaap-buscontroller/with_mr/test1.robot
deleted file mode 100644 (file)
index 37d3e15..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-*** Settings ***
-Resource          ../../common.robot
-Library           Collections
-Library           json
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           HttpLibrary.HTTP
-Library           String
-
-
-*** Variables ***
-${DBC_URI}      webapi
-${DBC_URL}      http://${DMAAP_BC_IP}:8080/${DBC_URI}
-${TOPIC_NS}     org.onap.dmaap.onapCSIT
-${LOC}          csit-sanfrancisco
-${PUB_CORE}     "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.pub", "action": [ "pub", "view" ] 
-${SUB_CORE}     "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.sub", "action": [ "sub", "view" ] 
-${PUB}          { ${PUB_CORE} }
-${SUB}          { ${SUB_CORE} }
-${TOPIC1_DATA}  { "topicName":"singleMRtopic1", "topicDescription":"generated for CSIT", "owner":"dgl"}
-${TOPIC2_DATA}  { "topicName":"singleMRtopic2", "topicDescription":"generated for CSIT", "owner":"dgl", "clients": [ ${PUB}, ${SUB}] }
-${TOPIC3_DATA}  { "topicName":"singleMRtopic3", "topicDescription":"generated for CSIT", "owner":"dgl"}
-${PUB3_DATA}    { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${PUB_CORE} }
-${SUB3_DATA}    { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${SUB_CORE} }
-
-
-*** Test Cases ***
-(DMAAP-293)
-    [Documentation]        Create Topic w no clients POST ${DBC_URI}/topics endpoint
-    ${resp}=         PostCall    ${DBC_URL}/topics    ${TOPIC1_DATA}
-    Should Be Equal As Integers  ${resp.status_code}  201   
-
-(DMAAP-294)
-    [Documentation]        Create Topic w pub and sub clients POST ${DBC_URI}/topics endpoint
-    ${resp}=         PostCall    ${DBC_URL}/topics    ${TOPIC2_DATA}
-    Should Be Equal As Integers  ${resp.status_code}  201
-
-(DMAAP-295)
-    [Documentation]        Create Topic w no clients and then add a client POST ${DBC_URI}/mr_clients endpoint
-    ${resp}=         PostCall    ${DBC_URL}/topics    ${TOPIC3_DATA}
-    Should Be Equal As Integers  ${resp.status_code}  201   
-    ${resp}=         PostCall    ${DBC_URL}/mr_clients    ${PUB3_DATA}
-    Should Be Equal As Integers  ${resp.status_code}  200   
-    ${resp}=         PostCall    ${DBC_URL}/mr_clients    ${SUB3_DATA}
-    Should Be Equal As Integers  ${resp.status_code}  200   
-
-(DMAAP-297)
-    [Documentation]    Query for all topics and specific topic
-    Create Session     get          ${DBC_URL}
-    ${resp}=           GET On Session   get    /topics
-    Should Be Equal As Integers  ${resp.status_code}  200
-    ${resp}=           GET On Session   get    /topics/${TOPIC_NS}.singleMRtopic3
-    Should Be Equal As Integers  ${resp.status_code}  200
-
-(DMAAP-301)
-    [Documentation]    Delete a subscriber
-    Create Session     get          ${DBC_URL}
-    ${resp}=           GET On Session   get    /topics/${TOPIC_NS}.singleMRtopic3
-    Should Be Equal As Integers  ${resp.status_code}  200
-    ${JSON}=           Evaluate      json.loads(r"""${resp.content}""", strict=False)
-    ${clientId}=       Set Variable  ${JSON['clients'][1]['mrClientId']}
-    ${resp}=           DelCall   ${DBC_URL}/mr_clients/${clientId}
-    Should Be Equal As Integers  ${resp.status_code}  204
-
-(DMAAP-302)
-    [Documentation]    Delete a publisher
-    Create Session     get          ${DBC_URL}
-    ${resp}=           GET On Session   get    /topics/${TOPIC_NS}.singleMRtopic3
-    Should Be Equal As Integers  ${resp.status_code}  200
-    ${JSON}=           Evaluate      json.loads(r"""${resp.content}""", strict=False)
-    ${clientId}=       Set Variable  ${JSON['clients'][0]['mrClientId']}
-    ${resp}=           DelCall   ${DBC_URL}/mr_clients/${clientId}
-    Should Be Equal As Integers  ${resp.status_code}  204
-
-
-*** Keywords ***
-PostCall
-    [Arguments]    ${url}           ${data}
-    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
-    ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
-    [Return]       ${resp}
-
-DelCall
-    [Arguments]    ${url}           
-    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
-    ${resp}=       Evaluate    requests.delete('${url}', headers=${headers},verify=False)    requests
-    [Return]       ${resp}
diff --git a/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot b/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot
deleted file mode 100755 (executable)
index 2f96cdc..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-*** Settings ***
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           requests
-Library           Collections
-Library           Process
-Library           String
-
-*** Variables ***
-${TARGET_URL}                       https://dmaap-dr-prov:8443/
-${TARGET_URL_FEED}                  https://dmaap-dr-prov:8443/feed/1
-${TARGET_URL_EXISTS_LOGGING}        https://dmaap-dr-prov:8443/feedlog/1?type=pub&filename=csit_test
-${TARGET_URL_NOT_EXISTS_LOGGING}    https://dmaap-dr-prov:8443/feedlog/1?type=pub&filename=file_that_doesnt_exist
-${TARGET_URL_SUBSCRIBE}             https://dmaap-dr-prov:8443/subscribe/1
-${TARGET_URL_SUBSCRIPTION}          https://dmaap-dr-prov:8443/subs/1
-${TARGET_URL_PUBLISH_PROV}          https://dmaap-dr-prov:8443/publish/1/csit_test
-${TARGET_URL_PUBLISH_NODE}          https://dmaap-dr-node:8443/publish/1/csit_test
-${TARGET_URL_DELETE_FILE}           https://dmaap-dr-node:8443/delete/2
-
-${FEED_CONTENT_TYPE}                application/vnd.dmaap-dr.feed
-${SUBSCRIBE_CONTENT_TYPE}           application/vnd.dmaap-dr.subscription
-${PUBLISH_FEED_CONTENT_TYPE}        application/octet-stream
-
-${CREATE_FEED_DATA}                 {"name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "dradmin", "id": "dradmin"}]}}
-${UPDATE_FEED_DATA}                 {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "dradmin", "id": "dradmin"}]}}
-${SUBSCRIBE_DATA}                   {"delivery":{ "url":"http://${DR_SUB_IP}:7070/",  "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"dradmin", "privilegedSubscriber":false}
-${UPDATE_SUBSCRIPTION_DATA}         {"delivery":{ "url":"http://${DR_SUB_IP}:7070/",  "user":"dradmin", "password":"dradmin", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"dradmin", "privilegedSubscriber":false}
-${SUBSCRIBE2_DATA}                  {"delivery":{ "url":"http://${DR_SUB2_IP}:7070/",  "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"privileged", "privilegedSubscriber":true}
-
-${CLI_VERIFY_SUB_RECEIVED_FILE}     docker exec subscriber-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep csit_test"
-${CLI_VERIFY_FILE_REMAINS_ON_NODE}  docker exec datarouter-node /bin/sh -c "ls /opt/app/datartr/spool/s/0/2 | grep dmaap-dr-node | grep -v .M"
-
-*** Test Cases ***
-Run Feed Creation
-    [Documentation]                 Feed Creation
-    [Timeout]                       1 minute
-    ${resp}=                        PostCall                         ${TARGET_URL}         ${CREATE_FEED_DATA}    ${FEED_CONTENT_TYPE}    dradmin
-    log                             ${TARGET_URL}
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              201
-    log                             'JSON Response Code:'${resp}
-
-Run Subscribe to Feed
-    [Documentation]                 Subscribe to Feed
-    [Timeout]                       1 minute
-    ${resp}=                        PostCall                         ${TARGET_URL_SUBSCRIBE}    ${SUBSCRIBE_DATA}      ${SUBSCRIBE_CONTENT_TYPE}    dradmin
-    log                             ${TARGET_URL_SUBSCRIBE}
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              201
-    log                             'JSON Response Code:'${resp}
-
-Run Subscribe to Feed with Privileged Subscription
-    [Documentation]                 Subscribe to Feed with privileged subscription
-    [Timeout]                       1 minute
-    ${resp}=                        PostCall                         ${TARGET_URL_SUBSCRIBE}    ${SUBSCRIBE2_DATA}      ${SUBSCRIBE_CONTENT_TYPE}    privileged
-    log                             ${TARGET_URL_SUBSCRIBE}
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              201
-    log                             'JSON Response Code:'${resp}
-
-Run Publish to Feed
-    [Documentation]                 Publish to Feed
-    [Timeout]                       1 minute
-    Sleep                           10s                              Behaviour was noticed where feed was not created in time for publish to be sent
-    ${resp}=                        PutCall                          ${TARGET_URL_PUBLISH_PROV}    ${CREATE_FEED_DATA}      ${PUBLISH_FEED_CONTENT_TYPE}    dradmin
-    log                             ${TARGET_URL_PUBLISH_PROV}
-    Should Contain                  ${resp.headers['Location']}      https://dmaap-dr-node:8443/publish/1/csit_test
-    ${resp}=                        PutCall                          ${TARGET_URL_PUBLISH_NODE}    ${CREATE_FEED_DATA}      ${PUBLISH_FEED_CONTENT_TYPE}    dradmin
-    Should Be Equal As Strings      ${resp.status_code}              204
-    log                             'JSON Response Code:'${resp}
-
-Verify Subscriber Received Published File
-    [Documentation]                 Verify file is delivered to datarouter-subscriber
-    [Timeout]                       1 minute
-    Sleep                           5s                               Time to allow subscriber to receive the file
-    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_SUB_RECEIVED_FILE}        shell=yes
-    Log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
-    Should Contain                  ${cli_cmd_output.stdout}         csit_test
-
-
-Verify File Remains On Privileged Subscriber And Delete It
-    [Documentation]                 Verify file has not been deleted on datarouter-node and delete it using DELETE API
-    [Timeout]                       1 minute
-    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_FILE_REMAINS_ON_NODE}        shell=yes
-    log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
-    Should Contain                  ${cli_cmd_output.stdout}         dmaap-dr-node
-    ${resp}=                        DeleteCall                       ${TARGET_URL_DELETE_FILE}/${cli_cmd_output.stdout}   dradmin
-    Should Be Equal As Strings      ${resp.status_code}              200
-    log                             'JSON Response Code:'${resp}
-    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_FILE_REMAINS_ON_NODE}        shell=yes
-    log                             ${cli_cmd_output.stdout}
-    Should Be Equal As Strings      ${cli_cmd_output.rc}             1
-
-Run Update Subscription
-    [Documentation]                 Update Subscription to suspend and change delivery credentials
-    [Timeout]                       1 minute
-    ${resp}=                        PutCall                          ${TARGET_URL_SUBSCRIPTION}    ${UPDATE_SUBSCRIPTION_DATA}      ${SUBSCRIBE_CONTENT_TYPE}    dradmin
-    log                             ${TARGET_URL_SUBSCRIPTION}
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              200
-    log                             'JSON Response Code:'${resp}
-    ${resp}=                        GetCall                          ${TARGET_URL_SUBSCRIPTION}    ${SUBSCRIBE_CONTENT_TYPE}    dradmin
-    log                             ${resp.text}
-    Should Contain                  ${resp.text}                     "password":"dradmin","user":"dradmin"
-    log                             'JSON Response Code:'${resp}
-
-Run Update Feed
-    [Documentation]                 Update Feed description and suspend
-    [Timeout]                       1 minute
-    ${resp}=                        PutCall                          ${TARGET_URL_FEED}    ${UPDATE_FEED_DATA}      ${FEED_CONTENT_TYPE}    dradmin
-    log                             ${TARGET_URL_FEED}
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              200
-    log                             'JSON Response Code:'${resp}
-    ${resp}=                        GetCall                          ${TARGET_URL_FEED}    ${FEED_CONTENT_TYPE}    dradmin
-    log                             ${resp.text}
-    Should Contain                  ${resp.text}                     "UPDATED-CSIT_Test"
-    log                             'JSON Response Code:'${resp}
-
-Run Get With Filename That Exists
-    [Documentation]                 Get publish record with a specified filename
-    [Timeout]                       2 minutes
-    sleep                           1 minute                         45 seconds needed to ensure logs have been updated
-    ${resp}=                        GetCall                          ${TARGET_URL_EXISTS_LOGGING}    ${FEED_CONTENT_TYPE}    dradmin
-    log                             ${resp.text}
-    Should Contain                  ${resp.text}                     "fileName":"csit_test"
-    log                             'JSON Response Code:'${resp}
-
-Run Get With Filename That Doesnt Exist
-    [Documentation]                 Get publish record with a specified filename
-    [Timeout]                       1 minute
-    ${resp}=                        GetCall                          ${TARGET_URL_NOT_EXISTS_LOGGING}    ${FEED_CONTENT_TYPE}    dradmin
-    log                             ${resp.text}
-    Should Contain                  ${resp.text}                     []
-    log                             'JSON Response Code:'${resp}
-
-
-Run Delete Subscription
-    [Documentation]                 Delete Subscription
-    [Timeout]                       1 minute
-    ${resp}=                        DeleteCall                       ${TARGET_URL_SUBSCRIPTION}    dradmin
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              204
-    log                             'JSON Response Code:'${resp}
-
-Run Delete Feed
-    [Documentation]                 Delete Feed
-    [Timeout]                       1 minute
-    ${resp}=                        DeleteCall                       ${TARGET_URL_FEED}    dradmin
-    log                             ${resp.text}
-    Should Be Equal As Strings      ${resp.status_code}              204
-    log                             'JSON Response Code:'${resp}
-
-*** Keywords ***
-PostCall
-    [Arguments]      ${url}              ${data}            ${content_type}        ${user}
-    ${headers}=      Create Dictionary   X-DMAAP-DR-ON-BEHALF-OF=${user}    Content-Type=${content_type}
-    ${resp}=         Evaluate            requests.post('${url}', data='${data}', headers=${headers}, verify=True)    requests
-    [Return]         ${resp}
-
-PutCall
-    [Arguments]      ${url}              ${data}            ${content_type}        ${user}
-    ${headers}=      Create Dictionary   X-DMAAP-DR-ON-BEHALF-OF=${user}    Content-Type=${content_type}    Authorization=Basic ZHJhZG1pbjpkcmFkbWlu
-    ${resp}=         Evaluate            requests.put('${url}', data='${data}', headers=${headers}, verify=True, allow_redirects=False)    requests
-    [Return]         ${resp}
-
-GetCall
-    [Arguments]      ${url}              ${content_type}        ${user}
-    ${headers}=      Create Dictionary   X-DMAAP-DR-ON-BEHALF-OF=${user}    Content-Type=${content_type}
-    ${resp}=         Evaluate            requests.get('${url}', headers=${headers}, verify=True)    requests
-    [Return]         ${resp}
-
-DeleteCall
-    [Arguments]      ${url}              ${user}
-    ${headers}=      Create Dictionary   X-DMAAP-DR-ON-BEHALF-OF=${user}
-    ${resp}=         Evaluate            requests.delete('${url}', headers=${headers}, verify=True)    requests
-    [Return]         ${resp}
diff --git a/tests/oom-platform-cert-service/certservice/assets/invalid_ir_for_update.key b/tests/oom-platform-cert-service/certservice/assets/invalid_ir_for_update.key
new file mode 100644 (file)
index 0000000..63b4c91
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRRERPVGZBU1QvNXNtemQKbjN3MjhNRjFBWFdQc1Z3SzE0cE9GampFV1hTd1FBZi8zTUNtU08zOXZYVjRsclJTb2RjZ0xEZFNKbUs4K0NjUgpZUGJUc05ucGtUSjRVdFdRZlpNQlFTVEMxTWJTWTJBQ2k0VlBWeWVjUGZJanMyMjEzN1JLaUhxSms1QXNQUGRiCkFVNHBuMU5FODJXclBIYUo4enVuR3ZWbG15T2k1RWgrVy9jNk1ONlJpVlhhTmVLUEhxS1JpNmlZRzVnVkVrQTcKaFpXM0dNd3JwUUpIalZhaWlwWW4rUXJJbUdmUmJBdXZVQWxNTkI1ZWR0NmMzclhzZE9Ya0dKZFNNR1U4U1gvegpvQmlaMTVCSkdzYlhxdURqRGNuVHJBMEE1OGdxOHZTdXZlZnJkbUdFYkdUT2RObDA0QUJUR1dEZ0ljMlU0TGcyCm50RmhxejFIQWdNQkFBRUNnZ0VBSFQ0LzdLek1TWUlCcnIwS0pVeXhIZTdIQm14QjVsbmRITTlWVjR3eTM0Zm4KNnRyTmZOc2wwMEdERERvKzdyWFJmTDlDMWlwcjFmU3lIWGRSNGVuMjZuYldnWkdlN2hMeFoxbXp3UCtRZk1sbwpBMW1VOFlxVG8yTGdGNXIwRHk5Z1dWM1NSVE4yZ0RudHI1TWxlelNqaTR1T0tqVlhhRmlvRWVNRzZWNXcyeUJsCnN2d1FZajhVSThobnIwaVFKemt6VXFrRG1OM1RRTytZSVBqbVd4dWxLVEMzN2g0VnltMzdYU3l5M0tmRkw2V2UKWmd1anNIK0t6Q1kzZUhXWHJaUi9mMXJSVmZJemE4ZDVTbjdWTFhjYXZKbzB6Z1pnang3L3VtMGhxVjVFODFjUwp5dmF0NXAxVnlvbE8yRG1UVXVrT3JLemdGVTBxb2h4VExTZ3Y0TE9DYVFLQmdRRDJwVkxrZlRqRWNyQTZPWFE3CmU3YUVYRDlETGZJaXJDdVR0bjdycHBPQWZqYXVYNmdzTGc1WWQ5dXBoQVlkU1VhcUNUTWdTKzZ4Y0tjc2xhWHkKaFp6U1JuQWQrT0ZKaUova2JCMTR3OUpDRWxmQzlpMEc0VzE4dTdxMnJIZ3lhZDlYUUNSODZKTUZuRldWdi81MQpnd3hBd29XMG91b1hlSEZQNjQxZXRjcDVPd0tCZ1FES29LTDRweUZsOU9iV29zSUlUQmJmakZ5SC93YVhHNVlLCm5oWGloWURHK1kyeURJSFhFcCtiWjhaaXFyTU1XbFZjd1U5N0ZQOGRGcXlHOVFTb1RaSVZWejNNMnJDdCtDdU0KWjhWait5VzIxK1QxQXNMcU5xQm96WEdiMXJGLzlyNHV1N2t1Ly96R0VmNGFqK3pFUXQxOFpaWld4NHo4VGIrUApydTgxS0gyclpRS0JnUURSOXA4QUg1RnB1bkJHd0k0djdQck01bko4VCtxbWxZWnJNcG9OSlRxLzBiSGU4MU9JCmVKU0J2MWJoa2FCYTRmd2oxNzBNSzFmQStiTjJndFpJQkhJaGx4RHVrdVhGNFdhcjMxV2ZicVBZMXlDYXVWSlAKWHl3RFdSUnpXWkxnNTd2VzNLV3pKNUd3M3dzRWRmSzZPcHI5cmhxQVVZZVIvMWdHdnZFVHhSSGQ3UUtCZ0ZRbgo0V2ZxYWhtaFhGcGFvTUczY0d5S0xFZ2phRVpNSThYbklHbkRUdGZVLzcrcUtDYitTaUhPT1B2enI0ZDY0U2N6CjltSEZONnVLSmorcTliTTgvR1kycEtrM1R0Z0NVWHZ3QVhCajk2YjRCZFNvdi9Gc25MVEtWdHdGa0JUNGtzWncKR3hwbElVUFdaelg2L3JnSW1WcTRDbmVpUzNEaWphUU1ZTGN3U1BsdEFvR0FHRWZ6Z0RBMzZ1WkJ3ZEhXM0pLQwp5Y2kxeSt5Wjg3YllKUkE0Ujd3ZE1RakRzdTNYMXdBdWxhM2xGak4yQ2ZuZUJKMHBHVytsaGhkd0pPNlBBWXFBCnZCc3VLK2ZUTjFQMlhNdkdDeGFQditMbnFOUCtUVFJlaXdjWlNPWTlybXZqS0U0aW9mRlBXOXU1cjA1L2xhd2cKVDVKTm1CVEpyOGxrd1J4UlNlRmFnNzA9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.csr b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.csr
new file mode 100644 (file)
index 0000000..80b7440
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREdqQ0NBZ0lDQVFBd2R6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeApGakFVQmdOVkJBY01EVk5oYmkxR2NtRnVZMmx6WTI4eERUQUxCZ05WQkFzTUJFOU9RVkF4R1RBWEJnTlZCQW9NCkVFeHBiblY0TFVadmRXNWtZWFJwYjI0eEVUQVBCZ05WQkFNTUNHOXVZWEF1YjNKbk1JSUJJakFOQmdrcWhraUcKOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXdqRWtvT2RhUitHK0ZNRkVLWndYenRyVHp5dWk3V2ZKQlg0SApsMkU3S3JoTUprQ2ZzWTMydFpzN2JXeHFDWjJJdXhVdDZtWVNqeUJKQU4xelRaWWgwcEl6Z21URkNtTjZ2TmpnCmpVb1ovNUk1QTU5WlVZdVROVnhud0ExOUFGN1RvNm84UUE2S0xQZm5XaHVWYU1kM0h0aWVyQkVLRWNYYzV1UnYKOEdXVUdRajhjSVYzM0NaZnBsaUVodjU0SkM4WGtFU3N5dFFmMWFoWHVrZUszblFobU5XSm9lYlcxR1F0WGxiSgpCbUNsYkNyWCtVeTMrbFpQNmg3Qk5FZlIxU1RSaXFTWVdGUU1nYktPMHFRZEN4SFJ1RkFoV0NGb1hsa0MrT1d4ClkvWkU2UHdsMTNCa205MFlld0JoL1NMTmlIQnFmYUJjNGx5SWZDOEkwRWRpZEdsMTZ3SURBUUFCb0Y0d1hBWUoKS29aSWh2Y05BUWtPTVU4d1RUQkxCZ05WSFJFRVJEQkNnaEZ1WlhjdGRHVnpkQzV2Ym1Gd0xtOXlaNElJYjI1aApjQzV2Y21lSEJIOEFBQUdHRG1aMGNEb3ZMM1JsYzNRdWIzSm5nUTEwWlhOMFFHOXVZWEF1YjNKbk1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUJBUUFuK3VyTEp5bGhtVkxuUWx4TnBucUpUNm9KSHA5UWl3VmVPSElIOFRjbnluVnQKNExqUVFNWU9yR2FFNVVEZnlJVVhRdWtUb2RBWGlGeWVoWk1BdUF0Q2IyK3ljc0gzU3cyaVhmOWt5MEttS1FhMgpnTEw0Ymp2MG9rbFJLSzBHRldLMDFhZk82SUpNV3JlakV2U3hOUVpwWmU1TE1pSDFIWG1qeE9sdXZHTEZoUy96CmQwUm1sWHNXNEVQNWFuY2pNalpDRlJCZXhsaThpSmZlcEc2aDJSRVpRR1JRNGZqTDRhbXVvbnVKQ2dNRVR0L1cKKzJWNzhNNWNYWjVoa1NPejhOcWE0SURtNXJsTEhaTnlmM04rTGFWUVVOUnlNTlZKNzN3c1FxdytiS1RsanJWNAozL2pIekhYSmFCTjFNdHNBRnV2MFlJOHFOZ1QwRitWY0JxOUxCVlZaCi0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.key b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.key
new file mode 100644 (file)
index 0000000..2389f74
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRRENNU1NnNTFwSDRiNFUKd1VRcG5CZk8ydFBQSzZMdFo4a0ZmZ2VYWVRzcXVFd21RSit4amZhMW16dHRiR29KbllpN0ZTM3FaaEtQSUVrQQozWE5ObGlIU2tqT0NaTVVLWTNxODJPQ05TaG4va2prRG4xbFJpNU0xWEdmQURYMEFYdE9qcWp4QURvb3M5K2RhCkc1Vm94M2NlMko2c0VRb1J4ZHptNUcvd1paUVpDUHh3aFhmY0psK21XSVNHL25na0x4ZVFSS3pLMUIvVnFGZTYKUjRyZWRDR1kxWW1oNXRiVVpDMWVWc2tHWUtWc0t0ZjVUTGY2VmsvcUhzRTBSOUhWSk5HS3BKaFlWQXlCc283UwpwQjBMRWRHNFVDRllJV2hlV1FMNDViRmo5a1RvL0NYWGNHU2IzUmg3QUdIOUlzMkljR3A5b0Z6aVhJaDhMd2pRClIySjBhWFhyQWdNQkFBRUNnZ0VBQXN3U2F2N3FIZjd5YmZvYXNUNitXUXh0NEo0UVNyc2oraUJHbTdlYTBwSzEKQmhnSU5OYUdwemNGTkI1THFMZk1NR1d0czZLa3djc0ZRaTN1YXordVhRb2VFOUsvdzlhSy9nMWhycWRTbUl2UwpwbXExTHFlRUIxQzliZGJENWkxM2Z2UUV5aWRyZGhwY0NzQTY5cmRvejlqdThDdU9xWkxnQzdOZXFXZk5LazhnCll1WGw5SlZVY0p6RGhhdlRCV2JrMWZFclAzZGkzVDFtVjRPSE9vS2N0Zy9PYWpMZlVpSUl5WDZpSHR3VGVXRTEKTDNWMnM2MTdXWURZczVIcWlER0psU0ppL1FtMTgvZnBKMmt4UTJRZG5YZTlmN2FMeVBtWmRPWU1CQTFMUmlhNwpkbmxwVlpvWXZXa1RUZFdHMDAza05PcHlDOVduUCtLRHdLN0krcTRYZ1FLQmdRRHdER21YUUdXK045UFdVazY1CjBJVW50Q0ZjS3FtcTREcFJPRUIwKzJIWEpZczNxNjdvUmp5eXNFL29QOVliK1l6QXIzMnoybytqWkxyeGhLaVgKQW43ck12UUpLaXJkbWN4QkZQMFBxQXlGNWl2aHJJNWkydjBtSm9DcXcra0pvdVg2cy9YNVZGc3pic0Fxa2xKdgpqbWJkbjRKbkc4T1BOa1dadnR3UW1GelNmUUtCZ1FEUEdLUlM2eUg2OEZ5Q0o5akdyQmY1WlZ0bUpmWEJ6azZ1ClpWRXdjKzJlNExXVXJCdFEvcG1ybnY5am4vcTNzbTdBVS9BT3FYMHN5OWhkckw0ZURCN28zMHFQVmh0YTdORmoKbnFTek1kVkxaRGI0T2FudjhyWlNZYmMzOUU1L3cxOStWamxpM25EOUM4SXhORm56Y2ovcmtHRis2NDkxbWdzbwp4dmZpMFhRdWh3S0JnUUNxY3JYYlR6K3ZWS2JYalBRWG5zZWR6SnJQZmYraHRMdlVCaFJHdkdUWnh1L1dwTko2ClhiMGx5R25FNk9jWVVCY3dqcXU4TkpvL2svdm1HS001THUxK0JsMGYwTkJGTDdySUQ2WXRJczlabUhsYU1oT2MKZ0JDMnNTbzFsd3gyNmpOUTA4MzVyM3RleHVvdWtGMTJsdS9WdURoNURFN005dVZ1NlFZTHhwUktaUUtCZ1FESwphUFZDcmRvYVg0NnJEN01LQ3UycnJlcjFIYWpqY1hicGNORTNvRGJoRUJPcGFjV1JGaWF2M01rVVlDbzJITW11ClpOdStHTjNsU0o4Q2YzR2FBSks5WEhDTlE4V2N5dFdrbmt1dmNNZGQxbWI3bWJDRWV4N0R5Z20vUUtMd3NNM0cKdHhPRGxKR3VZUzI5MWNNTTg5K1JweDREWk14a1R0a1ZVOUszOTZ1c1JRS0JnUUNPU2puU2FhcU1tU1hnM2lxQQp4WVIycnp4bnBOSFVyWVZYNG1rV2lOMyt4V1ZwN05wS2I5MGlmSmU4UXVQRXFRbkRuV1I4TC9pQjd2VWFpQ3BECmpWQjVleXpTMnh1MXhMK1BvbEo1ODJCTHNzS2VJMHpFZ2hBRWx2aXgvWk1CeHdNV0tRK0tVZVJ1bVFYNXZiR3QKOWRvRGxETVUxWGp6d0JMNHJSSmRKSUNFRlE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.csr b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.csr
new file mode 100644 (file)
index 0000000..7e9ea51
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREdqQ0NBZ0lDQVFBd2V6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeApGakFVQmdOVkJBY01EVk5oYmkxR2NtRnVZMmx6WTI4eERUQUxCZ05WQkFzTUJFOU9RVkF4R1RBWEJnTlZCQW9NCkVFeHBiblY0TFVadmRXNWtZWFJwYjI0eEZUQVRCZ05WQkFNTURHNWxkeTF2Ym1Gd0xtOXlaekNDQVNJd0RRWUoKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT0pSOGJTdjlQL1JONmZSbGYrWTR4YWxnd2Z1OEg1RQpMRmhzZmF3N3NYMEo2dDZIelFLa0YxQWFnVGlEODRpRHZua3J3ZUhjeUxsODdDN1d2NVVoaVZ6T0QvWEFqRmQ0Ci9jVVVaeXZPamZWNkxsWmdKTHMwT2JqK2JGNzdSbTdJWnZCeXpwRDJsLy9uOHNMWmxsTlBnY0Y2d1NnbHcwblgKZmxyYysxQUVaYVp6VHFvbStKMEsyZi9QQldQNVdsb29aUGRaOGR3cUI0TnczSmxkUzVwcEczRDVndUhDQmhDeQovRms1N0RVSnhxRDRSYVdKS3UwMnBQL2JqVXBYdjRuajQwNWUrVzZNSjd1blB4M1ZUYXcvUWQ0Mld4ODdJVG1LCjB5UmNVYW5qMGFrSWZSaUFid3VDZkJiWDlKazJjZU05d21qbm5mODlqNDkvNmpyd2lRMTh2bDBDQXdFQUFhQmEKTUZnR0NTcUdTSWIzRFFFSkRqRkxNRWt3UndZRFZSMFJCRUF3UG9JTmRHVnpkQzV2Ym1Gd0xtOXlaNElJYjI1aApjQzV2Y21lSEJIOEFBQUdHRG1aMGNEb3ZMM1JsYzNRdWIzSm5nUTEwWlhOMFFHOXVZWEF1YjNKbk1BMEdDU3FHClNJYjNEUUVCQ3dVQUE0SUJBUUJNRzBwM3lQWHRuRFVWckRreEtweG1MVWk3bWtoamdVLzRkdWFHaHBlSmdyTU4KNGNFVFVHWDdtdWw0aElDckovSGJPMGh5bzdaM2xEaXVCYVhCSmxpU0JXdU4zTmhoNDM5UzBDK1ZEZkVyNGxUZgo4bDlQYXdJRHFVNldhQSs2ejY5WHB4em94YndUK3R3b0ZBdTNtT2U1dVV2bWxNNk1Ma3Q2WE41RnhlUG9Ec21pCjcvRFZDZ3VBWDZNMi92UHpLWGZ2TWFMTzltS0dxNC9WcVpRZ3VHSFZNNUhrbkZQeVJiTUFyV2N3YXBDaWxGNG4KSENiOVdqb1BwZVhxVjFWeUJ2VFhBWTNoRFIwbXlNaFZ2b0QvU2g4UTNjWWttbU1vYlN4WExOZGxsWEt3MFhFagpwY1h6VWtINW5ub2cyQWI3UkVjRnNpQjZ4Qy81WnRpZm1OQWZyVEdYCi0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.key b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.key
new file mode 100644 (file)
index 0000000..0bbb296
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRRGlVZkcwci9ULzBUZW4KMFpYL21PTVdwWU1IN3ZCK1JDeFliSDJzTzdGOUNlcmVoODBDcEJkUUdvRTRnL09JZzc1NUs4SGgzTWk1Zk93dQoxcitWSVlsY3pnLzF3SXhYZVAzRkZHY3J6bzMxZWk1V1lDUzdORG00L214ZSswWnV5R2J3Y3M2UTlwZi81L0xDCjJaWlRUNEhCZXNFb0pjTkoxMzVhM1B0UUJHV21jMDZxSnZpZEN0bi96d1ZqK1ZwYUtHVDNXZkhjS2dlRGNOeVoKWFV1YWFSdHcrWUxod2dZUXN2eFpPZXcxQ2NhZytFV2xpU3J0TnFULzI0MUtWNytKNCtOT1h2bHVqQ2U3cHo4ZAoxVTJzUDBIZU5sc2ZPeUU1aXRNa1hGR3A0OUdwQ0gwWWdHOExnbndXMS9TWk5uSGpQY0pvNTUzL1BZK1BmK282CjhJa05mTDVkQWdNQkFBRUNnZ0VCQUxFVVNMaUZ6SDYwNW9VcVdlRUpjUFZ4UDFyZnU5QXY2enFzZUpCZ2pIazMKWDB3S21YL3RnRWd1MU5peGRjVmt2NDN6ak5uNmRCdWVBUGFORkkzTkZidEZoL3RUVXZ2R01Wa1lvN2tFL3RJSgpiV1FzQ2RGb0Jab1hpQmV4SitUYWJLREtVNUhkUUFUOUtWY0lCTFRleXJubUlHZ1hVL3ZjM29LZDBRMUV3M3c5CjF2ZEo2dEhoS0xwRk54dk51M3FoV1QvT0gvVmdkY3RUVzltazgraWNtNVNJRlVxcWlVMlFTc1pYY0hpUzRnS0MKZFBUb1hEbThTVkk1QTI5VlRuUkJIYkt0WEVaSjQwQWFPczVVSWRDUnA2L1Z6WlhtSlQyNUsvNTRad3F3OEZuTAp5SUFEM1dTcTRWSktKQUQ3ZkpkMjcrditxNXJSVnl3dEt1dFBCK2JNU3dFQ2dZRUEvL0t6R1BJMEsvK0h0OWRFCkwwQXVFK0lyY3A2R0lwTXVDZGRKbms1bVdJMm13c3QyeXZOUllyanM3M3UxckZ4QkZHZnNCK2c0NW9Qa2g3YmYKTDRubjI0TlBkZEwxdlM4YW9EME5HUmJQT2JpU2tvYUxwRTBQNjdOeGNHSk1IL2N2ckFrcFhrWGtaaXFHNXZ0NApKUXlvb1k2eUhxMHNpRW1aSHlRRXA1ZklUR0VDZ1lFQTRsMjBkdnBUM2E1cDNRYWwwTG96RjBGTUxFb21LUFM2CmZDOWJPdXhmdC8wbjA1MFVVeUN3TUUydmZqb0JkekNkSjVrNlNCOWJ3L3U2aHBGY1J0TFliTWZId2piUi9OMjgKKzM2Qno5cUxoTWViQjZIRFZRRldGT0kyZ2RsOWlldndFZG9yVmNpOXpDRXk0TEJqTTNqYmtHaGpzR0RlaG9CcgpzZ1B1T3lkc1UzMENnWUVBckRaZ3l5Z3NjbTQ4b3pYMGF0YUVLbHpEWHh2S3BQaml3VHhhREdvejh1RmNrelRUCmVUcStSKzZsZlgxL2Y3bVRFR2ZjS0hYWDAwSnJRZVdKeGpMRURxOExoL3VwM09FVXlUeEswOWJGRjlGWXpiNDUKdHhNaTR6U1ozMFJFZEQyZGxlT1VNaHBVMDJsSjI2RFg5aFhPWU9YaWMwR1I5U0dRSmFQV2ZlMWltQUVDZ1lBTwoyaThaRDF1cFUrUkdTRVZnNkphcGsvTTNoTFgwUWZwcVk0RU00SzEzR1BrZi9WSjBFZFQ5bGx0SllPenZzUlRlCm9FTWVzRkFKRDk4eExTQnMxVEMyRW5XYzNKUHlqMm55NWw0R0VVVE9OWHFLaWFhVFVUOGdwNmNENWcxQ20yUnAKQjNPSWNWOWlvVnNCT3hHSE13clU4c1Izc2lObmw4MTVKS0RnNkxsRzBRS0JnUUNLbm8xOVpyVkc4U21VZzl1ZgpqRWowN21yUXZMNUFiSEJaVXBVVVZESkMvTGdoY25rbDQvNkZGbG83aDdxQ05hN1JHMUwrdWFrVENiaW95bDVFCmZtSWptVEpaVE9ZYTI4M2hYMk1BaXZFbkNVVUd2bVpjK0t1a1lrNS9YK0NCb0ZBWUx0VTdFUit4SExnZ0VIVFAKSEdUVWkvanhDQTNPU3g5c1VqSHQ1WUVqNHc9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.csr b/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.csr
new file mode 100644 (file)
index 0000000..7a07d6c
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREZqQ0NBZjRDQVFBd2R6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeApGakFVQmdOVkJBY01EVk5oYmkxR2NtRnVZMmx6WTI4eERUQUxCZ05WQkFzTUJFOU9RVkF4R1RBWEJnTlZCQW9NCkVFeHBiblY0TFVadmRXNWtZWFJwYjI0eEVUQVBCZ05WQkFNTUNHOXVZWEF1YjNKbk1JSUJJakFOQmdrcWhraUcKOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXZPKzFuNEpuSzRIRFpmTDBqaFBvOGlYRFpobEtkalFCOVBWTQprZXp1cXpheTJja2NGY2t2aExxc3hRL1JHeHJLaHlZNkRGR2Y1WHVWNkVGYUY3NXF1RlliRlF1REhyV3p0YTFyCmIxQ3pRMFgydDJOOTlFRWVzcGVUUEkzU3dHRHkrb2xveHlvM3E3MXFsdXBRaEtjY2FpZUZRVlFvdzAzZkd5clcKbFJYSENNcjNCZEh2eEtiWFBUSXQ0OFl4ck1CK0FqUUxaUUVyYXlFTitybWlFZlFKUTFvam4rL25hdTZsL1VSVgppcFBVdHJiZVJuZWZRQlpKRzcwVmx0dGtxNUsvQm13Z1djMUtSOC90QnRmVjBFL1hKb2F6Uy9lamo0TCtDWlkrCkhiQTU3YXNmc2VpQ2djL1lBZ2JJRGhLNDg1K3lwbW1mYUpFWEluUDJnSHJkSURCVHh3SURBUUFCb0Zvd1dBWUoKS29aSWh2Y05BUWtPTVVzd1NUQkhCZ05WSFJFRVFEQStnZzEwWlhOMExtOXVZWEF1YjNKbmdnaHZibUZ3TG05eQpaNGNFZndBQUFZWU9ablJ3T2k4dmRHVnpkQzV2Y21lQkRYUmxjM1JBYjI1aGNDNXZjbWN3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFMemxBby9Tczh1ZHpYVWIxdHl1d1BISU03c3dzS3c3WGZHK25mdXpuQ1UrbUZzS01oNlcKWmFXQWtSZ3VUY2d3T2JaNXcwNS9rcjBpZDFrdjJ0WU9xYXViMWZXVisrVmRVSXNZcUoxTENwL3RHU241Rkt6SQpvMVdpcEFOTGJpTEU0MnVPWHA2aHlmeUZsdzhQa2RwdURrUUVrNFV6MGdWK2dVRGZBd0JsOEx3aHdiREY3a3lhCkFiekZrRE5sem9ZemZLRTR4enN5SDNtQlYwdVpGS1lodE9XLzBQYVRnY042NTd6eXRCUGMxMExJaXVDa0NvU2IKYXNueG5FTUJTVU1nbC9YYzM4TFB5WU5BZGNCQTJHS3daeXNBd0J6V3lrNlM1U2x1SG9xcjlJWmdDcldWTlU5YwpGU1VWL29jQWY5Y29CRkRDVXVTWFBxWlpacUxlRnlhclZRRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.key b/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.key
new file mode 100644 (file)
index 0000000..6405104
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRQzg3N1dmZ21jcmdjTmwKOHZTT0UranlKY05tR1VwMk5BSDA5VXlSN082ck5yTFp5UndWeVMrRXVxekZEOUViR3NxSEpqb01VWi9sZTVYbwpRVm9Ydm1xNFZoc1ZDNE1ldGJPMXJXdHZVTE5EUmZhM1kzMzBRUjZ5bDVNOGpkTEFZUEw2aVdqSEtqZXJ2V3FXCjZsQ0VweHhxSjRWQlZDakRUZDhiS3RhVkZjY0l5dmNGMGUvRXB0YzlNaTNqeGpHc3dINENOQXRsQVN0cklRMzYKdWFJUjlBbERXaU9mNytkcTdxWDlSRldLazlTMnR0NUdkNTlBRmtrYnZSV1cyMlNya3I4R2JDQlp6VXBIeiswRwoxOVhRVDljbWhyTkw5Nk9QZ3Y0SmxqNGRzRG50cXgreDZJS0J6OWdDQnNnT0VyanpuN0ttYVo5b2tSY2ljL2FBCmV0MGdNRlBIQWdNQkFBRUNnZ0VCQUx4aFJYWUZUMWpSeVVHZFBMbHNvSmJQa0VQOGM0SG4yUXVraVBQMmlRR3QKU0NaZG51TVo5WWNobWFIaVkxdmpHb3dtVVRwM0tEWm5RdENRV0lQVUdCUXp4a3oxYllieEpIM0FxNTRSbUtzNgoxd09DNzlMYUd3RjJvQmVBVU9IL3lFU0ZQVE5YcEtwWDhpOEc4Y0ZSM2NMNkpLTStobVkwL243WDk1d3VXb1VvCkloWW16Q0J2MmVWSG0veEtLZ01Lai82RWJkdE5uWlRack4rK3ZObmdqZndyTzEzQzR5STYxbzl5dDRzOGpMSHcKMnV4bUcwZ3RBZ0ZCZ0d6UWNFUG5tdEZDWkxYZkhiRVAreklwZ0U0eDZRakYzN05jYThHVmNINEVhOTViWG1LRgplWERlOElvWFJFOU9TZ25SR2hzeTVMUHNlTGYrZG1aVkx1WDNTK2c3WGdFQ2dZRUE2emZMd0U4akRyZUdhM2ExCkV4V2ZZOWZWeDMzWlREdytyYWxZVXBpUTAwWUlWYmRiVlZBZlpxRW1STzVYY2dKOXN1NDZtM3lDc2pZM1M1QnYKZ1daaGtHVmtSSnpoREdYRnpFdmdLcHRZZERNUDZQTzkyOVAyWmxacytnRVhVQlpnRkJ1SW9maWNqSHBuL0VHeAp0VTdGeW5VS1JqbDlDUitqVkN5d28yeGpLVzBDZ1lFQXphRWJuVUNnSTNTOWpvSTYxNVNxcmxCbVhacXpEckFMCi9jNFRPRTltVUhSeDduZ0I0ektERFd4Zys4NnVJQlBEUmc4RkVpQVFxb1g2bi9pUW9iKzFNdXRpYWE4ZUQ2ODIKVmFCL0hsT2NKMHdLVUlPZU0rNnh3WDhOUlRxb09KUjFEeUt3dThTWUNLN3BxcHRoSDgycmhZQ0pqRERlTnp6dwpwUnE1T3hWUEJZTUNnWUI1KzNhVDViWjFsR0dHYTRwZU9sRnRrdW9QeWNrZUN3UXFSVzlEYmxGMDc1VzA5aURNCmJuL0tWbm9sTjBGc0k3U1NUWTloUVVINkw3bWZXMmtvUHpNTGtqbGNoOHNDQmVsOUdFQkplRVI0Qmw4UzNReXgKNnd1V2FPMmMvV0hjcTYzcDM1bU0vZ1FacWdVeFFkUnFCVTczdnBpMGNHM1NoSERNWDF5L2M1ODlSUUtCZ1FDbwpGT0wvblUzSTdhbnNqU01RQ09PamJQRGYzbzR5bVZDVC9CalYxSUVyanFONmEvb08vc0VFL2V3Z3FJYklqWjcyCjYxd1h2c0lnd1RkbC84WXBrUXpLUElITEpXdUxJb3RsWHJYSjBrbzREUDM1Wmp5dzhwRzJPdVpjQ21CckwxNm8KS3BFUVN0aURjSVpzQUdwWmxzSjNjK1A3Qmc3K1UvL1kxWWxIZEZtTmhRS0JnQkRCbkVrQzlRdmZ0RGZaM0lxYwpvcUJNTElMSHJyV2NpRTM4K1JzV3RJSkk2WHhXbEVCV3ppRElBMHk3WXgrUENtYk9ybitlM2Zvd0VZU2E0eXA1ClgzMER3SFB5U1Z2WVAzNUY4NCtnd2FZalVaYW9uT2FBVnRpVXgzdDA3blRMaEEyNnJ0bWZWbDJvbEFTeWNOZWQKTXpZbFBiNUZEQThhRDB2blFteFI3Q2l4Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_kur.csr b/tests/oom-platform-cert-service/certservice/assets/valid_kur.csr
new file mode 100644 (file)
index 0000000..3f898f5
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREZqQ0NBZjRDQVFBd2R6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeApGakFVQmdOVkJBY01EVk5oYmkxR2NtRnVZMmx6WTI4eERUQUxCZ05WQkFzTUJFOU9RVkF4R1RBWEJnTlZCQW9NCkVFeHBiblY0TFVadmRXNWtZWFJwYjI0eEVUQVBCZ05WQkFNTUNHOXVZWEF1YjNKbk1JSUJJakFOQmdrcWhraUcKOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTNpQjc1UExEM2hGWHRLMHNnWmhwLzcxWHExTFBUNWhLcVpkQwo4Sjl1Nkwxeitqb21mczJMN1FDQ2RDL21ic0p6djhZSWtZZGc1L05VVVN4dkxNU1pWN0kyQmRhRERzYUJOV3oxClVuVEQ5TU9mdG8wQTdtK1JZK2FIQnY3cFhYNlVUVkVqdm94MExId3dOanlCdUc3VytKRnR2dFFtR21wdDVUdWYKcHJWUm5jZ2duZlBkZXU1WDVsUTU3aUREYjRZL3VRSWZPRTdvc2MzTmJvN2ZpQ3NmR2VpWllFejB0bE05ZVlaRwpUOXI2WUlTOURqRDBYbDE3TXNCZjR6N1VNTWVOeXc1WTBMK3I3MTlVVDVic2lvaWJQbFdSeTFaZDdGL0UvZ3E5Ci9Yc3ZFMzVqZ0FZWG5STWRjek12TnozdkFWMzgzaWdHeGRMV2ltNnE0bDVKMklXNVpRSURBUUFCb0Zvd1dBWUoKS29aSWh2Y05BUWtPTVVzd1NUQkhCZ05WSFJFRVFEQStnZzEwWlhOMExtOXVZWEF1YjNKbmdnaHZibUZ3TG05eQpaNGNFZndBQUFZWU9ablJ3T2k4dmRHVnpkQzV2Y21lQkRYUmxjM1JBYjI1aGNDNXZjbWN3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFFUDB4UVdsNDduNEowNnUxSjJsTTI4aWhNcy9GaHJNaG5DeTlETFpoYU9uQ3BjSktPNkoKMUhHQU54OEFJRDI5dk93Q09xaVJ5OFZBNHU0aW9LdjdaaS9HT3NhaWh0RWEvQjY4dnBTR1p3RVlmeFJtMXdvYgpWWlRuR0pSbDdKVmg3OVc5SlFjeVcwbEFIRzFPdXdtQUZjc0NMUFlXRDRKVXMrUmptS0R4T2V6R3VpMTcxaUhWCnFHbkNIZGdSUDFFUE9IdnFsYWY2MnlnQ2RaWVoyZGlLK0s1VmJ3OE1XUmF2VGt3cFhEWjNGZGlwYUtQNmJZN3cKR0ROWUZNQ2FySHBsUy9DS2dPZENhdkh4UExTeGFTcis2dE5xV1pQbTBpUk1BdTZ3RThWRTNsMXZFRldUNlg4Rgo0WDNyaGFvQVduK3RabjZCanJtbnoveFlaTlhuck1CM0lLMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==
\ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/assets/valid_kur.key b/tests/oom-platform-cert-service/certservice/assets/valid_kur.key
new file mode 100644 (file)
index 0000000..07770d9
--- /dev/null
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRRGVJSHZrOHNQZUVWZTAKclN5Qm1Hbi92VmVyVXM5UG1FcXBsMEx3bjI3b3ZYUDZPaVorell2dEFJSjBMK1p1d25PL3hnaVJoMkRuODFSUgpMRzhzeEpsWHNqWUYxb01PeG9FMWJQVlNkTVAwdzUrMmpRRHViNUZqNW9jRy91bGRmcFJOVVNPK2pIUXNmREEyClBJRzRidGI0a1cyKzFDWWFhbTNsTzUrbXRWR2R5Q0NkODkxNjdsZm1WRG51SU1OdmhqKzVBaDg0VHVpeHpjMXUKanQrSUt4OFo2SmxnVFBTMlV6MTVoa1pQMnZwZ2hMME9NUFJlWFhzeXdGL2pQdFF3eDQzTERsalF2NnZ2WDFSUApsdXlLaUpzK1ZaSExWbDNzWDhUK0NyMzlleThUZm1PQUJoZWRFeDF6TXk4M1BlOEJYZnplS0FiRjB0YUticXJpClhrblloYmxsQWdNQkFBRUNnZ0VCQU5WTU5DeUJ3ZnY0ZzFRSUJ2amJOczVSTDJKZ3Zwb2NEM1lTdmtENW1ETDkKMmVTcStsUkJaT0JNNFBoWkZ0bTgrQkZyUk1jYVRML3ZOVVJOZXVSdVZTR1ZDN05IYmNvK2E4eTF1RTFadXVITApDQTd3RDdqbWdhS0F0NkRNSDZPYjdTVGhpWVZzc2hJVm51WTE3QXNDeElNa2cxSC92aWNYbERmUHJWc1VPaTliCk41RzRVM041VGRLaDJOcDhQZXNPU0hUZXphamNtNmJXUy9xU3pkZTgzQjNDNE9ZcUFJdjlIVEpLZWpMY0p3WnAKbDlnMlBVTGlKR3I2S0J2aWZwM1lqSm5pQ3ZmbVdIMW5tbEdjaThTU09MeVNUM21MUm84QnhlQUFEenpsUmYvSgpDOHBVZ1ZsbDhUUDh2a1BJNXpsWVhYZExWVDBVVUM5SjRWZUE1cXZMZTNFQ2dZRUE4ZFRvTUMvaHgzR05qeWo2CkFWczNRN2FGUUlZd3FYNEZMbklPejhHKzVpdUZxY01wWWdyVjVwOWhHUm5ud0lIc0M1WE9yTU9ZL0dGdjJUN0oKZXdWZTJ1Z3lqcUF1djgrZTl4Q2JtdmVtcHhtNitkdnZTQjR3WmU1a1haQzM4UHlRUUtHcnB4aStnbUZkYlN0Rgp3a0U3YXFHNmlZUlptZm9jVlZSMjBMSmQ0VU1DZ1lFQTZ5UUpWRDFwRkRUK05ESzRMTmIyeTNGUThWZ2t4UW15CmsvTmdlaFU3SmVZc1pqWjRWaW9LOWp2MGFLbFdsckFyMkFLYUlrWHArTGdxSVB4aEVGWTVCNDJtYW15QlROT20KS3c5SE9FQXV2LzlsRDFvL0kxM1lWTkd5UWdyQjFOZEwwQ20wbmg1SFFLUVRXbFJ5TzBuQzVrTjhmVTJLYmpHTQpQZlI0aG14OUhEY0NnWUVBNVhLeGZvN2Z0S0VMdytvSUV1TmQ4eFFwS0FocUFWYTlTYzBVT3BERU5KVFV0RGFrCmZBNTExdVFmZDNaNXlkQTdpdDV2Z3NIdTFIOEtaV0JLUUR2ZlBPb1VsZmhyZ3JoV1JtcHVpVUV4ME5mNzdIZDkKZDdxVkJ4R0NEcmh4bmVlMFltNUNkRDlvK2tHeEtCUm5rcURiNUJkZzZuczFuSCtQQkhNb2JHamY1QXNDZ1lBZwoyNnBLRVVMTHhoUDNxMWE5UFZURFhSUlloVjZ1QWdyb1Rjd2ZnelArdWNsZWh5SU51RlpMemxqNi94N1FjOUhNCm42QjJSWnJLWE1IV1ZpNGlJRXBiMmRsMWFiQXYwaXVZUE14UStmY09jVnZuNTA2SFhLZk1RbmxNYlVCa3c2a2UKYjVXRHV1dHVCditGVWVPY2tWUWc1VEZTT1RHczhGT09uTWp5ejlvenhRS0JnUUNLcEtqOUxLRlR4bFJoUFduaApITkJ3QWJsMzI2NjhmSW1ORG1yQlkxWHdvczVQdnV2Mjcxckc2STJLUnJDbGdmb3NtdnlJVVY0NjBNZmZNanJrCmJlbFdDdFNyRU4wYlZtK2xQOGkwWGg3REMrRkxmbG1GdTVFclNDUkRjcTY0SzIxWHpSczVzOUVYVnpBekVGaE4KdWpPTExUSDIySUwrclpuZXlWbjUxdW1DQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
\ No newline at end of file
index 3cc2fce..c8ecb3a 100644 (file)
@@ -23,78 +23,150 @@ Check if application is ready
     [Documentation]   Send request to /ready endpoint and expect 200
     Send Get Request And Validate Response  /ready  200
 
-Generate Certificate In RA Mode For CA Name
-    [Tags]      OOM-CERT-SERVICE
+Generate Certificate In RA Endpoint For CA Name
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
     Send Get Request with Header And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${VALID_RA_CSR_FILE}  ${VALID_RA_PK_FILE}
 
-Generate Certificate with all Sans types In RA Mode For CA Name
-    [Tags]      OOM-CERT-SERVICE
+Generate Certificate with all Sans types In RA Endpoint For CA Name
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
     Send Get Request with Header And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${VALID_RA_ALL_SANS_CSR_FILE}  ${VALID_RA_ALL_SANS_PK_FILE}
 
 Report Not Found Error When Path To Service Is Not Valid
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT} endpoint and expect 404
     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}  ${VALID_CLIENT_CSR_FILE}  ${VALID_CLIENT_PK_FILE}  404
 
 Report Bad Request Error When Header Is Missing In Request
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request without header to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
     Send Get Request And Validate Response  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  400
 
 Report Bad Request Error When CSR Is Not Valid
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  ${INVALID_CSR_FILE}  ${VALID_CLIENT_PK_FILE}  400
 
 Report Bad Request Error When PK Is Not Valid
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  ${VALID_CLIENT_CSR_FILE}  ${INVALID_PK_FILE}  400
 
+Update Certificate With Key Update Request In RA Endpoint Should Succeed
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
+    Send Initialization Request And Key Update Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}
+
+Update Certificate With Certification Request When Subject Changed In RA Endpoint Should Succeed
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
+    Send Initialization Request And Certification Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_CR_CSR_CHANGED_SUBJECT}  ${VALID_CR_KEY_CHANGED_SUBJECT}
+
+Update Certificate With Certification Request When Sans Changed In RA Endpoint Should Succeed
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
+    Send Initialization Request And Certification Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_CR_CSR_CHANGED_SANS}  ${VALID_CR_KEY_CHANGED_SANS}
+
+Update Certificate With Key Update Request In RA Endpoint Should Fail When Wrong Old Private Key Is Used
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 500
+    Send Initialization Request And Key Update Request With Wrong Old Private Key And Expect Error  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${INVALID_IR_KEY_FOR_UPDATE}
+
+Update Certificate In RA Endpoint Should Fail When OLD_CERT Header Is Incorrect
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong OLD_CERT header and expect 400
+    Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${INVALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
+
+Update Certificate In RA Endpoint Should Fail When OLD_CERT Header Is Missing
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing OLD_CERT header and expect 400
+    Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  OLD_CERT
+
+Update Certificate In RA Endpoint Should Fail When OLD_PK Header Is Incorrect
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong OLD_PK header and expect 400
+    Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${INVALID_PK_FILE}
+
+Update Certificate In RA Endpoint Should Fail When OLD_PK Header Is Missing
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing OLD_PK header and expect 400
+    Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  OLD_PK
+
+Update Certificate In RA Endpoint Should Fail When CSR Header Is Incorrect
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong CSR header and expect 400
+    Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${INVALID_CSR_FILE}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
+
+Update Certificate In RA Endpoint Should Fail When CSR Header Is Missing
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing CSR header and expect 400
+    Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  CSR
+
+Update Certificate In RA Endpoint Should Fail When PK Header Is Incorrect
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong PK header and expect 400
+    Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${INVALID_PK_FILE}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
+
+Update Certificate In RA Endpoint Should Fail When PK Header Is Missing
+    [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
+    [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing PK header and expect 400
+    Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
+    ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  PK
+
 Cert Service Client successfully creates keystore.p12 and truststore.p12
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and expected exit code 0
     Run Cert Service Client And Validate PKCS12 File Creation And Client Exit Code  ${VALID_ENV_FILE}  0
 
 Cert Service Client successfully creates keystore.jks and truststore.jks
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and expected exit code 0
     Run Cert Service Client And Validate JKS File Creation And Client Exit Code  ${VALID_ENV_FILE_JKS}  0
 
 Cert Service Client successfully creates keystore and truststore with expected data with no OUTPUT_TYPE
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and PKCS12 files created with correct data
     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE}  0
 
 Cert Service Client successfully creates keystore and truststore with all SANs types provided
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and expected exit code 0
     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE_ALL_SANS_TYPES}  0
 
 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=JKS
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and JKS files created with correct data
     Run Cert Service Client And Validate JKS Files Contain Expected Data  ${VALID_ENV_FILE_JKS}  0
 
 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=P12
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and PKCS12 files created with correct data
     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE_P12}  0
 
 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=PEM
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with correct env and PEM files created with correct data
     Run Cert Service Client And Validate PEM Files Contain Expected Data  ${VALID_ENV_FILE_PEM}  0
 
 Cert Service Client reports error when OUTPUT_TYPE is invalid
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with invalid OUTPUT_TYPE env and expected exit code 1
     Run Cert Service Client And Validate Client Exit Code  ${INVALID_ENV_FILE_OUTPUT_TYPE}  1
 
 Run Cert Service Client Container And Validate Exit Code And API Response
-    [Tags]      OOM-CERT-SERVICE
+    [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
     [Documentation]  Run with invalid CaName env and expected exit code 5
     Run Cert Service Client And Validate Http Response Code And Client Exit Code  ${INVALID_ENV_FILE}  404  5
 
diff --git a/tests/oom-platform-cert-service/certservice/libraries/ResponseParser.py b/tests/oom-platform-cert-service/certservice/libraries/ResponseParser.py
new file mode 100644 (file)
index 0000000..d4de5f2
--- /dev/null
@@ -0,0 +1,3 @@
+def parse_response(response):
+  certChain = response["certificateChain"]
+  return "".join(certChain).encode("base64").replace("\n", "").strip()
index be2812d..755cf98 100644 (file)
@@ -5,10 +5,13 @@ Resource          ./cert-service-properties.robot
 Library              RequestsLibrary
 Library           HttpLibrary.HTTP
 Library           Collections
+Library           Process
+Library           DateTime
 Library           ../libraries/CertClientManager.py  ${MOUNT_PATH}  ${TRUSTSTORE_PATH}
 Library           ../libraries/P12ArtifactsValidator.py  ${MOUNT_PATH}
 Library           ../libraries/JksArtifactsValidator.py  ${MOUNT_PATH}
 Library           ../libraries/PemArtifactsValidator.py  ${MOUNT_PATH}
+Library           ../libraries/ResponseParser.py
 
 *** Keywords ***
 
@@ -88,6 +91,93 @@ Send Post Request And Validate Response
     ${resp}=   Post Request    ${https_valid_cert_session}  ${path}
     Should Be Equal As Strings         ${resp.status_code}     ${resp_code}
 
+Send Initialization Request And Key Update Request And Expect Success
+    [Documentation]   Send initialization request and then key update request to passed urls and validate received response
+    [Arguments]   ${path}  ${update_path}   ${csr_file}  ${pk_file}  ${update_csr_file}  ${update_pk_file}
+    ${start_time}=  Get Current Timestamp For Docker Log
+    Send Initialization Request And Update Request And Check Status Code  ${path}  ${update_path}  ${csr_file}  ${pk_file}
+    ...  ${update_csr_file}  ${update_pk_file}  200
+    Verify Key Update Request Sent By Cert Service  ${start_time}
+
+Send Initialization Request And Certification Request And Expect Success
+    [Documentation]   Send initialization request and then certification request to passed urls and validate received response
+    [Arguments]   ${path}  ${update_path}   ${csr_file}  ${pk_file}  ${update_csr_file}  ${update_pk_file}
+    ${start_time}=  Get Current Timestamp For Docker Log
+    Send Initialization Request And Update Request And Check Status Code  ${path}  ${update_path}  ${csr_file}  ${pk_file}
+    ...  ${update_csr_file}  ${update_pk_file}  200
+    Verify Certification Request Sent By Cert Service  ${start_time}
+
+Send Initialization Request And Key Update Request With Wrong Old Private Key And Expect Error
+    [Documentation]   Send initialization request and then key update request to passed urls and expect status code 500
+    [Arguments]   ${path}  ${update_path}   ${csr_file}  ${pk_file}  ${update_csr_file}  ${update_pk_file}  ${wrong_old_pk_file}
+    ${start_time}=  Get Current Timestamp For Docker Log
+    ${old_cert}=  Send Certificate Initialization Request And Return Certificate  ${path}  ${csr_file}  ${pk_file}
+    ${resp}=  Send Certificate Update Request And Return Response  ${update_path}  ${update_csr_file}  ${update_pk_file}  ${old_cert}  ${wrong_old_pk_file}
+    Should Be Equal As Strings         ${resp.status_code}  500
+    Verify Key Update Request Sent By Cert Service  ${start_time}
+
+Send Update Request With Wrong Header And Expect Error
+    [Documentation]   Send update request to passed url and expect wrong header response
+    [Arguments]  ${update_path}  ${update_csr_file}  ${update_pk_file}  ${old_cert_base64}  ${old_pk_file}
+    ${resp}=  Send Certificate Update Request And Return Response  ${update_path}  ${update_csr_file}  ${update_pk_file}  ${old_cert_base64}  ${old_pk_file}
+    Should Be Equal As Strings         ${resp.status_code}  400
+
+Send Update Request With Missing Header And Expect Error
+    [Documentation]   Send update request to passed url and expect wrong header response
+    [Arguments]  ${update_path}  ${update_csr_file}  ${update_pk_file}  ${old_cert_base64}  ${old_pk_file}  ${header_to_remove}
+    ${headers}=  Create Header for Certificate Update  ${update_csr_file}  ${update_pk_file}  ${old_cert_base64}  ${old_pk_file}
+    Remove From Dictionary  ${headers}  ${header_to_remove}
+    ${resp}=  Get Request  ${https_valid_cert_session}  ${update_path}  headers=${headers}
+    Should Be Equal As Strings         ${resp.status_code}  400
+
+Send Initialization Request And Update Request And Check Status Code
+    [Documentation]   Send certificate update request and check status code
+    [Arguments]   ${path}  ${update_path}   ${csr_file}  ${pk_file}  ${update_csr_file}  ${update_pk_file}  ${expected_status_code}
+    ${old_cert}=  Send Certificate Initialization Request And Return Certificate  ${path}  ${csr_file}  ${pk_file}
+    ${resp}=  Send Certificate Update Request And Return Response  ${update_path}  ${update_csr_file}  ${update_pk_file}  ${old_cert}  ${pk_file}
+    Should Be Equal As Strings         ${resp.status_code}  ${expected_status_code}
+
+Send Certificate Initialization Request And Return Certificate
+    [Documentation]   Send certificate initialization request and return base64 encoded certificate from response
+    [Arguments]   ${path}  ${csr_file}  ${pk_file}
+    [Return]    ${base64Certificate}
+    ${resp}=   Send Get Request with Header  ${path}  ${csr_file}  ${pk_file}
+    ${json}=    Parse Json      ${resp.content}
+    ${base64Certificate}=    Parse Response    ${json}
+
+Send Certificate Update Request And Return Response
+    [Documentation]   Send certificate update request and return response code
+    [Arguments]   ${path}   ${csr_file}  ${pk_file}  ${old_cert}  ${old_pk_file}
+    [Return]  ${resp}
+    ${headers}=  Create Header for Certificate Update  ${csr_file}  ${pk_file}  ${old_cert}  ${old_pk_file}
+    ${resp}=  Get Request  ${https_valid_cert_session}  ${path}  headers=${headers}
+
+Create Header for Certificate Update
+    [Documentation]  Create header with CSR and PK, OLD_CERT and OLD_PK
+    [Arguments]  ${csr_file}  ${pk_file}  ${old_cert}  ${old_pk_file}
+    [Return]     ${headers}
+    ${csr}=  Get Data From File  ${csr_file}
+    ${pk}=  Get Data From File  ${pk_file}
+    ${old_pk}=  Get Data From File  ${old_pk_file}
+    ${headers}=  Create Dictionary  CSR=${csr}  PK=${pk}  OLD_CERT=${old_cert}  OLD_PK=${old_pk}
+
+Verify Key Update Request Sent By Cert Service
+    [Documentation]  Verify that request was key update request
+    [Arguments]  ${start_time}
+    ${result}=  Run Process  docker logs oomcert-service --since ${start_time}  shell=yes
+    Should Contain  ${result.stdout}  ${EXPECTED_KUR_LOG}
+
+Verify Certification Request Sent By Cert Service
+    [Documentation]  Verify that request was certification request
+    [Arguments]  ${start_time}
+    ${result}=  Run Process  docker logs oomcert-service --since ${start_time}  shell=yes
+    Should Contain  ${result.stdout}  ${EXPECTED_CR_LOG}
+
+Get Current Timestamp For Docker Log
+    [Documentation]  Gets current timestamp valid for docker
+    [Return]  ${timestamp}
+    ${timestamp}=  Get Current Date  result_format=%Y-%m-%dT%H:%M:%S.%f
+
 Run Cert Service Client And Validate PKCS12 File Creation And Client Exit Code
     [Documentation]  Run Cert Service Client Container And Validate Exit Code
     [Arguments]   ${env_file}  ${expected_exit_code}
index d2ff4ee..f5882ab 100644 (file)
@@ -6,27 +6,42 @@ ${OOMCERT_URL}                           https://localhost:${cert_service_port}
 ${CLIENT_CA_NAME}                        Client
 ${RA_CA_NAME}                            RA
 ${CERT_SERVICE_ENDPOINT}                 /v1/certificate/
-${ROOTCA}                                %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/certs/root.crt
-${CERTSERVICE_SERVER_CRT}                %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/certs/certServiceServer.crt
-${CERTSERVICE_SERVER_KEY}                %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/certs/certServiceServer.key
-${VALID_CLIENT_CSR_FILE}                 %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client.csr
-${VALID_CLIENT_PK_FILE}                  %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client.pk
-${VALID_RA_CSR_FILE}                     %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_ra.csr
-${VALID_RA_PK_FILE}                      %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_ra.pk
-${VALID_RA_ALL_SANS_CSR_FILE}            %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_ra_all_sans.csr
-${VALID_RA_ALL_SANS_PK_FILE}             %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_ra_all_sans.pk
-${INVALID_CSR_FILE}                      %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/invalid.csr
-${INVALID_PK_FILE}                       %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/invalid.key
+${CERT_SERVICE_UPDATE_ENDPOINT}          /v1/certificate-update/
+${ASSETS_DIR}                            %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets
+${ROOTCA}                                ${ASSETS_DIR}/certs/root.crt
+${CERTSERVICE_SERVER_CRT}                ${ASSETS_DIR}/certs/certServiceServer.crt
+${CERTSERVICE_SERVER_KEY}                ${ASSETS_DIR}/certs/certServiceServer.key
+${VALID_CLIENT_CSR_FILE}                 ${ASSETS_DIR}/valid_client.csr
+${VALID_CLIENT_PK_FILE}                  ${ASSETS_DIR}/valid_client.pk
+${VALID_RA_CSR_FILE}                     ${ASSETS_DIR}/valid_ra.csr
+${VALID_RA_PK_FILE}                      ${ASSETS_DIR}/valid_ra.pk
+${VALID_RA_ALL_SANS_CSR_FILE}            ${ASSETS_DIR}/valid_ra_all_sans.csr
+${VALID_RA_ALL_SANS_PK_FILE}             ${ASSETS_DIR}/valid_ra_all_sans.pk
+${INVALID_CSR_FILE}                      ${ASSETS_DIR}/invalid.csr
+${INVALID_PK_FILE}                       ${ASSETS_DIR}/invalid.csr
+${VALID_IR_CSR_FOR_UPDATE}               ${ASSETS_DIR}/valid_ir_for_update.csr
+${VALID_IR_KEY_FOR_UPDATE}               ${ASSETS_DIR}/valid_ir_for_update.key
+${INVALID_IR_KEY_FOR_UPDATE}             ${ASSETS_DIR}/invalid_ir_for_update.key
+${VALID_KUR_CSR}                         ${ASSETS_DIR}/valid_kur.csr
+${VALID_KUR_KEY}                         ${ASSETS_DIR}/valid_kur.key
+${VALID_CR_CSR_CHANGED_SUBJECT}          ${ASSETS_DIR}/valid_cr_changed_subject.csr
+${VALID_CR_KEY_CHANGED_SUBJECT}          ${ASSETS_DIR}/valid_cr_changed_subject.key
+${VALID_CR_CSR_CHANGED_SANS}             ${ASSETS_DIR}/valid_cr_changed_sans.csr
+${VALID_CR_KEY_CHANGED_SANS}             ${ASSETS_DIR}/valid_cr_changed_sans.key
+${EXPECTED_KUR_LOG}                      Preparing Key Update Request
+${EXPECTED_CR_LOG}                       Preparing Certification Request
+${VALID_OLD_CERT_BASE64}                 LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVpekNDQXZPZ0F3SUJBZ0lVR0VwMkdaNlk4bnpEQTlDS2w1blVSSTdDVU44d0RRWUpLb1pJaHZjTkFRRUwKQlFBd1lURWpNQ0VHQ2dtU0pvbVQ4aXhrQVFFTUUyTXRNR3BpWm5FNGNXRXhabTh3ZDJ0dGJua3hGVEFUQmdOVgpCQU1NREUxaGJtRm5aVzFsYm5SRFFURWpNQ0VHQTFVRUNnd2FSVXBDUTBFZ1EyOXVkR0ZwYm1WeUlGRjFhV05yCmMzUmhjblF3SGhjTk1qRXdOakk1TURZMU1ESTFXaGNOTWpNd05qSTVNRFkxTURJMFdqQjNNUkV3RHdZRFZRUUQKREFodmJtRndMbTl5WnpFWk1CY0dBMVVFQ3d3UVRHbHVkWGd0Um05MWJtUmhkR2x2YmpFTk1Bc0dBMVVFQ2d3RQpUMDVCVURFV01CUUdBMVVFQnd3TlUyRnVMVVp5WVc1amFYTmpiekVUTUJFR0ExVUVDQXdLUTJGc2FXWnZjbTVwCllURUxNQWtHQTFVRUJoTUNWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREIKenZieXJyRWlhb0JqOGttYTJRbUMrVkxtbXRXRld5QUpnU3JZQTRreHV5cmpRQ1c0SnlGR3ZtemJZb1VGRkxPRgpoZnExOFZqVHMwY2JUeXNYOGNGU2ZrVjJFS0dFUkJhWm5aUlFzbzZTSUpOR2EzeE1lNUZIalJFeTM0TnAwNElICmpTUTQyZUlCZ2NOaUlhZGE0amdFbklRUVlRSlNQUXRIa2ZPTUM2TyszUnBUL2VIdHZvNXVyUjE2TUZZMUs2c28KbldZaXRJNVRwRUtSb3phdjZ6cVUvb3RIZ241alJMcnlqMElaeTBpamxCZlNLVHhyRmZacjNLb01EdWRWRWZVTQp0c3FFUjNwb2MxZ0ZrcW1DUkszOEJQTmlZN3Y1S0FUUkIrZldOK1A3NW13NDNkcng5ckltcCtKdHBPVXNESzhyCklCZDhvNGFmTnZyL1dyeWdCQjhyQWdNQkFBR2pnYVF3Z2FFd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUUKR0RBV2dCUjlNMXFVblFNMENwSFV6MzRGNXNWVVVjSUR0akFZQmdOVkhSRUVFVEFQZ2cxMFpYTjBMbTl1WVhBdQpiM0puTUNjR0ExVWRKUVFnTUI0R0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREJBWUlLd1lCQlFVSEF3RXdIUVlEClZSME9CQllFRkFmcWNVNnhHaThqempsUnVLUUJ0cVJjWGkrdU1BNEdBMVVkRHdFQi93UUVBd0lGNERBTkJna3EKaGtpRzl3MEJBUXNGQUFPQ0FZRUFBZHc3N3E3c2hLdFM4bERHY0ovWThkRWpqTlNsUnRVMTRFTUM1OWttS2VmdApSaTdkMG9DUVh0ZFJDdXQzeW1pekxWcVFrbVg2U3JHc2hwV1VzTnpUZElUalE2SkIyS09haUlXSUY2ME5TbGVXCjB2TG0zNkVtWTFFcksrektlN3R2R1daaFROVnpCWHRucStBTWZKYzQxdTJ1ZWxreDBMTmN6c1g5YUNhakxIMXYKNHo0WHNVbm05cWlYcG5FbTYzMmVtdUp5ajZOdDBKV1Z1TlRKVFBSbnFWWmY2S0tSODN2OEp1VjBFZWZXZDVXVgpjRnNwTDBIM01LSlY3dWY3aGZsbG5JY1J0elhhNXBjdEJDYm9GU2hWa1JOYUFNUHBKZjBEQkxReG03ZEFXajVBCmhHMXJ3bVRtek02TnB3R0hXL0kxU0ZNbXRRaUYwUEFDejFVbjZuRFcvUmYxaUhFb0dmOFlCTFAzMzJMSlNEdWcKUktuMGNNM1FUY3lVRXpDWnhTd0tKMm5nQzllRzlDMmQzWWhCNlp4dGwrZ1VJYTNBd3dQYnFyN1lSOVFrRDJFbwpkNExxRUg5em55QmZpN2syWUN3UDZydGZTaTZDbHliWGU4ZUJjdU1FUzRUQVFmRks2RlZmNTh0R1FJeDA2STBPCjM0bmVtWndrTG9PQnpaa2VwYVF2Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+${INVALID_OLD_CERT_BASE64}               aW5jb3JyZWN0X29sZF9jZXJ0Cg==
 
 
 ${CERT_SERVICE_ADDRESS}                  https://${CERT_SERVICE_CONTAINER_NAME}:${CERT_SERVICE_PORT}
-${VALID_ENV_FILE}                        %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client_docker.env
-${VALID_ENV_FILE_JKS}                    %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client_docker_jks.env
-${VALID_ENV_FILE_P12}                    %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client_docker_p12.env
-${VALID_ENV_FILE_PEM}                    %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client_docker_pem.env
-${VALID_ENV_FILE_ALL_SANS_TYPES}         %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/valid_client_docker_all_sans_types.env
-${INVALID_ENV_FILE_OUTPUT_TYPE}          %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/invalid_client_docker_output_type.env
-${INVALID_ENV_FILE}                      %{WORKSPACE}/tests/oom-platform-cert-service/certservice/assets/invalid_client_docker.env
+${VALID_ENV_FILE}                        ${ASSETS_DIR}/valid_client_docker.env
+${VALID_ENV_FILE_JKS}                    ${ASSETS_DIR}/valid_client_docker_jks.env
+${VALID_ENV_FILE_P12}                    ${ASSETS_DIR}/valid_client_docker_p12.env
+${VALID_ENV_FILE_PEM}                    ${ASSETS_DIR}/valid_client_docker_pem.env
+${VALID_ENV_FILE_ALL_SANS_TYPES}         ${ASSETS_DIR}/valid_client_docker_all_sans_types.env
+${INVALID_ENV_FILE_OUTPUT_TYPE}          ${ASSETS_DIR}/invalid_client_docker_output_type.env
+${INVALID_ENV_FILE}                      ${ASSETS_DIR}/invalid_client_docker.env
 ${DOCKER_CLIENT_IMAGE}                   nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.3.3
 ${CLIENT_CONTAINER_NAME}                 %{ClientContainerName}
 ${CERT_SERVICE_NETWORK}                  certservice_certservice