pvl/hosts/tests.py
changeset 669 83e9bff09a0b
parent 663 8a9de457bb59
child 677 8e3dfa27d8d1
--- a/pvl/hosts/tests.py	Sun Mar 01 22:38:02 2015 +0200
+++ b/pvl/hosts/tests.py	Sun Mar 01 22:39:05 2015 +0200
@@ -1,4 +1,5 @@
 import ipaddr
+import itertools
 import pvl.args
 import unittest
 
@@ -557,15 +558,19 @@
         })
 
 class TestDhcp(unittest.TestCase):
-    def assertBlocksEqual(self, blockdefs, expected):
-        for (_block, _items, _opts), (block, items, opts) in zip(blockdefs, expected):
-            self.assertEqual(_block, block)
-            self.assertItemsEqual(_items, items)
+    def assertBlockEqual(self, block, (key, items, blocks)):
+        self.assertEqual(block.key, key)
+        self.assertItemsEqual(block.items, items)
 
-            if opts is not None:
-                self.assertEqual(_opts, opts)
-        
-        self.assertEqual(len(blockdefs), len(expected))
+        for _block, expect_block in itertools.izip_longest(block.blocks, blocks):
+            self.assertBlockEqual(_block, expect_block)
+
+    def assertBlocksEqual(self, blocks, expected):
+        for _block, block in itertools.izip_longest(blocks, expected):
+            self.assertIsNotNone(_block, block)
+            self.assertIsNotNone(block, _block)
+
+            self.assertBlockEqual(_block, block)
     
     def testHost(self):
         host = Host.build('foo', 'test',
@@ -576,10 +581,10 @@
 
         self.assertBlocksEqual(list(dhcp.dhcp_host(host)), [
             (('host', 'foo'), [
-                ('option', 'host-name', "foo"),
-                ('fixed-address', '192.0.2.1'),
-                ('hardware', 'ethernet', '00:11:22:33:44:55'),
-                ], dict(comment="Owner: foo"))
+                    ('option', 'host-name', "foo"),
+                    ('fixed-address', '192.0.2.1'),
+                    ('hardware', 'ethernet', '00:11:22:33:44:55'),
+            ], [])
         ])
 
     def testHostStatic(self):
@@ -600,7 +605,7 @@
             (('host', 'foo'), [
                 ('option', 'host-name', "foo"),
                 ('hardware', 'ethernet', '00:11:22:33:44:55'),
-            ], None)
+            ], [])
         ])
 
     def testHostBoot(self):
@@ -625,17 +630,17 @@
                 ('hardware', 'ethernet', '00:11:22:33:44:55'),
                 ('next-server', 'boot.lan'),
                 ('filename', 'debian/wheezy/pxelinux.0'),
-            ], None),
+            ], []),
             (('host', 'foo2'), [
                 ('option', 'host-name', "foo2"),
                 ('hardware', 'ethernet', '00:11:22:33:44:55'),
                 ('next-server', 'boot.lan'),
-            ], None),
+            ], []),
             (('host', 'foo3'), [
                 ('option', 'host-name', "foo3"),
                 ('hardware', 'ethernet', '00:11:22:33:44:55'),
                 ('filename', 'debian/wheezy/pxelinux.0'),
-            ], None),
+            ], []),
         ])
 
     def testHosts(self):
@@ -655,12 +660,12 @@
                 ('option', 'host-name', "foo"),
                 ('fixed-address', '192.0.2.1'),
                 ('hardware', 'ethernet', '00:11:22:33:44:55'),
-            ], None),
+            ], []),
             (('host', 'bar'), [
                 ('option', 'host-name', "bar"),
                 ('fixed-address', '192.0.2.2'),
                 ('hardware', 'ethernet', '01:23:45:67:89:ab'),
-            ], None),
+            ], []),
         ])
 
     def testHostConflict(self):
@@ -693,12 +698,12 @@
                     ('option', 'host-name', "foo"),
                     ('fixed-address', '192.0.1.1'),
                     ('hardware', 'ethernet', '00:11:22:33:44:55'),
-                ], None),
+                ], []),
                 (('host', 'foo-eth2'), [
                     ('option', 'host-name', "foo"),
                     ('fixed-address', '192.0.2.1'),
                     ('hardware', 'ethernet', '01:23:45:67:89:ab'),
-                ], None),
+                ], []),
         ])