aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkjaniak <kornel.janiak@nokia.com>2020-09-21 15:15:38 +0200
committerkjaniak <kornel.janiak@nokia.com>2020-09-21 15:23:47 +0200
commit97c946e21835cbc213f9974ed0df05ef702f4b88 (patch)
tree8b7112c5544f1c8f4ed6e5e4fd4f1cd7d271aec5
parent1cb65312aebb6734a563cfc6495e59f65eafd750 (diff)
Introduce real Kesystore check
Previous implementation for keystores was just comapring zero elements with zero elements, since keystore doesnt contain any certs (just private keys). Small naming of keywords changes. Change-Id: If8002e44ef3ced9f2203b94178f9713acd81e561 Signed-off-by: kjaniak <kornel.janiak@nokia.com> Issue-ID: DCAEGEN2-2253
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/libraries/JksTruststoreValidator.py18
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/libraries/JksValidator.py28
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/resources/trust-merger-keywords.robot13
-rw-r--r--tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot4
4 files changed, 41 insertions, 22 deletions
diff --git a/tests/oom-platform-cert-service/truststoremerger/libraries/JksTruststoreValidator.py b/tests/oom-platform-cert-service/truststoremerger/libraries/JksTruststoreValidator.py
deleted file mode 100644
index e18ca12c..00000000
--- a/tests/oom-platform-cert-service/truststoremerger/libraries/JksTruststoreValidator.py
+++ /dev/null
@@ -1,18 +0,0 @@
-
-import jks
-
-class JksTruststoreValidator:
-
- def get_truststore(self, truststore_path, password_path):
- truststore = jks.KeyStore.load(truststore_path, open(password_path, 'rb').read())
- return truststore.certs
-
- def assert_jks_truststores_equal(self, result_truststore_path, password_path, expected_truststore_path):
- result_certs = self.get_truststore(result_truststore_path, password_path)
- expected_certs = self.get_truststore(expected_truststore_path, password_path)
- if len(result_certs) != len(expected_certs):
- return False
- for k in result_certs:
- if not (k in expected_certs and result_certs[k].cert == expected_certs[k].cert):
- return False
- return True
diff --git a/tests/oom-platform-cert-service/truststoremerger/libraries/JksValidator.py b/tests/oom-platform-cert-service/truststoremerger/libraries/JksValidator.py
new file mode 100644
index 00000000..983f66bb
--- /dev/null
+++ b/tests/oom-platform-cert-service/truststoremerger/libraries/JksValidator.py
@@ -0,0 +1,28 @@
+
+import jks
+
+class JksValidator:
+
+ def get_jks_entries(self, jks_path, password_path):
+ store = jks.KeyStore.load(jks_path, open(password_path, 'rb').read())
+ return store.entries
+
+ def assert_jks_truststores_equal(self, result_truststore_path, password_path, expected_truststore_path):
+ result_keys = self.get_jks_entries(result_truststore_path, password_path)
+ expected_keys = self.get_jks_entries(expected_truststore_path, password_path)
+ if len(result_keys) != len(expected_keys):
+ return False
+ for k in result_keys:
+ if not (k in expected_keys and result_keys[k].cert == expected_keys[k].cert):
+ return False
+ return True
+
+ def assert_jks_keystores_equal(self, result_keystore_path, password_path, expected_keystore_path):
+ result_keys = self.get_jks_entries(result_keystore_path, password_path)
+ expected_keys = self.get_jks_entries(expected_keystore_path, password_path)
+ if len(result_keys) != len(expected_keys):
+ return False
+ for k in result_keys:
+ if not (k in expected_keys and result_keys[k].pkey == expected_keys[k].pkey):
+ return False
+ return True
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 5aba7fea..416ce610 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
@@ -3,7 +3,7 @@
Resource ../../../common.robot
Resource ./trust-merger-properties.robot
Library ../libraries/TrustMergerManager.py ${MOUNT_PATH} ${TRUSTSTORES_PATH}
-Library ../libraries/JksTruststoreValidator.py
+Library ../libraries/JksValidator.py
Library ../libraries/PemTruststoreValidator.py
*** Keywords ***
@@ -16,7 +16,7 @@ Run Trust Merger And Expect Error
Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return unexpected exit code return: ${exitcode} , but expected: ${expected_exit_code}
Run Trust Merger And Merge Truststore Files To Jks
- [Documentation] Run Truststore Merger Container And Validate Exit Code And Files
+ [Documentation] Run Truststore Merger Container And Validate Exit Code And Provided Truststore Files
[Arguments] ${env_file} ${expected_exit_code} ${jks_path} ${jks_password} ${expected_jks_path}
${exit_code}= Run Merger Container ${DOCKER_MERGER_IMAGE} ${MERGER_CONTAINER_NAME} ${env_file}
${files_equal}= Assert Jks Truststores Equal ${jks_path} ${jks_password} ${expected_jks_path}
@@ -24,6 +24,15 @@ Run Trust Merger And Merge Truststore Files To Jks
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}
+Run Trust Merger And Check Copied Keystore Files
+ [Documentation] Run Truststore Merger Container And Validate Exit Code And Provided Keystore Files
+ [Arguments] ${env_file} ${expected_exit_code} ${jks_path} ${jks_password} ${expected_jks_path}
+ ${exit_code}= Run Merger Container ${DOCKER_MERGER_IMAGE} ${MERGER_CONTAINER_NAME} ${env_file}
+ ${files_equal}= Assert Jks Keystores Equal ${jks_path} ${jks_password} ${expected_jks_path}
+ 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}
+
Run Trust Merger And Merge Truststore Files To Pem
[Documentation] Run Truststore Merger Container And Validate Exit Code And Files
[Arguments] ${env_file} ${expected_exit_code} ${pem_path} ${expected_pem_path}
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 f954c3ac..41e55cf5 100644
--- a/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot
+++ b/tests/oom-platform-cert-service/truststoremerger/trust-merger-test.robot
@@ -79,10 +79,10 @@ Trust Merger fails when only one extra optional env is set
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 ${ENV_FILE_EXTRA_OPTIONAL_ENVS} ${EXITCODE_SUCCESS} ${JKS_KEYSTORE_MOUNT_PATH} ${KEYSTORE_JKS_PASS} ${JKSBAK_KEYSTORE_EXPECTED_PATH}
+ Run Trust Merger And Check Copied Keystore Files ${ENV_FILE_EXTRA_OPTIONAL_ENVS} ${EXITCODE_SUCCESS} ${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 ${ENV_FILE_EXTRA_OPTIONAL_ENVS} ${EXITCODE_SUCCESS} ${JKS_KEYSTORE_MOUNT_PATH} ${KEYSTORE_JKS_PASS} ${JKS_KEYSTORE_EXPECTED_PATH}
+ Run Trust Merger And Check Copied Keystore Files ${ENV_FILE_EXTRA_OPTIONAL_ENVS} ${EXITCODE_SUCCESS} ${JKS_KEYSTORE_MOUNT_PATH} ${KEYSTORE_JKS_PASS} ${JKS_KEYSTORE_EXPECTED_PATH}