Add the gnt-storage client
[ganeti-local] / test / ganeti.ht_unittest.py
index e60a750..e99a810 100755 (executable)
@@ -23,6 +23,7 @@
 
 import unittest
 
+from ganeti import constants
 from ganeti import ht
 
 import testutils
@@ -275,6 +276,24 @@ class TestTypeChecks(unittest.TestCase):
     self.assertTrue(fn([{}, -938210858947, None]))
     self.assertFalse(fn(["Hello", []]))
 
+  def testInstanceOf(self):
+    fn = ht.TInstanceOf(self.__class__)
+    self.assertTrue(fn(self))
+    self.assertTrue(str(fn).startswith("Instance of "))
+
+    self.assertFalse(fn(None))
+
+  def testMaybeValueNone(self):
+    fn = ht.TMaybeValueNone(ht.TInt)
+
+    self.assertTrue(fn(None))
+    self.assertTrue(fn(0))
+    self.assertTrue(fn(constants.VALUE_NONE))
+
+    self.assertFalse(fn(""))
+    self.assertFalse(fn([]))
+    self.assertFalse(fn(constants.VALUE_DEFAULT))
+
 
 if __name__ == "__main__":
   testutils.GanetiTestProgram()