import/export: Validate remote host/port
[ganeti-local] / test / ganeti.cmdlib_unittest.py
index 726b941..092225b 100755 (executable)
@@ -25,7 +25,8 @@
 import os
 import unittest
 import time
-import Queue
+import tempfile
+import shutil
 
 from ganeti import cmdlib
 from ganeti import errors
@@ -33,5 +34,28 @@ from ganeti import errors
 import testutils
 
 
-if __name__ == '__main__':
+class TestCertVerification(testutils.GanetiTestCase):
+  def setUp(self):
+    testutils.GanetiTestCase.setUp(self)
+
+    self.tmpdir = tempfile.mkdtemp()
+
+  def tearDown(self):
+    shutil.rmtree(self.tmpdir)
+
+  def testVerifyCertificate(self):
+    cmdlib._VerifyCertificate(self._TestDataFilename("cert1.pem"))
+
+    nonexist_filename = os.path.join(self.tmpdir, "does-not-exist")
+
+    (errcode, msg) = cmdlib._VerifyCertificate(nonexist_filename)
+    self.assertEqual(errcode, cmdlib.LUVerifyCluster.ETYPE_ERROR)
+
+    # Try to load non-certificate file
+    invalid_cert = self._TestDataFilename("bdev-net.txt")
+    (errcode, msg) = cmdlib._VerifyCertificate(invalid_cert)
+    self.assertEqual(errcode, cmdlib.LUVerifyCluster.ETYPE_ERROR)
+
+
+if __name__ == "__main__":
   testutils.GanetiTestProgram()