From 28a34a3998742a5662ab3672f3223f99760cb545 Mon Sep 17 00:00:00 2001
From: Guido Trotter <ultrotter@google.com>
Date: Tue, 15 Sep 2009 12:20:40 +0100
Subject: [PATCH] Add unittests for confd constants

Checking that the fourcc code is indeed a fourcc code, and that request
codes and reply statuses are distinct.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
---
 test/ganeti.constants_unittest.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/test/ganeti.constants_unittest.py b/test/ganeti.constants_unittest.py
index 2da1ff7f8..ddc6814dd 100755
--- a/test/ganeti.constants_unittest.py
+++ b/test/ganeti.constants_unittest.py
@@ -74,5 +74,29 @@ class TestParameterNames(unittest.TestCase):
                         (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()
-- 
GitLab