]> git.ipfire.org Git - thirdparty/pdns.git/blame - pdns/test-nameserver_cc.cc
unittest now links in 75% of PowerDNS, plus actuall tests for AddressIsUs now.
[thirdparty/pdns.git] / pdns / test-nameserver_cc.cc
CommitLineData
38720c1b 1#define BOOST_TEST_DYN_LINK
2#define BOOST_TEST_NO_MAIN
3
4#include <boost/test/unit_test.hpp>
5#include "iputils.hh"
6#include "nameserver.hh"
7#include "statbag.hh"
8#include "arguments.hh"
9#include <utility>
10
11extern vector<ComboAddress> g_localaddresses;
12StatBag S;
13
14ArgvMap &arg()
15{
16 static ArgvMap theArg;
17 return theArg;
18}
19
20BOOST_AUTO_TEST_SUITE(nameserver_cc)
21
22BOOST_AUTO_TEST_CASE(test_AddressIsUs4) {
23 ComboAddress local1("127.0.0.1", 53);
24 ComboAddress local2("127.0.0.2", 53);
25 ComboAddress Remote("192.168.255.255", 53);
26
27 g_localaddresses.push_back(ComboAddress("0.0.0.0", 53));
28
29 BOOST_CHECK_EQUAL(AddressIsUs(local1), true);
30 BOOST_CHECK_EQUAL(AddressIsUs(local2), false);
31 BOOST_CHECK_EQUAL(AddressIsUs(Remote), false);
32
33 g_localaddresses.clear();
34 g_localaddresses.push_back(ComboAddress("192.168.255.255", 53));
35 BOOST_CHECK_EQUAL(AddressIsUs(Remote), true);
36 Remote.sin4.sin_port = 1;
37 BOOST_CHECK_EQUAL(AddressIsUs(Remote), false);
38}
39
40BOOST_AUTO_TEST_CASE(test_AddressIsUs6) {
41 ComboAddress local1("127.0.0.1", 53);
42 ComboAddress local2("127.0.0.2", 53);
43 ComboAddress local3("::1", 53);
44 ComboAddress NotUs("192.168.255.255", 53);
45
46 g_localaddresses.clear();
47 g_localaddresses.push_back(ComboAddress("::", 53));
48
49 BOOST_CHECK_EQUAL(AddressIsUs(local1), true);
50 BOOST_CHECK_EQUAL(AddressIsUs(local2), false);
51 BOOST_CHECK_EQUAL(AddressIsUs(local3), true);
52 BOOST_CHECK_EQUAL(AddressIsUs(NotUs), false);
53}
54
55BOOST_AUTO_TEST_SUITE_END()