X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/67fc3042c20f5893abf71a0b4c445c356f9603b9..b469eb4d7e729a7c27b471797001b932d4644f96:/test/ganeti.constants_unittest.py diff --git a/test/ganeti.constants_unittest.py b/test/ganeti.constants_unittest.py index e5263d4..9aab10f 100755 --- a/test/ganeti.constants_unittest.py +++ b/test/ganeti.constants_unittest.py @@ -26,6 +26,9 @@ import unittest import re from ganeti import constants +from ganeti import locking + +import testutils class TestConstants(unittest.TestCase): @@ -54,6 +57,26 @@ class TestConstants(unittest.TestCase): (constants.CONFIG_MAJOR, constants.CONFIG_MINOR, constants.CONFIG_REVISION)) + def testDiskStatus(self): + self.failUnless(constants.LDS_OKAY < constants.LDS_UNKNOWN) + self.failUnless(constants.LDS_UNKNOWN < constants.LDS_FAULTY) + + def testClockSkew(self): + self.failUnless(constants.NODE_MAX_CLOCK_SKEW < + (0.8 * constants.CONFD_MAX_CLOCK_SKEW)) + + def testSslCertExpiration(self): + self.failUnless(constants.SSL_CERT_EXPIRATION_ERROR < + constants.SSL_CERT_EXPIRATION_WARN) + + def testOpCodePriority(self): + self.failUnless(constants.OP_PRIO_LOWEST > constants.OP_PRIO_LOW) + self.failUnless(constants.OP_PRIO_LOW > constants.OP_PRIO_NORMAL) + self.failUnlessEqual(constants.OP_PRIO_NORMAL, locking._DEFAULT_PRIORITY) + self.failUnlessEqual(constants.OP_PRIO_DEFAULT, locking._DEFAULT_PRIORITY) + self.failUnless(constants.OP_PRIO_NORMAL > constants.OP_PRIO_HIGH) + self.failUnless(constants.OP_PRIO_HIGH > constants.OP_PRIO_HIGHEST) + class TestParameterNames(unittest.TestCase): """HV/BE parameter tests""" @@ -61,11 +84,40 @@ class TestParameterNames(unittest.TestCase): def testNoDashes(self): for kind, source in [('hypervisor', constants.HVS_PARAMETER_TYPES), - ('backend', constants.BES_PARAMETER_TYPES)]: + ('backend', constants.BES_PARAMETER_TYPES), + ('nic', constants.NICS_PARAMETER_TYPES), + ("instdisk", constants.IDISK_PARAMS_TYPES), + ("instnic", constants.INIC_PARAMS_TYPES), + ]: for key in source: self.failUnless(self.VALID_NAME.match(key), "The %s parameter '%s' contains invalid characters" % (kind, key)) + +class TestConfdConstants(unittest.TestCase): + """Test the confd constants""" + + def testFourCc(self): + self.failUnlessEqual(len(constants.CONFD_MAGIC_FOURCC), 4, + "Invalid fourcc len, should be 4") + + def _IsUniqueSequence(self, sequence): + seen = set() + for member in sequence: + if member in seen: + return False + seen.add(member) + return True + + def testReqs(self): + self.failUnless(self._IsUniqueSequence(constants.CONFD_REQS), + "Duplicated confd request code") + + def testReplStatuses(self): + self.failUnless(self._IsUniqueSequence(constants.CONFD_REPL_STATUSES), + "Duplicated confd reply status code") + + if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram()