author | Tero Marttila <tero.marttila@aalto.fi> |
Mon, 02 Mar 2015 17:58:24 +0200 | |
changeset 689 | c258e3ff6d32 |
parent 688 | dfc5fcb6a06c |
child 692 | 34f25380d0e7 |
permissions | -rw-r--r-- |
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
1 |
import ipaddr |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
2 |
import itertools |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
3 |
import pvl.args |
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
4 |
import unittest |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
5 |
|
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
6 |
from pvl.hosts import config, dhcp, zone |
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
7 |
from pvl.hosts.host import Host |
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
8 |
from StringIO import StringIO |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
9 |
|
447
6f0357759e9b
pvl.hosts: fixup and document host expansion
Tero Marttila <tero.marttila@aalto.fi>
parents:
441
diff
changeset
|
10 |
class ConfFile(StringIO): |
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
11 |
def __init__(self, name, buffer): |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
12 |
StringIO.__init__(self, buffer) |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
13 |
self.name = name |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
14 |
|
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
15 |
class TestConfig(unittest.TestCase): |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
16 |
def setUp(self): |
490
805645dbb9bb
pvl.hosts.tests: cleanup use of options
Tero Marttila <tero.marttila@aalto.fi>
parents:
489
diff
changeset
|
17 |
self.options = pvl.args.options( |
805645dbb9bb
pvl.hosts.tests: cleanup use of options
Tero Marttila <tero.marttila@aalto.fi>
parents:
489
diff
changeset
|
18 |
hosts_charset = 'utf-8', |
805645dbb9bb
pvl.hosts.tests: cleanup use of options
Tero Marttila <tero.marttila@aalto.fi>
parents:
489
diff
changeset
|
19 |
hosts_domain = None, |
805645dbb9bb
pvl.hosts.tests: cleanup use of options
Tero Marttila <tero.marttila@aalto.fi>
parents:
489
diff
changeset
|
20 |
hosts_include = None, |
805645dbb9bb
pvl.hosts.tests: cleanup use of options
Tero Marttila <tero.marttila@aalto.fi>
parents:
489
diff
changeset
|
21 |
) |
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
22 |
|
461
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
23 |
def assertHostEqual(self, host, host_str, attrs): |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
24 |
self.assertEquals(str(host), host_str) |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
25 |
|
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
26 |
for attr, value in attrs.iteritems(): |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
27 |
self.assertEquals(getattr(host, attr), value) |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
28 |
|
447
6f0357759e9b
pvl.hosts: fixup and document host expansion
Tero Marttila <tero.marttila@aalto.fi>
parents:
441
diff
changeset
|
29 |
def assertHostsEqual(self, hosts, expected): |
508
a47849709cbf
pvl.hosts.test: fix assertHostsEqual to also compare len's
Tero Marttila <tero.marttila@aalto.fi>
parents:
507
diff
changeset
|
30 |
hosts = list(hosts) |
a47849709cbf
pvl.hosts.test: fix assertHostsEqual to also compare len's
Tero Marttila <tero.marttila@aalto.fi>
parents:
507
diff
changeset
|
31 |
|
447
6f0357759e9b
pvl.hosts: fixup and document host expansion
Tero Marttila <tero.marttila@aalto.fi>
parents:
441
diff
changeset
|
32 |
for host, expect in zip(hosts, expected): |
6f0357759e9b
pvl.hosts: fixup and document host expansion
Tero Marttila <tero.marttila@aalto.fi>
parents:
441
diff
changeset
|
33 |
host_str, attrs = expect |
441
f058fff1f272
pvl.hosts.hosts: fix sort_key()
Tero Marttila <tero.marttila@aalto.fi>
parents:
440
diff
changeset
|
34 |
|
461
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
35 |
self.assertHostEqual(host, host_str, attrs) |
508
a47849709cbf
pvl.hosts.test: fix assertHostsEqual to also compare len's
Tero Marttila <tero.marttila@aalto.fi>
parents:
507
diff
changeset
|
36 |
|
a47849709cbf
pvl.hosts.test: fix assertHostsEqual to also compare len's
Tero Marttila <tero.marttila@aalto.fi>
parents:
507
diff
changeset
|
37 |
self.assertEqual(len(hosts), len(expected)) |
441
f058fff1f272
pvl.hosts.hosts: fix sort_key()
Tero Marttila <tero.marttila@aalto.fi>
parents:
440
diff
changeset
|
38 |
|
461
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
39 |
def testApplyHostConfigDict(self): |
504
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
40 |
host = config.apply_host('foo', 'test', { |
461
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
41 |
'ethernet.eth0': '00:11:22:33:44:55', |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
42 |
}) |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
43 |
|
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
44 |
self.assertHostEqual(host, 'foo@test', dict( |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
45 |
ethernet = { 'eth0': '00:11:22:33:44:55' } |
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
46 |
)) |
502
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
47 |
|
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
48 |
def testApplyHostConfigDictMulti(self): |
504
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
49 |
host = config.apply_host('foo', 'test', { |
502
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
50 |
'ethernet.eth0': '00:11:22:33:44:55', |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
51 |
'ethernet.eth1': '00:11:22:33:44:66', |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
52 |
}) |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
53 |
|
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
54 |
self.assertHostEqual(host, 'foo@test', dict( |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
55 |
ethernet = { |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
56 |
'eth0': '00:11:22:33:44:55', |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
57 |
'eth1': '00:11:22:33:44:66', |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
58 |
} |
ac4e0f2df80c
pvl.hosts.tests: test multi-value dicts for host
Tero Marttila <tero.marttila@aalto.fi>
parents:
501
diff
changeset
|
59 |
)) |
461
e3bddc5eeff5
pvl.hosts: test config.apply_host()
Tero Marttila <tero.marttila@aalto.fi>
parents:
451
diff
changeset
|
60 |
|
661
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
61 |
def testApplyHostsConfigErrorExtra(self): |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
62 |
host = config.apply_host('foo', 'test', { |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
63 |
'ethernet': '00:11:22:33:44:55', |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
64 |
'ethernet.eth1': '00:11:22:33:44:66', |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
65 |
}) |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
66 |
|
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
67 |
self.assertHostEqual(host, 'foo@test', dict( |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
68 |
ethernet = { |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
69 |
None: '00:11:22:33:44:55', |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
70 |
'eth1': '00:11:22:33:44:66', |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
71 |
} |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
72 |
)) |
15946375b154
pvl.hosts.config: support ethernet = ... + ethernet.ethX = ...
Tero Marttila <terom@paivola.fi>
parents:
660
diff
changeset
|
73 |
|
447
6f0357759e9b
pvl.hosts: fixup and document host expansion
Tero Marttila <tero.marttila@aalto.fi>
parents:
441
diff
changeset
|
74 |
|
501
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
75 |
def testApplyHostConfigExtensions(self): |
504
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
76 |
host = config.apply_host('foo', 'test', { |
501
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
77 |
'link:50': 'foo@test', |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
78 |
'link:uplink.49': 'bar@test', |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
79 |
}) |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
80 |
|
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
81 |
self.assertHostEqual(host, 'foo@test', dict( |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
82 |
extensions = { |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
83 |
'link': { |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
84 |
'50': 'foo@test', |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
85 |
'uplink': { '49': 'bar@test' }, |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
86 |
}, |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
87 |
}, |
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
88 |
)) |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
89 |
|
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
90 |
def testApplyHostFqdn(self): |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
91 |
self.assertHostsEqual(config.apply_hosts('test', 'asdf@foo.test', { }), [ |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
92 |
('asdf@foo.test', dict()), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
93 |
]) |
501
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
94 |
|
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
95 |
self.assertHostsEqual(config.apply_hosts('test', 'asdf.test2', { }), [ |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
96 |
('asdf.test2@', dict()), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
97 |
]) |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
98 |
|
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
99 |
def testApplyHostExpand(self): |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
100 |
self.assertHostsEqual(config.apply_hosts('test', 'asdf{1-3}', { 'ip': '10.100.100.$' }), [ |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
101 |
('asdf1@test', dict(ip=ipaddr.IPAddress('10.100.100.1'))), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
102 |
('asdf2@test', dict(ip=ipaddr.IPAddress('10.100.100.2'))), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
103 |
('asdf3@test', dict(ip=ipaddr.IPAddress('10.100.100.3'))), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
104 |
]) |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
105 |
|
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
106 |
def testApplyHostsFileError(self): |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
107 |
with self.assertRaises(config.HostConfigError): |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
108 |
list(config.apply_hosts_files(self.options, ['nonexistant'])) |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
109 |
|
511
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
110 |
def testApplyHostsConfig(self): |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
111 |
conf_file = ConfFile('test', """ |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
112 |
[foo] |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
113 |
ip = 127.0.0.1 |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
114 |
|
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
115 |
[bar] |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
116 |
ip = 127.0.0.2 |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
117 |
""") |
511
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
118 |
|
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
119 |
self.assertHostsEqual(config.apply_hosts_config(self.options, conf_file), [ |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
120 |
('foo@test', dict(ip=ipaddr.IPAddress('127.0.0.1'))), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
121 |
('bar@test', dict(ip=ipaddr.IPAddress('127.0.0.2'))), |
511
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
122 |
]) |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
123 |
|
511
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
124 |
def testApplyHostsConfigNested(self): |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
125 |
conf_file = ConfFile('test', """ |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
126 |
[asdf] |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
127 |
[[foo]] |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
128 |
ip = 127.0.0.1 |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
129 |
|
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
130 |
[quux] |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
131 |
[[bar]] |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
132 |
ip = 127.0.0.2 |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
133 |
""") |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
134 |
|
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
135 |
self.assertHostsEqual(config.apply_hosts_config(self.options, conf_file), [ |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
136 |
('foo@asdf.test', dict(ip=ipaddr.IPAddress('127.0.0.1'))), |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
137 |
('bar@quux.test', dict(ip=ipaddr.IPAddress('127.0.0.2'))), |
99043eab9140
pvl.hosts.config: change nested domains to be relative to parent domain, not absolute
Tero Marttila <tero.marttila@aalto.fi>
parents:
510
diff
changeset
|
138 |
]) |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
139 |
|
689
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
140 |
def testHostsConfigDdefaults(self): |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
141 |
hosts = config.apply_hosts_config(self.options, ConfFile('test', """ |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
142 |
boot.next-server = boot.lan |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
143 |
|
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
144 |
[foo] |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
145 |
ip = 192.0.2.1 |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
146 |
ethernet.eth0 = 00:11:22:33:44:55 |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
147 |
boot.filename = /pxelinux.0 |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
148 |
""")) |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
149 |
|
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
150 |
self.assertHostsEqual(hosts, [ |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
151 |
('foo@test', dict( |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
152 |
ip = ipaddr.IPAddress('192.0.2.1'), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
153 |
ethernet = { 'eth0': '00:11:22:33:44:55' }, |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
154 |
boot = { 'next-server': 'boot.lan', 'filename': '/pxelinux.0' }, |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
155 |
)), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
156 |
]) |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
157 |
|
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
158 |
|
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
159 |
|
507
e3a32f4dff54
pvl.hosts.config: document includes, fix include-only zone, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
505
diff
changeset
|
160 |
def testApplyIncludes(self): |
521
06792c78067e
setup and document etc/zone/ structure
Tero Marttila <tero.marttila@aalto.fi>
parents:
518
diff
changeset
|
161 |
self.assertHostsEqual(config.apply_hosts_files(self.options, ['etc/hosts/test']), [ |
663
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
162 |
('bar@test', dict( |
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
163 |
ip = ipaddr.IPAddress('192.0.2.2'), |
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
164 |
)), |
513
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
165 |
('foo@test', dict( |
510
368a568412ed
pvl.hosts.config: support direct directory hosts, using the directory name as the parent
Tero Marttila <tero.marttila@aalto.fi>
parents:
509
diff
changeset
|
166 |
ip = ipaddr.IPAddress('192.0.2.1'), |
368a568412ed
pvl.hosts.config: support direct directory hosts, using the directory name as the parent
Tero Marttila <tero.marttila@aalto.fi>
parents:
509
diff
changeset
|
167 |
)), |
368a568412ed
pvl.hosts.config: support direct directory hosts, using the directory name as the parent
Tero Marttila <tero.marttila@aalto.fi>
parents:
509
diff
changeset
|
168 |
]) |
368a568412ed
pvl.hosts.config: support direct directory hosts, using the directory name as the parent
Tero Marttila <tero.marttila@aalto.fi>
parents:
509
diff
changeset
|
169 |
|
518
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
170 |
def testApplyIncludePath(self): |
521
06792c78067e
setup and document etc/zone/ structure
Tero Marttila <tero.marttila@aalto.fi>
parents:
518
diff
changeset
|
171 |
self.options.hosts_include = 'etc/hosts' |
518
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
172 |
self.assertHostsEqual(config.apply_hosts_files(self.options, ['etc/zones/forward/test']), [ |
663
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
173 |
('quux@asdf.test', dict( |
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
174 |
ip = ipaddr.IPAddress('192.0.2.5'), |
518
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
175 |
)), |
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
176 |
('bar@test', dict( |
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
177 |
ip = ipaddr.IPAddress('192.0.2.2'), |
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
178 |
)), |
663
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
179 |
('foo@test', dict( |
8a9de457bb59
pvl.hosts.config: sort directory items for stable host ordering
Tero Marttila <terom@paivola.fi>
parents:
661
diff
changeset
|
180 |
ip = ipaddr.IPAddress('192.0.2.1'), |
660
5461fb492345
pvl.hosts.tests: tweak etc/zones/forward/test ordering..
Tero Marttila <terom@paivola.fi>
parents:
521
diff
changeset
|
181 |
)), |
518
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
182 |
]) |
cd152d6bad32
pvl.hosts.config: test and fix includes path
Tero Marttila <tero.marttila@aalto.fi>
parents:
513
diff
changeset
|
183 |
|
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
184 |
def testApply(self): |
513
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
185 |
self.assertHostsEqual(config.apply(self.options, ['etc/hosts/example.com']), [ |
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
186 |
('foo@example.com', dict( |
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
187 |
ip = ipaddr.IPAddress('192.0.2.1'), |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
188 |
ethernet = {None: '00:11:22:33:44:55'}, |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
189 |
)), |
513
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
190 |
('bar@example.com', dict( |
3b45b4fd5102
pvl.hosts.config: revert apply_hosts_directory to treat directory contents as a flat namespace without any parent=basname(directory) magic
Tero Marttila <tero.marttila@aalto.fi>
parents:
511
diff
changeset
|
191 |
ip = ipaddr.IPAddress('192.0.2.2'), |
505
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
192 |
ethernet = {None: '01:23:45:67:89:ab'}, |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
193 |
)), |
e5a76c404679
pvl.hosts.test: rearrange TestConfig test cases
Tero Marttila <tero.marttila@aalto.fi>
parents:
504
diff
changeset
|
194 |
]) |
501
41b362e6074b
pvl.hosts.config: fix and test extensions
Tero Marttila <tero.marttila@aalto.fi>
parents:
497
diff
changeset
|
195 |
|
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
196 |
class TestZoneMixin(object): |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
197 |
def assertZoneEquals(self, rrs, expected): |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
198 |
""" |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
199 |
Tests that the given list of ZoneRecords is equal to the given {(rr.name, rr.type): str(rr.data)} dict. |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
200 |
|
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
201 |
Multiple records for the same name/type are gathered as a list. XXX: ordering |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
202 |
""" |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
203 |
|
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
204 |
gather = { } |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
205 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
206 |
for rr in rrs: |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
207 |
key = (rr.name.lower(), rr.type.upper()) |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
208 |
value = '\t'.join(rr.data) |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
209 |
|
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
210 |
if key not in gather: |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
211 |
gather[key] = value |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
212 |
elif not isinstance(gather[key], list): |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
213 |
gather[key] = [gather[key], value] |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
214 |
else: |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
215 |
gather[key].append(value) |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
216 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
217 |
self.assertDictEqual(gather, expected) |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
218 |
|
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
219 |
|
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
220 |
class TestForwardZone(TestZoneMixin, unittest.TestCase): |
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
221 |
def testHostOutOfOrigin(self): |
504
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
222 |
h = Host.build('host', 'domain', |
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
223 |
ip = '10.0.0.1', |
ee0a3dcacb95
pvl.hosts.config: refactor
Tero Marttila <tero.marttila@aalto.fi>
parents:
503
diff
changeset
|
224 |
) |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
225 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
226 |
self.assertZoneEquals(zone.host_forward(h, 'test'), { }) |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
227 |
|
464
f1d3dbf04ca3
pvl.hosts.zone: fix reverse= to be IPv4-only
Tero Marttila <tero.marttila@aalto.fi>
parents:
463
diff
changeset
|
228 |
def testHostIP(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
229 |
h = Host.build('host', 'domain', |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
230 |
ip = '192.0.2.1', |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
231 |
ip6 = '2001:db8::192.0.2.1', |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
232 |
) |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
233 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
234 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
235 |
('host', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
236 |
('host', 'AAAA'): '2001:db8::c000:201', |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
237 |
}) |
465
133f14810eb5
pvl.hosts.zone: test forward= omit
Tero Marttila <tero.marttila@aalto.fi>
parents:
464
diff
changeset
|
238 |
|
466
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
239 |
def testHostAlias(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
240 |
h = Host.build('host', 'domain', |
466
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
241 |
ip = '192.0.2.1', |
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
242 |
alias = 'test *.test', |
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
243 |
) |
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
244 |
|
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
245 |
self.assertEquals(h.alias, ['test', '*.test']) |
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
246 |
|
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
247 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
248 |
('host', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
249 |
('test', 'CNAME'): 'host', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
250 |
('*.test', 'CNAME'): 'host', |
466
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
251 |
}) |
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
252 |
|
468
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
253 |
def testHostAlias46(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
254 |
h = Host.build('host', 'domain', |
468
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
255 |
ip = '192.0.2.1', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
256 |
ip6 = '2001:db8::192.0.2.1', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
257 |
alias4 = 'test4', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
258 |
alias6 = 'test6', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
259 |
) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
260 |
|
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
261 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
262 |
('host', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
263 |
('host', 'AAAA'): '2001:db8::c000:201', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
264 |
('test4', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
265 |
('test6', 'AAAA'): '2001:db8::c000:201', |
468
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
266 |
}) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
267 |
|
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
268 |
def testHostAlias4Missing(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
269 |
h = Host.build('host', 'domain', |
468
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
270 |
ip6 = '2001:db8::192.0.2.1', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
271 |
alias4 = 'test4', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
272 |
alias6 = 'test6', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
273 |
) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
274 |
|
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
275 |
with self.assertRaises(zone.HostZoneError): |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
276 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { }) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
277 |
|
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
278 |
def testHostAlias6Missing(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
279 |
h = Host.build('host', 'domain', |
468
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
280 |
ip = '192.0.2.1', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
281 |
alias4 = 'test4', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
282 |
alias6 = 'test6', |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
283 |
) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
284 |
|
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
285 |
with self.assertRaises(zone.HostZoneError): |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
286 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { }) |
3e7cb8dd5708
pvl.hosts.zone: raise HostZoneError on alias4/alias6 without ip/ip6
Tero Marttila <tero.marttila@aalto.fi>
parents:
467
diff
changeset
|
287 |
|
493
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
288 |
def testHostFQDN(self): |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
289 |
h = Host.build('host.example.net', None, |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
290 |
ip = '192.0.2.3', |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
291 |
) |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
292 |
|
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
293 |
self.assertZoneEquals(zone.host_forward(h, 'example.com'), { |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
294 |
|
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
295 |
}) |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
296 |
|
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
297 |
def testHostDelegate(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
298 |
h = Host.build('host', 'example.com', |
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
299 |
forward = 'host.example.net', |
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
300 |
) |
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
301 |
|
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
302 |
self.assertZoneEquals(zone.host_forward(h, 'example.com'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
303 |
('host', 'CNAME'): 'host.example.net.', |
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
304 |
}) |
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
305 |
|
467
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
306 |
def testHostForwardAlias(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
307 |
h = Host.build('host', 'domain', |
467
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
308 |
forward = 'host.example.net', |
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
309 |
alias = 'test', |
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
310 |
) |
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
311 |
|
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
312 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
313 |
('host', 'CNAME'): 'host.example.net.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
314 |
('test', 'CNAME'): 'host', |
467
3bb00e5e79d3
pvl.hosts.zone: support combining forward= with alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
466
diff
changeset
|
315 |
}) |
466
ad9d512ec1e7
pvl.hosts.zone: test and fix alias=
Tero Marttila <tero.marttila@aalto.fi>
parents:
465
diff
changeset
|
316 |
|
470
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
317 |
def testHostLocation(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
318 |
h = Host.build('host', 'domain', |
470
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
319 |
ip = '192.0.2.1', |
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
320 |
location = 'test', |
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
321 |
) |
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
322 |
|
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
323 |
self.assertEquals(h.location, ('test', 'domain')) |
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
324 |
|
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
325 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
326 |
('host', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
327 |
('test', 'CNAME'): 'host', |
470
ac334a55eebc
pvl.hosts: fix location= and test forward records
Tero Marttila <tero.marttila@aalto.fi>
parents:
469
diff
changeset
|
328 |
}) |
471
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
329 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
330 |
def testHostLocationDomain(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
331 |
h = Host.build('host', 'foo.domain', |
471
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
332 |
ip = '192.0.2.1', |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
333 |
location = 'test@bar.domain', |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
334 |
) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
335 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
336 |
self.assertEquals(h.location, ('test', 'bar.domain')) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
337 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
338 |
self.assertZoneEquals(zone.host_forward(h, 'domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
339 |
('host.foo', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
340 |
('test.bar', 'CNAME'): 'host.foo', |
471
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
341 |
}) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
342 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
343 |
def testHostLocationDomainOutOfOrigin(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
344 |
h = Host.build('host', 'foo.domain', |
471
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
345 |
ip = '192.0.2.1', |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
346 |
location = 'test@bar.domain', |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
347 |
) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
348 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
349 |
self.assertEquals(h.location, ('test', 'bar.domain')) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
350 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
351 |
with self.assertRaises(zone.HostZoneError): |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
352 |
self.assertZoneEquals(zone.host_forward(h, 'foo.domain'), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
353 |
('host', 'A'): '192.0.2.1', |
471
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
354 |
}) |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
355 |
|
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
356 |
# TODO |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
357 |
#self.assertZoneEquals(zone.host_forward(h, 'bar.domain'), { |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
358 |
# ('test', 'CNAME'): ['host.foo'], |
e4b4458d8061
pvl.hosts: test location domains
Tero Marttila <tero.marttila@aalto.fi>
parents:
470
diff
changeset
|
359 |
#}) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
360 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
361 |
def testHostsForward(self): |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
362 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
363 |
Host.build('foo', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
364 |
ip = '192.0.2.1', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
365 |
ip6 = '2001:db8::192.0.2.1', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
366 |
alias = 'test', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
367 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
368 |
Host.build('bar', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
369 |
ip = '192.0.2.2', |
496
530f22575889
pvl.hosts.zone: label=relative() check handles FQDNs
Tero Marttila <tero.marttila@aalto.fi>
parents:
494
diff
changeset
|
370 |
), |
530f22575889
pvl.hosts.zone: label=relative() check handles FQDNs
Tero Marttila <tero.marttila@aalto.fi>
parents:
494
diff
changeset
|
371 |
Host.build('quux', 'example', |
530f22575889
pvl.hosts.zone: label=relative() check handles FQDNs
Tero Marttila <tero.marttila@aalto.fi>
parents:
494
diff
changeset
|
372 |
ip = '192.0.2.3', |
530f22575889
pvl.hosts.zone: label=relative() check handles FQDNs
Tero Marttila <tero.marttila@aalto.fi>
parents:
494
diff
changeset
|
373 |
), |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
374 |
] |
497
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
375 |
|
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
376 |
rrs = zone.apply_hosts_forward(hosts, 'domain', add_origin=True) |
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
377 |
|
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
378 |
# handle the $ORIGIN directive |
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
379 |
rd = next(rrs) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
380 |
|
497
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
381 |
self.assertEquals(unicode(rd), '$ORIGIN\tdomain.') |
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
382 |
|
0082d2092d1f
pvl.hosts.zone: should be an fqdn
Tero Marttila <tero.marttila@aalto.fi>
parents:
496
diff
changeset
|
383 |
self.assertZoneEquals(rrs, { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
384 |
('foo', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
385 |
('foo', 'AAAA'): '2001:db8::c000:201', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
386 |
('test', 'CNAME'): 'foo', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
387 |
('bar', 'A'): '192.0.2.2', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
388 |
}) |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
389 |
|
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
390 |
def testHostsMultiAlias(self): |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
391 |
hosts = [ |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
392 |
Host.build('foo', 'domain', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
393 |
ip = '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
394 |
alias4 = 'test', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
395 |
), |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
396 |
Host.build('bar', 'domain', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
397 |
ip = '192.0.2.2', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
398 |
alias4 = 'test', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
399 |
) |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
400 |
] |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
401 |
|
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
402 |
self.assertZoneEquals(zone.apply_hosts_forward(hosts, 'domain', check_conflicts=False), { |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
403 |
('foo', 'A'): '192.0.2.1', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
404 |
('bar', 'A'): '192.0.2.2', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
405 |
('test', 'A'): ['192.0.2.1', '192.0.2.2'], |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
406 |
}) |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
407 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
408 |
def testHostsConflict(self): |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
409 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
410 |
Host.build('foo', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
411 |
ip = '192.0.2.1', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
412 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
413 |
Host.build('foo', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
414 |
ip = '192.0.2.2', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
415 |
) |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
416 |
] |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
417 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
418 |
with self.assertRaises(zone.HostZoneError): |
687
f99f9e3d02cf
pvl.hosts.zone: make non-CNAME check_conflicts optional
Tero Marttila <tero.marttila@aalto.fi>
parents:
677
diff
changeset
|
419 |
self.assertZoneEquals(zone.apply_hosts_forward(hosts, 'domain', check_conflicts=True), { }) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
420 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
421 |
def testHostsAliasConflict(self): |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
422 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
423 |
Host.build('foo', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
424 |
ip = '192.0.2.1', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
425 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
426 |
Host.build('bar', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
427 |
ip = '192.0.2.2', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
428 |
alias = 'foo', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
429 |
) |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
430 |
] |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
431 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
432 |
# with A first |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
433 |
with self.assertRaises(zone.HostZoneError): |
489
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
434 |
self.assertZoneEquals(zone.apply_hosts_forward(hosts, 'domain'), { }) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
435 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
436 |
# also with CNAME first |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
437 |
with self.assertRaises(zone.HostZoneError): |
489
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
438 |
self.assertZoneEquals(zone.apply_hosts_forward(reversed(hosts), 'domain'), { }) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
439 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
440 |
def testHostsAlias4Conflict(self): |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
441 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
442 |
Host.build('foo', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
443 |
ip = '192.0.2.1', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
444 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
445 |
Host.build('bar', 'domain', |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
446 |
ip = '192.0.2.2', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
447 |
alias4 = 'foo', |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
448 |
) |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
449 |
] |
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
450 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
451 |
with self.assertRaises(zone.HostZoneError): |
687
f99f9e3d02cf
pvl.hosts.zone: make non-CNAME check_conflicts optional
Tero Marttila <tero.marttila@aalto.fi>
parents:
677
diff
changeset
|
452 |
self.assertZoneEquals(zone.apply_hosts_forward(hosts, 'domain', check_conflicts=True), { }) |
472
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
453 |
|
814cc88c531b
pvl.hosts.zone: stricter name/type + name/CNAME -conflict logic
Tero Marttila <tero.marttila@aalto.fi>
parents:
471
diff
changeset
|
454 |
|
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
455 |
class TestReverseZone(TestZoneMixin, unittest.TestCase): |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
456 |
def testHostIP(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
457 |
h = Host.build('host', 'domain', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
458 |
ip = '192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
459 |
ip6 = '2001:db8::192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
460 |
) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
461 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
462 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
463 |
('1', 'PTR'): 'host.domain.', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
464 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
465 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
466 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
467 |
('1.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): 'host.domain.', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
468 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
469 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
470 |
def testHostIP4(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
471 |
h = Host.build('host', 'domain', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
472 |
ip = '192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
473 |
) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
474 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
475 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
476 |
('1', 'PTR'): 'host.domain.', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
477 |
}) |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
478 |
|
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
479 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.0.0/16'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
480 |
('1.2', 'PTR'): 'host.domain.', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
481 |
}) |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
482 |
|
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
483 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.0.0/12'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
484 |
('1.2.0', 'PTR'): 'host.domain.', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
485 |
}) |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
486 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
487 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), { |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
488 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
489 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
490 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
491 |
def testHostIP6(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
492 |
h = Host.build('host', 'domain', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
493 |
ip6 = '2001:db8::192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
494 |
) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
495 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
496 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), { |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
497 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
498 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
499 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
500 |
('1.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): 'host.domain.', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
501 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
502 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
503 |
def testHostIPOutOfPrefix(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
504 |
h = Host.build('host', 'domain', |
473
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
505 |
ip = '192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
506 |
ip6 = '2001:db8::192.0.2.1', |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
507 |
) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
508 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
509 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.1.0/24'))), { |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
510 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
511 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
512 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
513 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8:1::/64'))), { |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
514 |
|
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
515 |
}) |
68fd85d850ab
pvl.hosts.zone: test host_reverse() more
Tero Marttila <tero.marttila@aalto.fi>
parents:
472
diff
changeset
|
516 |
|
493
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
517 |
def testHostFQDN(self): |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
518 |
h = Host.build('host.example.net', None, |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
519 |
ip = '192.0.2.3', |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
520 |
ip6 = '2001:db8::192.0.2.3', |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
521 |
) |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
522 |
|
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
523 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
524 |
('3', 'PTR'): 'host.example.net.', |
493
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
525 |
|
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
526 |
}) |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
527 |
|
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
528 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
529 |
('3.0.2.0.0.0.0.c.0.0.0.0.0.0.0.0', 'PTR'): 'host.example.net.', |
493
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
530 |
}) |
c9725dd0d48c
pvl.hosts: test FQDN hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
492
diff
changeset
|
531 |
|
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
532 |
def testHostDelegate(self): |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
533 |
h = Host.build('host', 'example.com', |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
534 |
ip = '192.0.2.1', |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
535 |
ip6 = '2001:db8::192.0.2.1', |
465
133f14810eb5
pvl.hosts.zone: test forward= omit
Tero Marttila <tero.marttila@aalto.fi>
parents:
464
diff
changeset
|
536 |
forward = '', |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
537 |
reverse = '1.0/28.2.0.192.in-addr.arpa', |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
538 |
) |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
539 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
540 |
self.assertZoneEquals(zone.host_forward(h, 'example.com'), { |
465
133f14810eb5
pvl.hosts.zone: test forward= omit
Tero Marttila <tero.marttila@aalto.fi>
parents:
464
diff
changeset
|
541 |
|
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
542 |
}) |
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
543 |
|
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
544 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('192.0.2.1/24'))), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
545 |
('1', 'CNAME'): '1.0/28.2.0.192.in-addr.arpa.', |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
546 |
}) |
464
f1d3dbf04ca3
pvl.hosts.zone: fix reverse= to be IPv4-only
Tero Marttila <tero.marttila@aalto.fi>
parents:
463
diff
changeset
|
547 |
|
f1d3dbf04ca3
pvl.hosts.zone: fix reverse= to be IPv4-only
Tero Marttila <tero.marttila@aalto.fi>
parents:
463
diff
changeset
|
548 |
self.assertZoneEquals((rr for ip, rr in zone.host_reverse(h, ipaddr.IPNetwork('2001:db8::/64'))), { |
f1d3dbf04ca3
pvl.hosts.zone: fix reverse= to be IPv4-only
Tero Marttila <tero.marttila@aalto.fi>
parents:
463
diff
changeset
|
549 |
|
f1d3dbf04ca3
pvl.hosts.zone: fix reverse= to be IPv4-only
Tero Marttila <tero.marttila@aalto.fi>
parents:
463
diff
changeset
|
550 |
}) |
463
2cbdb2435487
pvl.hosts.zone: fix pvl.dns.fqdn() and basic tests for host_forward/reverse
Tero Marttila <tero.marttila@aalto.fi>
parents:
462
diff
changeset
|
551 |
|
494
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
552 |
def testHosts(self): |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
553 |
hosts = [ |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
554 |
Host.build('foo', 'domain', |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
555 |
ip = '192.0.2.1', |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
556 |
), |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
557 |
Host.build('bar', 'domain', |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
558 |
ip = '192.0.2.2', |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
559 |
) |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
560 |
] |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
561 |
|
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
562 |
self.assertZoneEquals(zone.apply_hosts_reverse(hosts, ipaddr.IPNetwork('192.0.2.1/24')), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
563 |
('1', 'PTR'): 'foo.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
564 |
('2', 'PTR'): 'bar.domain.', |
494
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
565 |
}) |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
566 |
|
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
567 |
# in ip order |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
568 |
self.assertZoneEquals(zone.apply_hosts_reverse(reversed(hosts), ipaddr.IPNetwork('192.0.2.1/24')), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
569 |
('1', 'PTR'): 'foo.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
570 |
('2', 'PTR'): 'bar.domain.', |
494
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
571 |
}) |
6d258338b363
pvl.hosts.zone: test forward hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
493
diff
changeset
|
572 |
|
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
573 |
def testHostsConflict(self): |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
574 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
575 |
Host.build('foo', 'domain', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
576 |
ip = '192.0.2.1', |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
577 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
578 |
Host.build('bar', 'domain', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
579 |
ip = '192.0.2.1', |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
580 |
) |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
581 |
] |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
582 |
|
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
583 |
with self.assertRaises(zone.HostZoneError): |
489
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
584 |
self.assertZoneEquals(zone.apply_hosts_reverse(hosts, ipaddr.IPNetwork('192.0.2.1/24')), { }) |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
585 |
|
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
586 |
def testHostsGenerateUnknown(self): |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
587 |
hosts = [ |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
588 |
Host.build('foo', 'domain', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
589 |
ip = '192.0.2.1', |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
590 |
), |
477
6ad810c8039c
pvl.hosts.test: import Host directly
Tero Marttila <tero.marttila@aalto.fi>
parents:
474
diff
changeset
|
591 |
Host.build('bar', 'domain', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
592 |
ip = '192.0.2.5', |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
593 |
), |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
594 |
] |
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
595 |
|
489
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
596 |
self.assertZoneEquals(zone.apply_hosts_reverse(hosts, ipaddr.IPNetwork('192.0.2.1/29'), |
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
597 |
unknown_host = 'ufc', |
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
598 |
unknown_domain = 'domain', |
7f1bd12e0d54
pvl.hosts-reverse: move options out of pvl.hosts.zone
Tero Marttila <tero.marttila@aalto.fi>
parents:
487
diff
changeset
|
599 |
), { |
688
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
600 |
('1', 'PTR'): 'foo.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
601 |
('2', 'PTR'): 'ufc.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
602 |
('3', 'PTR'): 'ufc.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
603 |
('4', 'PTR'): 'ufc.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
604 |
('5', 'PTR'): 'bar.domain.', |
dfc5fcb6a06c
pvl.hosts.tests: support multiple values for record name/type in assertZoneEquals; test multi-alias hosts
Tero Marttila <tero.marttila@aalto.fi>
parents:
687
diff
changeset
|
605 |
('6', 'PTR'): 'ufc.domain.', |
474
51983fcda6b1
pvl.hosts.zone: fix and test --unknown-host
Tero Marttila <tero.marttila@aalto.fi>
parents:
473
diff
changeset
|
606 |
}) |
469
cd1f1b51f3a0
pvl.hosts.tests: split TestForwardZone/TestReverseZone using TestZoneMixin
Tero Marttila <tero.marttila@aalto.fi>
parents:
468
diff
changeset
|
607 |
|
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
608 |
class TestDhcp(unittest.TestCase): |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
609 |
def assertBlockEqual(self, block, (key, items, blocks)): |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
610 |
self.assertEqual(block.key, key) |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
611 |
self.assertItemsEqual(block.items, items) |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
612 |
|
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
613 |
for _block, expect_block in itertools.izip_longest(block.blocks, blocks): |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
614 |
self.assertBlockEqual(_block, expect_block) |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
615 |
|
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
616 |
def assertBlocksEqual(self, blocks, expected): |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
617 |
for _block, block in itertools.izip_longest(blocks, expected): |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
618 |
self.assertIsNotNone(_block, block) |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
619 |
self.assertIsNotNone(block, _block) |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
620 |
|
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
621 |
self.assertBlockEqual(_block, block) |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
622 |
|
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
623 |
def testHost(self): |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
624 |
host = Host.build('foo', 'test', |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
625 |
ip = '192.0.2.1', |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
626 |
ethernet = '00:11:22:33:44:55', |
492
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
627 |
owner = 'foo', |
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
628 |
) |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
629 |
|
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
630 |
self.assertBlocksEqual(list(dhcp.dhcp_host(host)), [ |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
631 |
(('host', 'foo'), [ |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
632 |
('option', 'host-name', "foo"), |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
633 |
('fixed-address', '192.0.2.1'), |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
634 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
635 |
], []) |
492
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
636 |
]) |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
637 |
|
677
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
638 |
def testHostFQDN(self): |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
639 |
host = Host.build('foo.test', 'test', |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
640 |
ip = '192.0.2.1', |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
641 |
ethernet = '00:11:22:33:44:55', |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
642 |
) |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
643 |
|
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
644 |
self.assertBlocksEqual(list(dhcp.dhcp_host(host)), [ |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
645 |
(('host', 'foo.test'), [ |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
646 |
('option', 'host-name', "foo.test"), |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
647 |
('fixed-address', '192.0.2.1'), |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
648 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
649 |
], []) |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
650 |
]) |
8e3dfa27d8d1
pvl.hosts.test: host with fqdn name still gets a dhcp option host-name
Tero Marttila <terom@paivola.fi>
parents:
669
diff
changeset
|
651 |
|
492
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
652 |
def testHostStatic(self): |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
653 |
host = Host.build('foo', 'test', |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
654 |
ip = '192.0.2.1', |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
655 |
) |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
656 |
|
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
657 |
self.assertBlocksEqual(list(dhcp.dhcp_host(host)), [ |
ddd13dadf6a8
pvl.hosts.dhcp: test non-dhcp hosts and owner comments
Tero Marttila <tero.marttila@aalto.fi>
parents:
491
diff
changeset
|
658 |
|
479
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
659 |
]) |
1e68e3a30b51
pvl.hosts.dhcp: split out of script, refactor using pvl.dhcp.config, and test
Tero Marttila <tero.marttila@aalto.fi>
parents:
477
diff
changeset
|
660 |
|
480
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
661 |
def testHostDynamic(self): |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
662 |
host = Host.build('foo', 'test', |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
663 |
ethernet = '00:11:22:33:44:55', |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
664 |
) |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
665 |
|
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
666 |
self.assertBlocksEqual(list(dhcp.dhcp_host(host)), [ |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
667 |
(('host', 'foo'), [ |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
668 |
('option', 'host-name', "foo"), |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
669 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
670 |
], []) |
480
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
671 |
]) |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
672 |
|
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
673 |
def testHostBoot(self): |
491
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
674 |
hosts = [ |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
675 |
Host.build('foo1', 'test', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
676 |
ethernet = '00:11:22:33:44:55', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
677 |
boot = 'boot.lan:debian/wheezy/pxelinux.0', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
678 |
), |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
679 |
Host.build('foo2', 'test', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
680 |
ethernet = '00:11:22:33:44:55', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
681 |
boot = 'boot.lan:', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
682 |
), |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
683 |
Host.build('foo3', 'test', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
684 |
ethernet = '00:11:22:33:44:55', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
685 |
boot = '/debian/wheezy/pxelinux.0', |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
686 |
), |
689
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
687 |
Host.build('foo4', 'test', |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
688 |
ethernet = '00:11:22:33:44:55', |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
689 |
boot = {'next-server': 'boot.lan', 'filename': '/debian/wheezy/pxelinux.0' }, |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
690 |
), |
491
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
691 |
] |
480
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
692 |
|
491
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
693 |
self.assertBlocksEqual(list(dhcp.dhcp_hosts(hosts)), [ |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
694 |
(('host', 'foo1'), [ |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
695 |
('option', 'host-name', "foo1"), |
480
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
696 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
697 |
('next-server', 'boot.lan'), |
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
698 |
('filename', 'debian/wheezy/pxelinux.0'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
699 |
], []), |
491
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
700 |
(('host', 'foo2'), [ |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
701 |
('option', 'host-name', "foo2"), |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
702 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
703 |
('next-server', 'boot.lan'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
704 |
], []), |
491
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
705 |
(('host', 'foo3'), [ |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
706 |
('option', 'host-name', "foo3"), |
cfcb47a3dc3e
pvl.hosts.dhcp: fix and test boot= variations
Tero Marttila <tero.marttila@aalto.fi>
parents:
490
diff
changeset
|
707 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
689
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
708 |
('filename', '/debian/wheezy/pxelinux.0'), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
709 |
], []), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
710 |
(('host', 'foo4'), [ |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
711 |
('option', 'host-name', "foo4"), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
712 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
713 |
('next-server', 'boot.lan'), |
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
714 |
('filename', '/debian/wheezy/pxelinux.0'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
715 |
], []), |
480
7e44854e85d4
README and test host boot= and dynamic ip=
Tero Marttila <tero.marttila@aalto.fi>
parents:
479
diff
changeset
|
716 |
]) |
689
c258e3ff6d32
pvl.hosts: update boot= to support split boot.next-server= boot.filename=, which enables inheriting defaults
Tero Marttila <tero.marttila@aalto.fi>
parents:
688
diff
changeset
|
717 |
|
483
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
718 |
def testHosts(self): |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
719 |
hosts = [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
720 |
Host.build('foo', 'test', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
721 |
ip = '192.0.2.1', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
722 |
ethernet = '00:11:22:33:44:55', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
723 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
724 |
Host.build('bar', 'test', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
725 |
ip = '192.0.2.2', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
726 |
ethernet = '01:23:45:67:89:ab', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
727 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
728 |
] |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
729 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
730 |
self.assertBlocksEqual(list(dhcp.dhcp_hosts(hosts)), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
731 |
(('host', 'foo'), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
732 |
('option', 'host-name', "foo"), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
733 |
('fixed-address', '192.0.2.1'), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
734 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
735 |
], []), |
483
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
736 |
(('host', 'bar'), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
737 |
('option', 'host-name', "bar"), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
738 |
('fixed-address', '192.0.2.2'), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
739 |
('hardware', 'ethernet', '01:23:45:67:89:ab'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
740 |
], []), |
483
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
741 |
]) |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
742 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
743 |
def testHostConflict(self): |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
744 |
hosts = [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
745 |
Host.build('foo', 'test1', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
746 |
ethernet = '00:11:22:33:44:55', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
747 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
748 |
Host.build('foo', 'test2', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
749 |
ethernet = '01:23:45:67:89:ab', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
750 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
751 |
] |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
752 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
753 |
with self.assertRaises(dhcp.HostDHCPError): |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
754 |
list(dhcp.dhcp_hosts(hosts)) |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
755 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
756 |
def testHostMultinet(self): |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
757 |
hosts = [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
758 |
Host.build('foo', 'test1', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
759 |
ip = '192.0.1.1', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
760 |
ethernet = { 'eth1': '00:11:22:33:44:55' }, |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
761 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
762 |
Host.build('foo', 'test2', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
763 |
ip = '192.0.2.1', |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
764 |
ethernet = { 'eth2': '01:23:45:67:89:ab' }, |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
765 |
), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
766 |
] |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
767 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
768 |
self.assertBlocksEqual(list(dhcp.dhcp_hosts(hosts)), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
769 |
(('host', 'foo-eth1'), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
770 |
('option', 'host-name', "foo"), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
771 |
('fixed-address', '192.0.1.1'), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
772 |
('hardware', 'ethernet', '00:11:22:33:44:55'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
773 |
], []), |
483
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
774 |
(('host', 'foo-eth2'), [ |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
775 |
('option', 'host-name', "foo"), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
776 |
('fixed-address', '192.0.2.1'), |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
777 |
('hardware', 'ethernet', '01:23:45:67:89:ab'), |
669
83e9bff09a0b
pvl.hosts.dhcp: update for pvl.dhcp.config
Tero Marttila <terom@paivola.fi>
parents:
663
diff
changeset
|
778 |
], []), |
483
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
779 |
]) |
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
780 |
|
19d084bb4afd
pvl.hosts.dhcp: test and document hosts on multiple networks
Tero Marttila <tero.marttila@aalto.fi>
parents:
480
diff
changeset
|
781 |
|
440
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
782 |
if __name__ == '__main__': |
1d755df7bf97
pvl.hosts: refactor as a package; cleanup pvl.hosts.config with some basic tests
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
783 |
unittest.main() |