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