Fixing Jenkins job failure
[integration/csit.git] / tests / oom-platform-cert-service / postprocessor / libraries / JksValidator.py
1
2 import jks
3
4 class JksValidator:
5
6   def get_jks_entries(self, jks_path, password_path):
7     passphrase = open(password_path, 'rb').read().decode("utf-8")
8     store = jks.KeyStore.load(jks_path, passphrase)
9     return store.entries
10
11   def assert_jks_truststores_equal(self, result_truststore_path, password_path, expected_truststore_path):
12     result_keys = self.get_jks_entries(result_truststore_path, password_path)
13     expected_keys = self.get_jks_entries(expected_truststore_path, password_path)
14     if len(result_keys) != len(expected_keys):
15       return False
16     for k in result_keys:
17       if not (k in expected_keys and result_keys[k].cert == expected_keys[k].cert):
18         return False
19     return True
20
21   def assert_jks_keystores_equal(self, result_keystore_path, password_path, expected_keystore_path):
22     result_keys = self.get_jks_entries(result_keystore_path, password_path)
23     expected_keys = self.get_jks_entries(expected_keystore_path, password_path)
24     if len(result_keys) != len(expected_keys):
25       return False
26     for k in result_keys:
27       if not (k in expected_keys and result_keys[k].pkey == expected_keys[k].pkey):
28         return False
29     return True