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
+++ /dev/null
-
-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
--- /dev/null
+
+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
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 ***
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}
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}
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}