--- 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),
+ ], []),
])