Revision 0602cef3 test/ganeti.tools.prepare_node_join_unittest.py
b/test/ganeti.tools.prepare_node_join_unittest.py | ||
---|---|---|
72 | 72 |
def testNoCert(self): |
73 | 73 |
prepare_node_join.VerifyCertificate({}, _verify_fn=NotImplemented) |
74 | 74 |
|
75 |
def testMismatchingKey(self): |
|
76 |
other_cert = self._TestDataFilename("cert1.pem") |
|
77 |
node_cert = self._TestDataFilename("cert2.pem") |
|
78 |
|
|
79 |
self.assertRaises(_JoinError, prepare_node_join._VerifyCertificate, |
|
80 |
utils.ReadFile(other_cert), _noded_cert_file=node_cert) |
|
81 |
|
|
82 | 75 |
def testGivenPrivateKey(self): |
83 | 76 |
cert_filename = self._TestDataFilename("cert2.pem") |
84 | 77 |
cert_pem = utils.ReadFile(cert_filename) |
85 | 78 |
|
86 | 79 |
self.assertRaises(_JoinError, prepare_node_join._VerifyCertificate, |
87 |
cert_pem, _noded_cert_file=cert_filename) |
|
88 |
|
|
89 |
def testMatchingKey(self): |
|
90 |
cert_filename = self._TestDataFilename("cert2.pem") |
|
91 |
|
|
92 |
# Extract certificate |
|
93 |
cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, |
|
94 |
utils.ReadFile(cert_filename)) |
|
95 |
cert_pem = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, |
|
96 |
cert) |
|
97 |
|
|
98 |
prepare_node_join._VerifyCertificate(cert_pem, |
|
99 |
_noded_cert_file=cert_filename) |
|
100 |
|
|
101 |
def testMissingFile(self): |
|
102 |
cert = self._TestDataFilename("cert1.pem") |
|
103 |
nodecert = utils.PathJoin(self.tmpdir, "does-not-exist") |
|
104 |
prepare_node_join._VerifyCertificate(utils.ReadFile(cert), |
|
105 |
_noded_cert_file=nodecert) |
|
80 |
cert_pem, _check_fn=NotImplemented) |
|
106 | 81 |
|
107 | 82 |
def testInvalidCertificate(self): |
108 | 83 |
self.assertRaises(errors.X509CertError, |
109 | 84 |
prepare_node_join._VerifyCertificate, |
110 | 85 |
"Something that's not a certificate", |
111 |
_noded_cert_file=NotImplemented)
|
|
86 |
_check_fn=NotImplemented)
|
|
112 | 87 |
|
113 |
def testNoPrivateKey(self): |
|
114 |
cert = self._TestDataFilename("cert1.pem") |
|
115 |
self.assertRaises(errors.X509CertError, |
|
116 |
prepare_node_join._VerifyCertificate, |
|
117 |
utils.ReadFile(cert), _noded_cert_file=cert) |
|
88 |
@staticmethod |
|
89 |
def _Check(cert): |
|
90 |
assert cert.get_subject() |
|
91 |
|
|
92 |
def testSuccessfulCheck(self): |
|
93 |
cert_filename = self._TestDataFilename("cert1.pem") |
|
94 |
cert_pem = utils.ReadFile(cert_filename) |
|
95 |
prepare_node_join._VerifyCertificate(cert_pem, _check_fn=self._Check) |
|
118 | 96 |
|
119 | 97 |
|
120 | 98 |
class TestVerifyClusterName(unittest.TestCase): |
Also available in: Unified diff