aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xplans/ccsdk-oran/polmansuite/FTC150.sh113
-rwxr-xr-xplans/ccsdk-oran/polmansuite/setup.sh13
-rw-r--r--plans/ccsdk-oran/polmansuite/test_env.sh54
-rw-r--r--tests/ccsdk-oran/polmansuite/test.robot9
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jksbin0 -> 2560 bytes
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks.bakbin0 -> 2560 bytes
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_keystore_destination_path.env3
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/invalid_keystore_source_paths.env4
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.jksbin0 -> 2560 bytes
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.pass1
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/assets/valid_envs_and_extra_optional.env4
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot1
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-properties.robot8
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot21
14 files changed, 174 insertions, 57 deletions
diff --git a/plans/ccsdk-oran/polmansuite/FTC150.sh b/plans/ccsdk-oran/polmansuite/FTC150.sh
new file mode 100755
index 00000000..b65b3a5f
--- /dev/null
+++ b/plans/ccsdk-oran/polmansuite/FTC150.sh
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. 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=================================================
+#
+
+
+TC_ONELINE_DESCR="Sample tests of the SDNC A1 controller restconf API using http/https (no agent)"
+
+#App names to exclude checking pulling images for, space separated list
+EXCLUDED_IMAGES="PA CP SDNC_ONAP"
+
+. ../common/testcase_common.sh $@
+. ../common/controller_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+#### TEST BEGIN ####
+
+generate_uuid
+
+#Test agent and simulator protocol versions (others are http only)
+NB_TESTED_PROTOCOLS="HTTP"
+SB_TESTED_PROTOCOLS="HTTP HTTPS"
+
+for __nb_httpx in $NB_TESTED_PROTOCOLS ; do
+ for __sb_httpx in $SB_TESTED_PROTOCOLS ; do
+
+ echo "#####################################################################"
+ echo "#####################################################################"
+ echo "### Testing SDNC using Northbound: $__nb_httpx and Southbound: $__sb_httpx"
+ echo "#####################################################################"
+ echo "#####################################################################"
+
+
+ # Clean container and start all needed containers #
+ clean_containers
+
+ start_ric_simulators ricsim_g1 1 OSC_2.1.0
+ start_ric_simulators ricsim_g2 1 STD_1.1.3
+
+ start_sdnc
+
+ if [ $__nb_httpx == "HTTPS" ]; then
+ # "Using secure ports towards SDNC"
+ use_sdnc_https
+ else
+ #"Using non-secure ports towards SDNC"
+ use_sdnc_http
+ fi
+
+ if [ $__sb_httpx == "HTTPS" ]; then
+ # "Using secure ports towards SDNC"
+ use_simulator_https
+ else
+ #"Using non-secure ports towards SDNC"
+ use_simulator_http
+ fi
+
+ # API tests
+
+ controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 1
+
+ sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+
+ controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1
+ controller_api_get_A1_policy_ids 200 STD ricsim_g2_1
+
+ controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1
+ controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1 testdata/OSC/sim_1.json
+ controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 99
+
+ controller_api_put_A1_policy 200 OSC ricsim_g1_1 1 4000 testdata/OSC/pi1_template.json
+ controller_api_put_A1_policy 404 OSC ricsim_g1_1 5 1001 testdata/OSC/pi1_template.json
+ controller_api_put_A1_policy 200 STD ricsim_g2_1 5000 testdata/STD/pi1_template.json
+
+ controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1 4000
+ controller_api_get_A1_policy_ids 200 STD ricsim_g2_1 5000
+
+ controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000
+ controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000
+
+ VAL='NOT IN EFFECT'
+ controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000 "$VAL" "false"
+ controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000 "UNDEFINED"
+
+ controller_api_delete_A1_policy 200 OSC ricsim_g1_1 1 4000
+ controller_api_delete_A1_policy 200 STD ricsim_g2_1 5000
+
+ store_logs "NB_"$__nb_httpx"_SB_"$__sb_httpx
+
+ done
+
+done
+
+#### TEST COMPLETE ####
+
+print_result
+
+auto_clean_containers \ No newline at end of file
diff --git a/plans/ccsdk-oran/polmansuite/setup.sh b/plans/ccsdk-oran/polmansuite/setup.sh
index c0dfa150..10fed96f 100755
--- a/plans/ccsdk-oran/polmansuite/setup.sh
+++ b/plans/ccsdk-oran/polmansuite/setup.sh
@@ -22,13 +22,12 @@ cd $WORKSPACE/archives
git clone "https://gerrit.o-ran-sc.org/r/nonrtric"
AUTOTEST_ROOT=$WORKSPACE/archives/nonrtric/test/auto-test
+POLMAN_PLANS=$WORKSPACE/plans/ccsdk-oran/polmansuite
-# Temporary solution to setup the Non-RT RIC components to point to ONAP images and tags
-# Shall be removed when the Non-RT RIC test env is moved/copied to ONAP
-cp $WORKSPACE/plans/ccsdk-oran/polmansuite/test_env.sh $WORKSPACE/archives/nonrtric/test/common
-
-# Temporary solution to not test with the SDNC image
-cp $WORKSPACE/plans/ccsdk-oran/polmansuite/FTC1.sh $WORKSPACE/archives/nonrtric/test/auto-test/FTC1.sh
+#Copy test script, adapted to ONAP images
+cp $POLMAN_PLANS/FTC1.sh $WORKSPACE/archives/nonrtric/test/auto-test/FTC1.sh
+cp $POLMAN_PLANS/FTC150.sh $WORKSPACE/archives/nonrtric/test/auto-test/FTC150.sh
#Make the env vars availble to the robot scripts
-ROBOT_VARIABLES="-b debug.log -v AUTOTEST_ROOT:${AUTOTEST_ROOT}"
+ROBOT_VARIABLES="-b debug.log -v AUTOTEST_ROOT:${AUTOTEST_ROOT} -v POLMAN_PLANS:${POLMAN_PLANS}"
+
diff --git a/plans/ccsdk-oran/polmansuite/test_env.sh b/plans/ccsdk-oran/polmansuite/test_env.sh
index e3501f2a..874c8bd7 100644
--- a/plans/ccsdk-oran/polmansuite/test_env.sh
+++ b/plans/ccsdk-oran/polmansuite/test_env.sh
@@ -24,37 +24,19 @@
# the test script is started. The name format is <container-name>_IMAGE, ie with 'LOCAL' or 'REMOTE'.
-##############################################
-## Temporary fix to point to ONAP remote image
-##############################################
-# Local Policy Agent image and tag
-#POLICY_AGENT_LOCAL_IMAGE="o-ran-sc/nonrtric-policy-agent"
-#POLICY_AGENT_LOCAL_IMAGE_TAG="2.1.0-SNAPSHOT"
# Remote Policy Agent image and tag
POLICY_AGENT_REMOTE_IMAGE="nexus3.onap.org:10003/onap/ccsdk-oran-a1policymanagementservice"
-POLICY_AGENT_REMOTE_IMAGE_TAG="1.0.0-SNAPSHOT"
-#POLICY_AGENT_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent"
-#POLICY_AGENT_REMOTE_IMAGE_TAG="2.1.0"
+POLICY_AGENT_REMOTE_IMAGE_TAG="1.1.0-SNAPSHOT"
-# Control Panel local image and tag
-CONTROL_PANEL_LOCAL_IMAGE="o-ran-sc/nonrtric-controlpanel"
-CONTROL_PANEL_LOCAL_IMAGE_TAG="2.0.0-SNAPSHOT"
# Control Panel remote image and tag
CONTROL_PANEL_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel"
CONTROL_PANEL_REMOTE_IMAGE_TAG="2.0.0"
-##############################################
-## Temporary fix to point to ONAP remote image
-##############################################
-# SDNC A1 Controller local image and tag
-#SDNC_A1_CONTROLLER_LOCAL_IMAGE="o-ran-sc/nonrtric-a1-controller"
-#SDNC_A1_CONTROLLER_LOCAL_IMAGE_TAG="2.1.0-SNAPSHOT"
+
# SDNC A1 Controller remote image and tag
SDNC_A1_CONTROLLER_REMOTE_IMAGE="nexus3.onap.org:10003/onap/sdnc-image"
-SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.0.1-STAGING-latest"
-#SDNC_A1_CONTROLLER_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-a1-controller"
-#SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.1.0"
+SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.1.0-STAGING-latest"
#SDNC DB remote image and tag
@@ -63,20 +45,6 @@ SDNC_DB_REMOTE_IMAGE_TAG="5.6"
#No local image for DB, remote image always used
-# SDNC ONAP A1 Adapte remote image and tag
-SDNC_ONAP_A1_ADAPTER_REMOTE_IMAGE="nexus3.onap.org:10003/onap/sdnc-image"
-SDNC_ONAP_A1_ADAPTER_REMOTE_IMAGE_TAG="1.8-STAGING-latest"
-#No local image for the A1 adapter, remote image always used
-
-#ONAP A1 Adatper remote image and tag
-SDNC_ONAP_DB_REMOTE_IMAGE="mysql/mysql-server"
-SDNC_ONAP_DB_REMOTE_IMAGE_TAG="5.6"
-#No local image for DB, remote image always used
-
-
-# Near RT RIC Simulator local image and tag
-RIC_SIM_LOCAL_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator"
-RIC_SIM_LOCAL_IMAGE_TAG="latest"
# Near RT RIC Simulator remote image and tag
RIC_SIM_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator"
RIC_SIM_REMOTE_IMAGE_TAG="2.0.0"
@@ -90,7 +58,6 @@ CONSUL_REMOTE_IMAGE_TAG="1.7.2"
#CBS remote image and tag
CBS_REMOTE_IMAGE="nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app"
-CBS_REMOTE_IMAGE="onap/org.onap.dcaegen2.platform.configbinding.app-app"
CBS_REMOTE_IMAGE_TAG="2.3.0"
#No local image for CBS, remote image always used
@@ -156,24 +123,13 @@ export SDNC_INTERNAL_PORT=8181 # SNDC A1 Contro
export SDNC_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container external securee port (host -> container)
export SDNC_INTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container internal secure port (container -> container)
export SDNC_DB_APP_NAME="sdnc-db" # Name of the SDNC DB container
+export SDNC_A1_TRUSTSTORE_PASSWORD="a1adapter" # SDNC truststore password
SDNC_USER="admin" # SDNC username
SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD
SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API
SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check)
SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log
-export SDNC_ONAP_APP_NAME="a1-adapter" # Name of the ONAP A1 Adapter container
-export SDNC_ONAP_EXTERNAL_PORT=8282 # ONAP A1 Adapter container external port (host -> container)
-export SDNC_ONAP_INTERNAL_PORT=8181 # ONAP A1 Adapter container internal port (container -> container)
-export SDNC_ONAP_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Adapter container external securee port (host -> container)
-export SDNC_ONAP_INTERNAL_SECURE_PORT=8343 # SNDC A1 Adapter container internal secure port (container -> container)
-export SDNC_ONAP_DB_APP_NAME="sdnc-onap-db" # Name of the ONAP A1 Adapter DB container
-SDNC_ONAP_USER="admin" # ONAP A1 Adapter username
-SDNC_ONAP_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # ONAP A1 Adapter PWD
-SDNC_ONAP_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for ONAP A1 Adapter API
-SDNC_ONAP_ALIVE_URL="/apidoc/explorer/" # Base url path for ONAP A1 Adapter API docs (for alive check)
-SDNC_ONAP_PROPERTIES_FILE="/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties"
-SDNC_ONAP_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log
export CONTROL_PANEL_APP_NAME="control-panel" # Name of the Control Panel container
export CONTROL_PANEL_EXTERNAL_PORT=8080 # Control Panel container external port (host -> container)
@@ -188,4 +144,4 @@ RESTBASE_SECURE="https://localhost:"$POLICY_AGENT_EXTERNAL_SECURE_PORT # Base ur
DMAAPBASE="http://localhost:"$MR_EXTERNAL_PORT # Base url to the Dmaap adapter, http
DMAAPBASE_SECURE="https://localhost:"$MR_EXTERNAL_SECURE_PORT # Base url to the Dmaap adapter, https
ADAPTER=$RESTBASE # Adapter holds the address the agent R-APP interface (REST OR DMAAP)
- # The values of this var is swiched between the two base url when needed \ No newline at end of file
+ # The values of this var is swiched between the two base url when needed
diff --git a/tests/ccsdk-oran/polmansuite/test.robot b/tests/ccsdk-oran/polmansuite/test.robot
index be396287..1390a8c6 100644
--- a/tests/ccsdk-oran/polmansuite/test.robot
+++ b/tests/ccsdk-oran/polmansuite/test.robot
@@ -6,11 +6,18 @@ Library Process
Functional Test Case 1
[Documentation] Functional Test Case 1 - FTC1
- Start Process ${AUTOTEST_ROOT}/FTC1.sh remote auto-clean shell=true cwd=${AUTOTEST_ROOT}
+ Start Process ${AUTOTEST_ROOT}/FTC1.sh remote auto-clean --env-file ${POLMAN_PLANS}/test_env.sh shell=true cwd=${AUTOTEST_ROOT}
${cli_cmd_output}= Wait For Process timeout=3600
Should Be Equal as Integers ${cli_cmd_output.rc} 0
${ResultFileContent}= Get File ${AUTOTEST_ROOT}/.resultFTC1.txt
Should Be Equal As Integers ${ResultFileContent} 0
+Functional Test Case 2
+ [Documentation] Functional Test Case 2 - FTC150
+ Start Process ${AUTOTEST_ROOT}/FTC150.sh remote auto-clean --env-file ${POLMAN_PLANS}/test_env.sh shell=true cwd=${AUTOTEST_ROOT}
+ ${cli_cmd_output}= Wait For Process timeout=3600
+ Should Be Equal as Integers ${cli_cmd_output.rc} 0
+ ${ResultFileContent}= Get File ${AUTOTEST_ROOT}/.resultFTC150.txt
+ Should Be Equal As Integers ${ResultFileContent} 0
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks b/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks
new file mode 100644
index 00000000..390f2410
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks
Binary files differ
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks.bak b/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks.bak
new file mode 100644
index 00000000..390f2410
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks.bak
Binary files differ
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_keystore_destination_path.env b/tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_keystore_destination_path.env
new file mode 100644
index 00000000..526357b0
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_keystore_destination_path.env
@@ -0,0 +1,3 @@
+TRUSTSTORES_PATHS=/var/certs/truststore.jks:/var/certs/truststore.pem:/var/certs/truststore.p12
+TRUSTSTORES_PASSWORDS_PATHS=/var/certs/truststoreJks.pass::/var/certs/truststoreP12.pass
+KEYSTORE_SOURCE_PATHS=/var/certs/external/keystore13.jks
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/invalid_keystore_source_paths.env b/tests/oom-platform-cert-service/truststoremerger/assets/invalid_keystore_source_paths.env
new file mode 100644
index 00000000..7090151c
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/invalid_keystore_source_paths.env
@@ -0,0 +1,4 @@
+TRUSTSTORES_PATHS=/var/certs/truststore.jks:/var/certs/truststore.pem:/var/certs/truststore.p12
+TRUSTSTORES_PASSWORDS_PATHS=/var/certs/truststoreJks.pass::/var/certs/truststoreP12.pass
+KEYSTORE_SOURCE_PATHS=/var/certs/external/keystore13.jks
+KEYSTORE_DESTINATION_PATHS=/var/certs/cert.jks
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.jks b/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.jks
new file mode 100644
index 00000000..390f2410
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.jks
Binary files differ
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.pass b/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.pass
new file mode 100644
index 00000000..8b11c5b6
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.pass
@@ -0,0 +1 @@
+wgg2_fLSQ8I4sLfyUOCC7uYn \ No newline at end of file
diff --git a/tests/oom-platform-cert-service/truststoremerger/assets/valid_envs_and_extra_optional.env b/tests/oom-platform-cert-service/truststoremerger/assets/valid_envs_and_extra_optional.env
new file mode 100644
index 00000000..928bf637
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/assets/valid_envs_and_extra_optional.env
@@ -0,0 +1,4 @@
+TRUSTSTORES_PATHS=/var/certs/truststore.pem:/var/certs/truststore.p12
+TRUSTSTORES_PASSWORDS_PATHS=:/var/certs/truststoreP12.pass
+KEYSTORE_SOURCE_PATHS=/var/certs/external/keystore.jks:/var/certs/external/keystore.pass
+KEYSTORE_DESTINATION_PATHS=/var/certs/keystore.jks:/var/certs/keystore.pass
diff --git a/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot b/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot
index 1040afab..5aba7fea 100644
--- a/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot
+++ b/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot
@@ -32,3 +32,4 @@ Run Trust Merger And Merge Truststore Files To Pem
Remove Merger Container And Save Logs ${MERGER_CONTAINER_NAME} positive_path
Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return unexpected exit code return: ${exitcode} , but expected: ${expected_exit_code}
Should Be True ${files_equal}
+
diff --git a/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-properties.robot b/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-properties.robot
index 3aa4a18f..a2e62f81 100644
--- a/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-properties.robot
+++ b/tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-properties.robot
@@ -11,9 +11,12 @@ ${JKS_PASSWORD_MOUNT_PATH} %{WORKSPACE}/tests/oom-pla
${P12_TRUSTSTORE_MOUNT_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/tmp/truststore.p12
${P12_PASSWORD_MOUNT_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/tmp/truststoreP12.pass
${PEM_TRUSTSTORE_MOUNT_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/tmp/truststore.pem
+${JKS_KEYSTORE_MOUNT_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/tmp/external/keystore.jks
${JKS_TRUSTSTORE_EXPECTED_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/expected_truststores/jksAndPemAndP12.jks
${PEM_TRUSTSTORE_EXPECTED_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/expected_truststores/pemAndP12.pem
+${JKSBAK_KEYSTORE_EXPECTED_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks.bak
+${JKS_KEYSTORE_EXPECTED_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/expected_keystores/keystore.jks
${INVALID_ENV_FILE_EMPTY} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_file.env
${INVALID_ENV_FILE_LIST_SIZE} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/invalid_different_lists_size.env
@@ -27,7 +30,12 @@ ${INVALID_ENV_FILE_EMPTY_CERTS} %{WORKSPACE}/tests/oom-pla
${VALID_ENV_FILE_JKS_PEM_P12} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/valid_jks_pem_p12.env
${VALID_ENV_FILE_PEM_P12} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/valid_pem_p12.env
${VALID_ENV_FILE_SINGLE_TRUSTSTORE} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/valid_single_truststore.env
+${INVALID_KEYSTORE_SOURCE_PATHS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/invalid_keystore_source_paths.env
+${INVALID_EMPTY_KEYSTORE_DESTINATION_PATH} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/invalid_empty_keystore_destination_path.env
+${VALID_ENVS_AND_EXTRA_OPTIONAL_ENVS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/valid_envs_and_extra_optional.env
+${KEYSTORE_JKS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.jks
+${KEYSTORE_JKS_PASS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/truststores/external/keystore.pass
${TRUSTSTORE_JKS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/truststores/truststore.jks
${TRUSTSTORE_JKS_PASS} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/truststores/truststoreJks.pass
${TRUSTSTORE_P12} %{WORKSPACE}/tests/oom-platform-cert-service/truststoremerger/assets/truststores/truststore.p12
diff --git a/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot b/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot
index 21323d87..2b84d2ab 100644
--- a/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot
+++ b/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot
@@ -65,3 +65,24 @@ Trust Merger ends successfully with single truststore
[Tags] OOM-TRUST-STORE-MERGER
[Documentation] Run with one truststore in env file and expect code 0
Run Trust Merger And Merge Truststore Files To Jks ${VALID_ENV_FILE_SINGLE_TRUSTSTORE} 0 ${JKS_TRUSTSTORE_MOUNT_PATH} ${TRUSTSTORE_JKS_PASS} ${TRUSTSTORE_JKS}
+
+Trust Merger fails when file to copy does not exist
+ [Tags] OOM-TRUST-STORE-MERGER
+ [Documentation] Run with invalid extra optional env as a path to file and expect error code
+ Run Trust Merger And Expect Error ${INVALID_KEYSTORE_SOURCE_PATHS} 13
+
+Trust Merger fails when only one extra optional env is set
+ [Tags] OOM-TRUST-STORE-MERGER
+ [Documentation] Run with empty extra optional env and expect code
+ Run Trust Merger And Expect Error ${INVALID_EMPTY_KEYSTORE_DESTINATION_PATH} 2
+
+Trust Merger's Copier successfully backs up files
+ [Tags] OOM-TRUST-STORE-MERGER
+ [Documentation] Run with valid env file and expect successfully backed up file
+ Run Trust Merger And Merge Truststore Files To Jks ${VALID_ENVS_AND_EXTRA_OPTIONAL_ENVS} 0 ${JKS_KEYSTORE_MOUNT_PATH} ${KEYSTORE_JKS_PASS} ${JKSBAK_KEYSTORE_EXPECTED_PATH}
+
+Trust Merger's Copier successfully copies file
+ [Tags] OOM-TRUST-STORE-MERGER
+ [Documentation] Run with valid env file and expect successfully copied file
+ Run Trust Merger And Merge Truststore Files To Jks ${VALID_ENVS_AND_EXTRA_OPTIONAL_ENVS} 0 ${JKS_KEYSTORE_MOUNT_PATH} ${KEYSTORE_JKS_PASS} ${JKS_KEYSTORE_EXPECTED_PATH}
+