aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json6
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/assets/kafka/zk_client_jaas.conf5
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/assets/mr/MsgRtrApi.properties166
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/assets/zk/zk_server_jaas.conf4
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml82
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/setup.sh21
-rw-r--r--plans/dcaegen2-services-pmsh/testsuite/teardown.sh2
-rwxr-xr-xplans/dmaap-buscontroller/with_dr/setup.sh45
-rwxr-xr-xplans/dmaap-buscontroller/with_dr/teardown.sh34
-rwxr-xr-xplans/dmaap-buscontroller/with_dr/testplan.txt2
-rwxr-xr-xplans/dmaap-buscontroller/with_mr/setup.sh39
-rw-r--r--plans/dmaap-buscontroller/with_mr/teardown.sh30
-rw-r--r--plans/dmaap-buscontroller/with_mr/testplan.txt3
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/setup.sh25
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/teardown.sh21
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/testplan.txt2
-rw-r--r--plans/oom-platform-cert-service/certservice/cmpServers.json6
-rw-r--r--plans/oom-platform-cert-service/certservice/docker-compose.yml2
-rwxr-xr-xplans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh24
-rwxr-xr-xscripts/dmaap-buscontroller/dmaapbc-init.sh58
-rwxr-xr-xscripts/dmaap-buscontroller/dmaapbc-launch.sh26
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/buscontroller.env4
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props17
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jksbin4719 -> 0 bytes
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props8
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props24
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jksbin3234 -> 0 bytes
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties168
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml25
-rw-r--r--scripts/dmaap-buscontroller/docker-compose/logback.xml356
-rw-r--r--scripts/dmaap-datarouter/datarouter-launch.sh92
-rwxr-xr-xscripts/dmaap-datarouter/datarouter-teardown.sh33
-rw-r--r--scripts/dmaap-datarouter/docker-compose/docker-compose.yml118
-rw-r--r--scripts/dmaap-datarouter/docker-compose/node.properties82
-rwxr-xr-xscripts/dmaap-datarouter/docker-compose/provserver.properties55
-rw-r--r--scripts/dmaap-datarouter/docker-compose/subscriber.properties35
-rw-r--r--scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12bin4596 -> 0 bytes
-rw-r--r--scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr.cred.props17
-rw-r--r--scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jksbin3234 -> 0 bytes
-rwxr-xr-xscripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12bin4596 -> 0 bytes
-rw-r--r--scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr.cred.props17
-rw-r--r--scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jksbin3234 -> 0 bytes
-rw-r--r--scripts/dmaap-datarouter/robot_ssl/onap_ca_cert.pem40
-rw-r--r--scripts/dmaap-datarouter/robot_ssl/update_ca.py65
-rw-r--r--tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json6
-rw-r--r--tests/dcaegen2-services-pmsh/testcases/pmsh.robot47
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json4
-rw-r--r--tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json6
-rw-r--r--tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json4
-rw-r--r--tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json4
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json8
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json8
-rw-r--r--tests/dcaegen2/prh-testcases/resources/prh_library.robot2
-rw-r--r--tests/dcaegen2/prh-testcases/resources/simulator/AAI.py32
-rw-r--r--tests/dmaap-buscontroller/with_dr/__init__.robot2
-rw-r--r--tests/dmaap-buscontroller/with_dr/test1.robot76
-rw-r--r--tests/dmaap-buscontroller/with_mr/__init__.robot3
-rw-r--r--tests/dmaap-buscontroller/with_mr/test1.robot87
-rwxr-xr-xtests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot179
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/invalid_ir_for_update.key1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.csr1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.key1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.csr1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.key1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.csr1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.key1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_kur.csr1
-rw-r--r--tests/oom-platform-cert-service/certservice/assets/valid_kur.key1
-rw-r--r--tests/oom-platform-cert-service/certservice/cert-service-test.robot106
-rw-r--r--tests/oom-platform-cert-service/certservice/libraries/ResponseParser.py3
-rw-r--r--tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot90
-rw-r--r--tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot51
72 files changed, 581 insertions, 1905 deletions
diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json
index 68269622..194e556a 100644
--- a/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json
+++ b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json
@@ -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"
@@ -99,14 +99,14 @@
"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
index 00000000..79a76017
--- /dev/null
+++ b/plans/dcaegen2-services-pmsh/testsuite/assets/kafka/zk_client_jaas.conf
@@ -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
index 00000000..47643216
--- /dev/null
+++ b/plans/dcaegen2-services-pmsh/testsuite/assets/mr/MsgRtrApi.properties
@@ -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
index 00000000..3d2767fa
--- /dev/null
+++ b/plans/dcaegen2-services-pmsh/testsuite/assets/zk/zk_server_jaas.conf
@@ -0,0 +1,4 @@
+Server {
+ org.apache.zookeeper.server.auth.DigestLoginModule required
+ user_kafka="kafka_secret";
+}; \ No newline at end of file
diff --git a/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml
index 6541ddbf..8f51dfdc 100644
--- a/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml
+++ b/plans/dcaegen2-services-pmsh/testsuite/docker-compose.yml
@@ -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
diff --git a/plans/dcaegen2-services-pmsh/testsuite/setup.sh b/plans/dcaegen2-services-pmsh/testsuite/setup.sh
index d7b988e4..73a219f7 100644
--- a/plans/dcaegen2-services-pmsh/testsuite/setup.sh
+++ b/plans/dcaegen2-services-pmsh/testsuite/setup.sh
@@ -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)
diff --git a/plans/dcaegen2-services-pmsh/testsuite/teardown.sh b/plans/dcaegen2-services-pmsh/testsuite/teardown.sh
index 75e624e5..a01dfda0 100644
--- a/plans/dcaegen2-services-pmsh/testsuite/teardown.sh
+++ b/plans/dcaegen2-services-pmsh/testsuite/teardown.sh
@@ -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
index 822f6a7e..00000000
--- a/plans/dmaap-buscontroller/with_dr/setup.sh
+++ /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
index 5e801423..00000000
--- a/plans/dmaap-buscontroller/with_dr/teardown.sh
+++ /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
index 04c6838d..00000000
--- a/plans/dmaap-buscontroller/with_dr/testplan.txt
+++ /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
index 74bfb0c5..00000000
--- a/plans/dmaap-buscontroller/with_mr/setup.sh
+++ /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
index 5149743a..00000000
--- a/plans/dmaap-buscontroller/with_mr/teardown.sh
+++ /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
index a8fe876a..00000000
--- a/plans/dmaap-buscontroller/with_mr/testplan.txt
+++ /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
index 53b4387c..00000000
--- a/plans/dmaap-datarouter/ssl-dr-suite/setup.sh
+++ /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
index 536863bc..00000000
--- a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh
+++ /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
index 5d32c668..00000000
--- a/plans/dmaap-datarouter/ssl-dr-suite/testplan.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Place the suites in run order.
-dmaap-datarouter/ssl-dr-suite
diff --git a/plans/oom-platform-cert-service/certservice/cmpServers.json b/plans/oom-platform-cert-service/certservice/cmpServers.json
index 72564949..0d883eae 100644
--- a/plans/oom-platform-cert-service/certservice/cmpServers.json
+++ b/plans/oom-platform-cert-service/certservice/cmpServers.json
@@ -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"
diff --git a/plans/oom-platform-cert-service/certservice/docker-compose.yml b/plans/oom-platform-cert-service/certservice/docker-compose.yml
index 734ea131..dff46881 100644
--- a/plans/oom-platform-cert-service/certservice/docker-compose.yml
+++ b/plans/oom-platform-cert-service/certservice/docker-compose.yml
@@ -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
diff --git a/plans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh b/plans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh
index 3eb146db..3094b7f7 100755
--- a/plans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh
+++ b/plans/oom-platform-cert-service/certservice/resources/ejbca-configuration.sh
@@ -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
index 5e9cbb1e..00000000
--- a/scripts/dmaap-buscontroller/dmaapbc-init.sh
+++ /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
index 3e446d89..00000000
--- a/scripts/dmaap-buscontroller/dmaapbc-launch.sh
+++ /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
index cc3a3c7d..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/buscontroller.env
+++ /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
index 52536a14..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props
+++ /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
index ca8301ca..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks
+++ /dev/null
Binary files 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
index a8374dc7..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props
+++ /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
index f3747fad..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props
+++ /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
index 91547c60..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks
+++ /dev/null
Binary files differ
diff --git a/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties b/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties
deleted file mode 100644
index 611a172f..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties
+++ /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
index 7357f900..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml
+++ /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
index 9e8492b1..00000000
--- a/scripts/dmaap-buscontroller/docker-compose/logback.xml
+++ /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
index 6d38913d..00000000
--- a/scripts/dmaap-datarouter/datarouter-launch.sh
+++ /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
index 8958f28c..00000000
--- a/scripts/dmaap-datarouter/datarouter-teardown.sh
+++ /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
index 2a0b4190..00000000
--- a/scripts/dmaap-datarouter/docker-compose/docker-compose.yml
+++ /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
index 58639cfd..00000000
--- a/scripts/dmaap-datarouter/docker-compose/node.properties
+++ /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
index b54868e2..00000000
--- a/scripts/dmaap-datarouter/docker-compose/provserver.properties
+++ /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
index 311bbe56..00000000
--- a/scripts/dmaap-datarouter/docker-compose/subscriber.properties
+++ /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
index 3793a9d4..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr-node.p12
+++ /dev/null
Binary files 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
index e32e7282..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_node/org.onap.dmaap-dr.cred.props
+++ /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
index 91547c60..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_node/truststore.jks
+++ /dev/null
Binary files 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
index 1393fb05..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr-prov.p12
+++ /dev/null
Binary files 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
index 18f91ba8..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_prov/org.onap.dmaap-dr.cred.props
+++ /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
index 91547c60..00000000
--- a/scripts/dmaap-datarouter/dr_certs/dr_prov/truststore.jks
+++ /dev/null
Binary files 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
index 1f9d08e5..00000000
--- a/scripts/dmaap-datarouter/robot_ssl/onap_ca_cert.pem
+++ /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
index d36f8acc..00000000
--- a/scripts/dmaap-datarouter/robot_ssl/update_ca.py
+++ /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)
diff --git a/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json b/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
index 60ac2aab..f5de1952 100644
--- a/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
+++ b/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
@@ -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"
@@ -99,14 +99,14 @@
"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/tests/dcaegen2-services-pmsh/testcases/pmsh.robot b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
index 4b0dc6e4..71452350 100644
--- a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
+++ b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
@@ -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}
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
index 6119ea8b..7ded8550 100644
--- a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json
@@ -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
+}
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
index e01e26e6..d4ba547a 100644
--- a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
+++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json
@@ -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
+}
diff --git a/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json b/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json
index e925e000..1d211fd1 100644
--- a/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json
+++ b/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry-service-instance.json
@@ -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
+}
diff --git a/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json b/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json
index 802ffd8a..e7c57bda 100644
--- a/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json
+++ b/tests/dcaegen2/prh-testcases/assets/service-instance-non-active/aai-entry.json
@@ -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
+}
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json b/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json
index e8d6bb72..6a48e943 100644
--- a/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json
+++ b/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-config.json
@@ -15,12 +15,12 @@
"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
+}
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json b/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json
index 734a6f70..e4b88796 100644
--- a/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json
+++ b/tests/dcaegen2/prh-testcases/resources/prh_configs/prh-no-auth-config.json
@@ -15,12 +15,12 @@
"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
+}
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot
index c53d5d1e..e3a5c2e4 100644
--- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot
+++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot
@@ -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}
diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
index 05a4e19d..c6a320a3 100644
--- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
+++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py
@@ -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
index 2d404124..00000000
--- a/tests/dmaap-buscontroller/with_dr/__init__.robot
+++ /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
index 671e89b7..00000000
--- a/tests/dmaap-buscontroller/with_dr/test1.robot
+++ /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
index ffcec41b..00000000
--- a/tests/dmaap-buscontroller/with_mr/__init__.robot
+++ /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
index 37d3e158..00000000
--- a/tests/dmaap-buscontroller/with_mr/test1.robot
+++ /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
index 2f96cdc8..00000000
--- a/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot
+++ /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
index 00000000..63b4c918
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/invalid_ir_for_update.key
@@ -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
index 00000000..80b7440a
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.csr
@@ -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
index 00000000..2389f744
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_sans.key
@@ -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
index 00000000..7e9ea510
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.csr
@@ -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
index 00000000..0bbb2966
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_cr_changed_subject.key
@@ -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
index 00000000..7a07d6c3
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.csr
@@ -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
index 00000000..6405104c
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_ir_for_update.key
@@ -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
index 00000000..3f898f58
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_kur.csr
@@ -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
index 00000000..07770d90
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/assets/valid_kur.key
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRRGVJSHZrOHNQZUVWZTAKclN5Qm1Hbi92VmVyVXM5UG1FcXBsMEx3bjI3b3ZYUDZPaVorell2dEFJSjBMK1p1d25PL3hnaVJoMkRuODFSUgpMRzhzeEpsWHNqWUYxb01PeG9FMWJQVlNkTVAwdzUrMmpRRHViNUZqNW9jRy91bGRmcFJOVVNPK2pIUXNmREEyClBJRzRidGI0a1cyKzFDWWFhbTNsTzUrbXRWR2R5Q0NkODkxNjdsZm1WRG51SU1OdmhqKzVBaDg0VHVpeHpjMXUKanQrSUt4OFo2SmxnVFBTMlV6MTVoa1pQMnZwZ2hMME9NUFJlWFhzeXdGL2pQdFF3eDQzTERsalF2NnZ2WDFSUApsdXlLaUpzK1ZaSExWbDNzWDhUK0NyMzlleThUZm1PQUJoZWRFeDF6TXk4M1BlOEJYZnplS0FiRjB0YUticXJpClhrblloYmxsQWdNQkFBRUNnZ0VCQU5WTU5DeUJ3ZnY0ZzFRSUJ2amJOczVSTDJKZ3Zwb2NEM1lTdmtENW1ETDkKMmVTcStsUkJaT0JNNFBoWkZ0bTgrQkZyUk1jYVRML3ZOVVJOZXVSdVZTR1ZDN05IYmNvK2E4eTF1RTFadXVITApDQTd3RDdqbWdhS0F0NkRNSDZPYjdTVGhpWVZzc2hJVm51WTE3QXNDeElNa2cxSC92aWNYbERmUHJWc1VPaTliCk41RzRVM041VGRLaDJOcDhQZXNPU0hUZXphamNtNmJXUy9xU3pkZTgzQjNDNE9ZcUFJdjlIVEpLZWpMY0p3WnAKbDlnMlBVTGlKR3I2S0J2aWZwM1lqSm5pQ3ZmbVdIMW5tbEdjaThTU09MeVNUM21MUm84QnhlQUFEenpsUmYvSgpDOHBVZ1ZsbDhUUDh2a1BJNXpsWVhYZExWVDBVVUM5SjRWZUE1cXZMZTNFQ2dZRUE4ZFRvTUMvaHgzR05qeWo2CkFWczNRN2FGUUlZd3FYNEZMbklPejhHKzVpdUZxY01wWWdyVjVwOWhHUm5ud0lIc0M1WE9yTU9ZL0dGdjJUN0oKZXdWZTJ1Z3lqcUF1djgrZTl4Q2JtdmVtcHhtNitkdnZTQjR3WmU1a1haQzM4UHlRUUtHcnB4aStnbUZkYlN0Rgp3a0U3YXFHNmlZUlptZm9jVlZSMjBMSmQ0VU1DZ1lFQTZ5UUpWRDFwRkRUK05ESzRMTmIyeTNGUThWZ2t4UW15CmsvTmdlaFU3SmVZc1pqWjRWaW9LOWp2MGFLbFdsckFyMkFLYUlrWHArTGdxSVB4aEVGWTVCNDJtYW15QlROT20KS3c5SE9FQXV2LzlsRDFvL0kxM1lWTkd5UWdyQjFOZEwwQ20wbmg1SFFLUVRXbFJ5TzBuQzVrTjhmVTJLYmpHTQpQZlI0aG14OUhEY0NnWUVBNVhLeGZvN2Z0S0VMdytvSUV1TmQ4eFFwS0FocUFWYTlTYzBVT3BERU5KVFV0RGFrCmZBNTExdVFmZDNaNXlkQTdpdDV2Z3NIdTFIOEtaV0JLUUR2ZlBPb1VsZmhyZ3JoV1JtcHVpVUV4ME5mNzdIZDkKZDdxVkJ4R0NEcmh4bmVlMFltNUNkRDlvK2tHeEtCUm5rcURiNUJkZzZuczFuSCtQQkhNb2JHamY1QXNDZ1lBZwoyNnBLRVVMTHhoUDNxMWE5UFZURFhSUlloVjZ1QWdyb1Rjd2ZnelArdWNsZWh5SU51RlpMemxqNi94N1FjOUhNCm42QjJSWnJLWE1IV1ZpNGlJRXBiMmRsMWFiQXYwaXVZUE14UStmY09jVnZuNTA2SFhLZk1RbmxNYlVCa3c2a2UKYjVXRHV1dHVCditGVWVPY2tWUWc1VEZTT1RHczhGT09uTWp5ejlvenhRS0JnUUNLcEtqOUxLRlR4bFJoUFduaApITkJ3QWJsMzI2NjhmSW1ORG1yQlkxWHdvczVQdnV2Mjcxckc2STJLUnJDbGdmb3NtdnlJVVY0NjBNZmZNanJrCmJlbFdDdFNyRU4wYlZtK2xQOGkwWGg3REMrRkxmbG1GdTVFclNDUkRjcTY0SzIxWHpSczVzOUVYVnpBekVGaE4KdWpPTExUSDIySUwrclpuZXlWbjUxdW1DQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg== \ No newline at end of file
diff --git a/tests/oom-platform-cert-service/certservice/cert-service-test.robot b/tests/oom-platform-cert-service/certservice/cert-service-test.robot
index 3cc2fce8..c8ecb3ab 100644
--- a/tests/oom-platform-cert-service/certservice/cert-service-test.robot
+++ b/tests/oom-platform-cert-service/certservice/cert-service-test.robot
@@ -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
index 00000000..d4de5f28
--- /dev/null
+++ b/tests/oom-platform-cert-service/certservice/libraries/ResponseParser.py
@@ -0,0 +1,3 @@
+def parse_response(response):
+ certChain = response["certificateChain"]
+ return "".join(certChain).encode("base64").replace("\n", "").strip()
diff --git a/tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot b/tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot
index be2812d9..755cf989 100644
--- a/tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot
+++ b/tests/oom-platform-cert-service/certservice/resources/cert-service-keywords.robot
@@ -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}
diff --git a/tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot b/tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot
index d2ff4eeb..f5882abe 100644
--- a/tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot
+++ b/tests/oom-platform-cert-service/certservice/resources/cert-service-properties.robot
@@ -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