]>
Commit | Line | Data |
---|---|---|
1c2d079d | 1 | #ifndef BOOST_TEST_DYN_LINK |
eafa87e6 | 2 | #define BOOST_TEST_DYN_LINK |
1c2d079d FM |
3 | #endif |
4 | ||
eafa87e6 | 5 | #define BOOST_TEST_NO_MAIN |
1c2d079d | 6 | |
eafa87e6 O |
7 | #include <boost/test/unit_test.hpp> |
8 | ||
9 | #include "zonemd.hh" | |
eafa87e6 O |
10 | #include "zoneparser-tng.hh" |
11 | ||
12 | BOOST_AUTO_TEST_SUITE(test_zonemd_cc) | |
13 | ||
2eaaa7c1 O |
14 | static void testZoneMD(const std::string& zone, const std::string& file, bool ex, bool done, bool ok) |
15 | { | |
eafa87e6 O |
16 | const char* p = std::getenv("SRCDIR"); |
17 | if (!p) { | |
18 | p = "."; | |
19 | } | |
20 | DNSName z(zone); | |
21 | std::ostringstream pathbuf; | |
22 | pathbuf << p << "/../regression-tests/zones/" + file; | |
23 | ZoneParserTNG zpt(pathbuf.str(), z); | |
24 | ||
6376c2ee | 25 | bool validationDone = false, validationOK = false; |
eafa87e6 O |
26 | |
27 | try { | |
efe79e15 OM |
28 | auto zonemd = pdns::ZoneMD(z); |
29 | zonemd.readRecords(zpt); | |
30 | zonemd.verify(validationDone, validationOK); | |
eafa87e6 O |
31 | } |
32 | catch (const PDNSException& e) { | |
eafa87e6 O |
33 | BOOST_CHECK(ex); |
34 | } | |
35 | catch (const std::exception& e) { | |
eafa87e6 O |
36 | BOOST_CHECK(ex); |
37 | } | |
38 | ||
39 | BOOST_CHECK(validationDone == done); | |
40 | BOOST_CHECK(validationOK == ok); | |
41 | } | |
42 | ||
2eaaa7c1 O |
43 | BOOST_AUTO_TEST_CASE(test_zonemd1) |
44 | { | |
eafa87e6 O |
45 | testZoneMD("example", "zonemd1.zone", false, true, true); |
46 | } | |
47 | ||
2eaaa7c1 O |
48 | BOOST_AUTO_TEST_CASE(test_zonemd2) |
49 | { | |
eafa87e6 O |
50 | testZoneMD("example", "zonemd2.zone", false, true, true); |
51 | } | |
52 | ||
2eaaa7c1 O |
53 | BOOST_AUTO_TEST_CASE(test_zonemd3) |
54 | { | |
eafa87e6 O |
55 | testZoneMD("example", "zonemd3.zone", false, true, true); |
56 | } | |
57 | ||
2eaaa7c1 O |
58 | BOOST_AUTO_TEST_CASE(test_zonemd4) |
59 | { | |
eafa87e6 O |
60 | testZoneMD("uri.arpa", "zonemd4.zone", false, true, true); |
61 | } | |
62 | ||
2eaaa7c1 O |
63 | BOOST_AUTO_TEST_CASE(test_zonemd5) |
64 | { | |
eafa87e6 O |
65 | testZoneMD("root-servers.net", "zonemd5.zone", false, true, true); |
66 | } | |
67 | ||
2eaaa7c1 O |
68 | BOOST_AUTO_TEST_CASE(test_zonemd6) |
69 | { | |
eafa87e6 O |
70 | testZoneMD("example", "zonemd-invalid.zone", false, true, false); |
71 | } | |
72 | ||
2eaaa7c1 O |
73 | BOOST_AUTO_TEST_CASE(test_zonemd7) |
74 | { | |
eafa87e6 O |
75 | testZoneMD("example", "zonemd-nozonemd.zone", false, false, false); |
76 | } | |
77 | ||
2eaaa7c1 O |
78 | BOOST_AUTO_TEST_CASE(test_zonemd8) |
79 | { | |
eafa87e6 O |
80 | testZoneMD("example", "zonemd-allunsup.zone", false, false, false); |
81 | } | |
82 | ||
2eaaa7c1 O |
83 | BOOST_AUTO_TEST_CASE(test_zonemd9) |
84 | { | |
eafa87e6 O |
85 | testZoneMD("example", "zonemd-sha512.zone", false, true, true); |
86 | } | |
87 | ||
2eaaa7c1 O |
88 | BOOST_AUTO_TEST_CASE(test_zonemd10) |
89 | { | |
eafa87e6 O |
90 | testZoneMD("example", "zonemd-serialmismatch.zone", false, false, false); |
91 | } | |
92 | ||
2eaaa7c1 O |
93 | BOOST_AUTO_TEST_CASE(test_zonemd11) |
94 | { | |
eafa87e6 O |
95 | testZoneMD("example", "zonemd-duplicate.zone", false, false, false); |
96 | } | |
97 | ||
2eaaa7c1 O |
98 | BOOST_AUTO_TEST_CASE(test_zonemd12) |
99 | { | |
eafa87e6 O |
100 | testZoneMD("root-servers.net", "zonemd-syntax.zone", true, false, false); |
101 | } | |
102 | ||
2eaaa7c1 O |
103 | BOOST_AUTO_TEST_CASE(test_zonemd13) |
104 | { | |
eafa87e6 O |
105 | testZoneMD("xxx", "zonemd1.zone", false, false, false); |
106 | } | |
107 | ||
108 | BOOST_AUTO_TEST_SUITE_END() |