author | Tero Marttila <tero.marttila@aalto.fi> |
Tue, 03 Mar 2015 12:14:22 +0200 | |
changeset 716 | 4fecd0d1cf23 |
parent 648 | 8e3e6be9ac70 |
permissions | -rw-r--r-- |
639
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
1 |
import itertools |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
2 |
import re |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
3 |
import unittest |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
4 |
|
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
5 |
from pvl.dns import zone, process |
639
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
6 |
from StringIO import StringIO |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
7 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
8 |
class File(StringIO): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
9 |
@classmethod |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
10 |
def lines (cls, *lines): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
11 |
return cls('\n'.join(lines) + '\n') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
12 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
13 |
def __init__(self, buffer, name='test.file'): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
14 |
StringIO.__init__(self, buffer) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
15 |
self.name = name |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
16 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
17 |
class TestMixin(object): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
18 |
def assertEqualWhitespace(self, value, expected): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
19 |
# normalize |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
20 |
value = re.sub(r'\s+', ' ', value) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
21 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
22 |
self.assertEqual(value, expected) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
23 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
24 |
def assertZoneLineEqual(self, zl, expected): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
25 |
self.assertEqual(unicode(zl), expected) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
26 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
27 |
def assertZoneLinesEqual(self, zls, expected): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
28 |
for zl, expect in itertools.izip_longest(zls, expected): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
29 |
self.assertZoneLineEqual(zl, expect) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
30 |
|
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
31 |
def assertZoneItemEqual(self, zr, expect): |
639
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
32 |
self.assertEqualWhitespace(unicode(zr), expect) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
33 |
|
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
34 |
def assertZoneEqual(self, zrs, expected): |
639
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
35 |
for zr, expect in itertools.izip_longest(zrs, expected): |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
36 |
self.assertZoneItemEqual(zr, expect) |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
37 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
38 |
assertZoneRecordEqual = assertZoneItemEqual |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
39 |
assertZoneRecordsEqual = assertZoneEqual |
639
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
40 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
41 |
class ZoneLineTest(TestMixin, unittest.TestCase): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
42 |
def testZoneLine(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
43 |
self.assertEqual(unicode(zone.ZoneLine(['foo', 'A', '192.0.2.1'])), "foo\tA\t192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
44 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
45 |
def testZoneLineParse(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
46 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("foo A 192.0.2.1")), ["foo\tA\t192.0.2.1"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
47 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
48 |
def testZoneLineParseWhitespace(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
49 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("foo \t A\t192.0.2.1")), ["foo\tA\t192.0.2.1"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
50 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
51 |
def testZoneLineParseComment(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
52 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("foo A 192.0.2.1 ; bar")), ["foo\tA\t192.0.2.1\t; bar"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
53 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
54 |
def testZoneLineParseQuoteSimple(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
55 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("foo TXT \"asdf quux\"")), ["foo\tTXT\tasdf quux"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
56 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
57 |
def testZoneLineParseQuoteTrailing(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
58 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("foo TXT \"asdf quux\" ok ; yay")), ["foo\tTXT\tasdf quux\tok\t; yay"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
59 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
60 |
def testZoneLineParseIndent(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
61 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File(" A 192.0.2.2")), ["\tA\t192.0.2.2"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
62 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
63 |
def testZoneLineParseMultilineSingle(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
64 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File("@ SOA ( 1 2 3 4 5 )")), ["@\tSOA\t1\t2\t3\t4\t5"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
65 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
66 |
def testZoneLineParseMultiline(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
67 |
self.assertZoneLinesEqual(zone.ZoneLine.parse(File.lines("@ SOA (", "\t1\t", "2", "\t3\t\t4", "\t5 )")), ["@\tSOA\t1\t2\t3\t4\t5"]) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
68 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
69 |
def testZoneLineLoad(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
70 |
self.assertZoneRecordsEqual( |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
71 |
zone.ZoneLine.load(File.lines( |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
72 |
"$TTL 3600", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
73 |
" ", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
74 |
"@ NS ns1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
75 |
" NS ns2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
76 |
"$ORIGIN asdf", # note lack of . |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
77 |
"foo A 192.0.2.1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
78 |
"$ORIGIN quux.test.", # note lack of . |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
79 |
"bar A 192.0.2.2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
80 |
)), [ |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
81 |
"$TTL 3600", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
82 |
"@ NS ns1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
83 |
" NS ns2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
84 |
"$ORIGIN asdf", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
85 |
"foo A 192.0.2.1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
86 |
"$ORIGIN quux.test.", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
87 |
"bar A 192.0.2.2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
88 |
] |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
89 |
) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
90 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
91 |
class ZoneDirectiveTest(TestMixin, unittest.TestCase): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
92 |
def testZoneDirective(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
93 |
self.assertEqual(unicode(zone.ZoneDirective('ORIGIN', ['foo.'])), "$ORIGIN\tfoo.") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
94 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
95 |
def testZoneDirectiveBuild(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
96 |
self.assertEqual(unicode(zone.ZoneDirective.build('ORIGIN', 'foo.')), "$ORIGIN\tfoo.") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
97 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
98 |
def testZoneDirectiveParse(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
99 |
self.assertEqual(unicode(zone.ZoneDirective.parse(['$ORIGIN', 'foo.'])), "$ORIGIN\tfoo.") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
100 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
101 |
def testZoneDirectiveParseUpper(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
102 |
self.assertEqual(unicode(zone.ZoneDirective.parse(['$include', 'foo.zone'])), "$INCLUDE\tfoo.zone") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
103 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
104 |
def testZoneDirectiveComment(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
105 |
self.assertEqual(unicode(zone.ZoneDirective('ORIGIN', ['foo.'], comment="bar")), "$ORIGIN\tfoo.\t; bar") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
106 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
107 |
class ZoneRecordTest(TestMixin, unittest.TestCase): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
108 |
def testZoneRecordShort(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
109 |
rr = zone.ZoneRecord('test', None, None, 'A', ['192.0.2.1']) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
110 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
111 |
self.assertZoneRecordEqual((rr), 'test A 192.0.2.1') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
112 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
113 |
def testZoneRecordImplicit(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
114 |
rr = zone.ZoneRecord(None, None, None, 'A', ['192.0.2.1']) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
115 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
116 |
self.assertZoneRecordEqual((rr), ' A 192.0.2.1') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
117 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
118 |
def testZoneRecordFull(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
119 |
rr = zone.ZoneRecord('test', 60, 'IN', 'A', ['192.0.2.1']) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
120 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
121 |
self.assertZoneRecordEqual((rr), 'test 60 IN A 192.0.2.1') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
122 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
123 |
def testZoneRecordComment(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
124 |
rr = zone.ZoneRecord('test', None, None, 'A', ['192.0.2.1'], comment='Testing') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
125 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
126 |
self.assertZoneRecordEqual((rr), 'test A 192.0.2.1 ; Testing') |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
127 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
128 |
def testZoneRecordA(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
129 |
self.assertZoneRecordEqual((zone.ZoneRecord.A('test', '192.0.2.1')), "test A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
130 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
131 |
def testZoneRecordAAAA(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
132 |
self.assertZoneRecordEqual((zone.ZoneRecord.AAAA('test', '2001:db8::c000:201')), "test AAAA 2001:db8::c000:201") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
133 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
134 |
def testZoneRecordCNAME(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
135 |
self.assertZoneRecordEqual((zone.ZoneRecord.CNAME('test', 'test.example.net.')), "test CNAME test.example.net.") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
136 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
137 |
def testZoneRecordTXT(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
138 |
self.assertZoneRecordEqual((zone.ZoneRecord.TXT('test', u"Foo Bar")), u"test TXT \"Foo Bar\"") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
139 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
140 |
def testZoneRecordPTR(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
141 |
self.assertZoneRecordEqual(zone.ZoneRecord.PTR('1', 'test.example.com.'), "1 PTR test.example.com.") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
142 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
143 |
def testZoneRecordMX(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
144 |
self.assertZoneRecordEqual(zone.ZoneRecord.MX('@', 10, 'mail1'), "@ MX 10 mail1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
145 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
146 |
def testZoneRecordBuildTTL(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
147 |
self.assertZoneRecordEqual(zone.ZoneRecord.A('test', '192.0.2.1', ttl=60), "test 60 A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
148 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
149 |
def testZoneRecordBuildZeroTTL(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
150 |
self.assertZoneRecordEqual(zone.ZoneRecord.A('test', '192.0.2.1', ttl=0), "test 0 A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
151 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
152 |
def testZoneRecordBuildImplicit(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
153 |
self.assertZoneRecordEqual(zone.ZoneRecord.A(None, '192.0.2.1'), " A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
154 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
155 |
def testZoneRecordBuildCls(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
156 |
self.assertZoneRecordEqual(zone.ZoneRecord.A('foo', '192.0.2.1', cls='in'), "foo IN A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
157 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
158 |
def testZoneRecordParse(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
159 |
self.assertZoneRecordEqual(zone.ZoneRecord.parse(['test', 'A', '192.0.2.1']), "test A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
160 |
self.assertZoneRecordEqual(zone.ZoneRecord.parse(['', 'A', '192.0.2.1']), " A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
161 |
self.assertZoneRecordEqual(zone.ZoneRecord.parse(['test', '60', 'A', '192.0.2.1']), "test 60 A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
162 |
self.assertZoneRecordEqual(zone.ZoneRecord.parse(['test', '60', 'in', 'A', '192.0.2.1']), "test 60 IN A 192.0.2.1") |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
163 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
164 |
def testZoneRecordParseError(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
165 |
with self.assertRaises(zone.ZoneLineError): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
166 |
self.assertZoneRecordEqual(zone.ZoneRecord.parse(['test', 'A']), None) |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
167 |
|
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
168 |
def testZoneRecordLoad(self): |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
169 |
self.assertZoneRecordsEqual( |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
170 |
zone.ZoneRecord.load(File.lines( |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
171 |
"$TTL 3600", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
172 |
" ", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
173 |
"@ NS ns1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
174 |
" NS ns2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
175 |
"$ORIGIN asdf", # relative |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
176 |
"foo A 192.0.2.1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
177 |
"$ORIGIN quux.test.", # absolute |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
178 |
"bar A 192.0.2.2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
179 |
), 'test'), [ |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
180 |
"@ 3600 NS ns1", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
181 |
"@ 3600 NS ns2", |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
182 |
"foo 3600 A 192.0.2.1", # asdf.test |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
183 |
"bar 3600 A 192.0.2.2", # quux.test |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
184 |
] |
cc27c830a911
pvl.dns.zone: refactor and test; breaking change
Tero Marttila <tero.marttila@aalto.fi>
parents:
diff
changeset
|
185 |
) |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
186 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
187 |
class TestProcessZone(TestMixin, unittest.TestCase): |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
188 |
def testZoneRecordLoad(self): |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
189 |
rrs = zone.ZoneLine.load(File(""" |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
190 |
$TTL 3600 |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
191 |
@ SOA foo.test. hostmaster.test. ( |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
192 |
0 ; serial |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
193 |
1d ; refresh |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
194 |
5m ; retry |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
195 |
10d ; expiry |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
196 |
300 ; negative |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
197 |
) |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
198 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
199 |
NS foo |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
200 |
NS bar |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
201 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
202 |
foo A 192.0.2.1 |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
203 |
bar A 192.0.2.2 |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
204 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
205 |
$INCLUDE "includes/test" |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
206 |
""")) |
716
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
207 |
|
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
208 |
include_trace = [ ] |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
209 |
rrs = list(process.zone_serial(rrs, 1337)) |
716
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
210 |
rrs = list(process.zone_includes(rrs, '...', include_trace)) |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
211 |
|
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
212 |
self.assertZoneEqual(rrs, [ |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
213 |
"$TTL 3600", |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
214 |
"@ SOA foo.test. hostmaster.test. 1337 1d 5m 10d 300", |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
215 |
" NS foo", |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
216 |
" NS bar", |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
217 |
"foo A 192.0.2.1", |
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
218 |
"bar A 192.0.2.2", |
647
90a0790adf8a
pvl.dns: quote ZoneDirective arguments only on output if required
Tero Marttila <tero.marttila@aalto.fi>
parents:
641
diff
changeset
|
219 |
"$INCLUDE .../includes/test", |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
220 |
]) |
716
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
221 |
self.assertEqual(include_trace, [ |
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
222 |
'.../includes/test', |
4fecd0d1cf23
pvl.dns.process: merge --include-trace into pvl.dns-process, replacing pvl.dns-includes
Tero Marttila <tero.marttila@aalto.fi>
parents:
648
diff
changeset
|
223 |
]) |
641
9d36e312e6a7
pvl.dns-zone: update and split out pvl.dns-process for --serial and --include-path transforms
Tero Marttila <tero.marttila@aalto.fi>
parents:
639
diff
changeset
|
224 |