diff options
Diffstat (limited to 'tests')
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} |