[Debian-live-changes] r2447 - dists/trunk/live-magic/tests

lamby-guest at alioth.debian.org lamby-guest at alioth.debian.org
Tue Jul 10 16:02:47 UTC 2007


Author: lamby-guest
Date: 2007-07-10 16:02:47 +0000 (Tue, 10 Jul 2007)
New Revision: 2447

Modified:
   dists/trunk/live-magic/tests/test_key_var_config_file.py
Log:
Merge some tests, add boolean handing tests

Modified: dists/trunk/live-magic/tests/test_key_var_config_file.py
===================================================================
--- dists/trunk/live-magic/tests/test_key_var_config_file.py	2007-07-10 15:22:42 UTC (rev 2446)
+++ dists/trunk/live-magic/tests/test_key_var_config_file.py	2007-07-10 16:02:47 UTC (rev 2447)
@@ -16,6 +16,7 @@
             'LH_SPAM': 'string',
             'LH_MORESPAM': 'string',
             'LH_SPAMLIST' : 'list',
+            'LH_SPAMBOOL' : 'boolean',
         }
         self.keyvar = model.KeyVarConfigFile(self.filename, spec)
 
@@ -23,6 +24,12 @@
         if filename is None: filename = self.filename
         return open(filename, 'r').readlines()
 
+    def f_w(self, contents, filename=None):
+        if filename is None: filename = self.filename
+        f = open(filename, 'w+')
+        f.write(contents)
+        f.close()
+
     def testSetAndGetOption(self):
         self.keyvar.LH_SPAM = "eggs"
         assert self.keyvar.LH_SPAM == "eggs"
@@ -104,9 +111,7 @@
 
         for input, expected in tests.iteritems():
             # Write escaped string
-            f = open(self.filename, 'w+')
-            f.write('LH_SPAM="%s"' % input)
-            f.close()
+            self.f_w('LH_SPAM="%s"' % input)
 
             # Reload configuration and check against expected value
             self.keyvar.load()
@@ -128,9 +133,7 @@
             r"LH_SPAM='eggs' ",
         ]
         for a in accept:
-            f = open(self.filename, 'w+')
-            f.write(a)
-            f.close()
+            self.f_w(a)
 
             # Reload configuration and check against expected value
             self.keyvar.load()
@@ -153,54 +156,63 @@
             r'LH_SPAM=spam eggs',
         ]
         for r in reject:
-            f = open(self.filename, 'w+')
-            f.write(r)
-            f.close()
+            self.f_w(r)
 
             # Reload configuration and check against expected value
             self.keyvar.load()
             self.assert_(not hasattr(self.keyvar, 'LH_SPAM'), "Should have rejected '%s'" % r)
 
-    def testListTypeSingle(self):
-        self.keyvar.LH_SPAMLIST = ['eggs']
-        self.keyvar.save()
-        assert 'LH_SPAMLIST="eggs"\n' in self.f_c()
+    def testSaveList(self):
+        expected = [
+            (['eggs'], "eggs"),
+            (['one', 'two', 'three'], "one two three"),
+            ([' one ', ' two ', ' three '], "one two three"),
+            ([], ""),
+            (None, ""),
+        ]
 
-    def testListTypeEmpty(self):
-        self.keyvar.LH_SPAMLIST = []
-        self.keyvar.save()
-        assert 'LH_SPAMLIST=""\n' in self.f_c()
+        for k, v in expected:
+            self.keyvar.LH_SPAMLIST = k
+            self.keyvar.save()
+            assert 'LH_SPAMLIST="%s"\n' % v in self.f_c()
 
-    def testListTypeMultiple(self):
-        self.keyvar.LH_SPAMLIST = ['one', 'two', 'three']
-        self.keyvar.save()
-        assert 'LH_SPAMLIST="one two three"\n' in self.f_c()
+    def testLoadList(self):
+        expected = {
+            "" : [],
+            "foo bar baz" : ['foo', 'bar', 'baz'],
+            "foo bar-2 baz" : ['foo', 'bar-2', 'baz'],
+        }
 
-    def testListTypeMultipleSpaces(self):
-        self.keyvar.LH_SPAMLIST = [' one ', ' two ', ' three ']
-        self.keyvar.save()
-        assert 'LH_SPAMLIST="one two three"\n' in self.f_c()
+        for k, v in expected.iteritems():
+            self.f_w('LH_SPAMLIST="%s"' % k)
+            self.keyvar.load()
+            assert self.keyvar.LH_SPAMLIST == v
 
-    def testListTypeLoadSingle(self):
-        f = open(self.filename, 'w+')
-        f.write('LH_SPAMLIST="eggs"')
-        f.close()
-        self.keyvar.load()
-        assert self.keyvar.LH_SPAMLIST == ['eggs']
+    def testSaveBool(self):
+        expected = {
+            None : "",
+            False : "disabled",
+            True : "enabled",
+        }
 
-    def testListTypeLoadEmpty(self):
-        f = open(self.filename, 'w+')
-        f.write('LH_SPAMLIST=""')
-        f.close()
-        self.keyvar.load()
-        assert len(self.keyvar.LH_SPAMLIST) == 0
+        for k, v in expected.iteritems():
+            self.keyvar.LH_SPAMBOOL = k
+            self.keyvar.save()
+            assert 'LH_SPAMBOOL="%s"\n' % v in self.f_c()
 
-    def testListTypeLoadMultiple(self):
-        f = open(self.filename, 'w+')
-        f.write('LH_SPAMLIST="foo bar baz"')
-        f.close()
-        self.keyvar.load()
-        assert self.keyvar.LH_SPAMLIST == ['foo', 'bar', 'baz']
+    def testBooleanTypeLoad(self):
+        expected = {
+            'enabled' : True,
+            'disabled' : False,
+            'yes' : True,
+            'no' : False,
+            '' : None,
+        }
 
+        for k, v in expected.iteritems():
+            self.f_w('LH_SPAMBOOL="%s"' % k)
+            self.keyvar.load()
+            assert self.keyvar.LH_SPAMBOOL == v
+
 if __name__ == "__main__":
     unittest.main()




More information about the Debian-live-changes mailing list