From: Fred Morcos Date: Mon, 30 Oct 2023 11:51:52 +0000 (+0100) Subject: Use unique_ptr to backend in remotebackend tests X-Git-Tag: rec-5.0.0-beta1~16^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccd73becbeea2a579e0c3a28fc673a48f807ae77;p=thirdparty%2Fpdns.git Use unique_ptr to backend in remotebackend tests --- diff --git a/modules/remotebackend/test-remotebackend-http.cc b/modules/remotebackend/test-remotebackend-http.cc index 3123752b8a..d7b967009a 100644 --- a/modules/remotebackend/test-remotebackend-http.cc +++ b/modules/remotebackend/test-remotebackend-http.cc @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -52,7 +53,7 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN @@ -67,7 +68,7 @@ struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -76,7 +77,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "http:url=http://localhost:62434/dns"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); } catch (PDNSException& ex) { BOOST_TEST_MESSAGE("Cannot start remotebackend: " << ex.reason); diff --git a/modules/remotebackend/test-remotebackend-json.cc b/modules/remotebackend/test-remotebackend-json.cc index 6a47b772c9..7291d45e45 100644 --- a/modules/remotebackend/test-remotebackend-json.cc +++ b/modules/remotebackend/test-remotebackend-json.cc @@ -51,7 +51,7 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN @@ -66,7 +66,7 @@ struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -75,7 +75,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "http:url=http://localhost:62434/dns/endpoint.json,post=1,post_json=1"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); } catch (PDNSException& ex) { BOOST_TEST_MESSAGE("Cannot start remotebackend: " << ex.reason); diff --git a/modules/remotebackend/test-remotebackend-pipe.cc b/modules/remotebackend/test-remotebackend-pipe.cc index 15ca1571e8..c643533d46 100644 --- a/modules/remotebackend/test-remotebackend-pipe.cc +++ b/modules/remotebackend/test-remotebackend-pipe.cc @@ -60,13 +60,13 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -75,7 +75,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "pipe:command=unittest_pipe.rb"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); // load few record types to help out SOARecordContent::report(); NSRecordContent::report(); diff --git a/modules/remotebackend/test-remotebackend-post.cc b/modules/remotebackend/test-remotebackend-post.cc index d35baa00ae..fcae528e37 100644 --- a/modules/remotebackend/test-remotebackend-post.cc +++ b/modules/remotebackend/test-remotebackend-post.cc @@ -51,7 +51,7 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN @@ -66,7 +66,7 @@ struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -75,7 +75,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "http:url=http://localhost:62434/dns,post=1"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); } catch (PDNSException& ex) { BOOST_TEST_MESSAGE("Cannot start remotebackend: " << ex.reason); diff --git a/modules/remotebackend/test-remotebackend-unix.cc b/modules/remotebackend/test-remotebackend-unix.cc index 7d20a2ad32..5c16564e3e 100644 --- a/modules/remotebackend/test-remotebackend-unix.cc +++ b/modules/remotebackend/test-remotebackend-unix.cc @@ -60,13 +60,13 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -75,7 +75,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "unix:path=/tmp/remotebackend.sock"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); // load few record types to help out SOARecordContent::report(); NSRecordContent::report(); diff --git a/modules/remotebackend/test-remotebackend-zeromq.cc b/modules/remotebackend/test-remotebackend-zeromq.cc index 5244a6dab8..e7f65cda1d 100644 --- a/modules/remotebackend/test-remotebackend-zeromq.cc +++ b/modules/remotebackend/test-remotebackend-zeromq.cc @@ -59,7 +59,7 @@ public: RemoteLoader(); }; -DNSBackend* be; +std::unique_ptr backendUnderTest; #ifdef REMOTEBACKEND_ZEROMQ #include @@ -68,7 +68,7 @@ struct RemotebackendSetup { RemotebackendSetup() { - be = nullptr; + backendUnderTest = nullptr; try { // setup minimum arguments ::arg().set("module-dir") = "./.libs"; @@ -77,7 +77,7 @@ struct RemotebackendSetup // then get us a instance of it ::arg().set("remote-connection-string") = "zeromq:endpoint=ipc:///tmp/remotebackend.0"; ::arg().set("remote-dnssec") = "yes"; - be = BackendMakers().all()[0].get(); + backendUnderTest = std::move(BackendMakers().all()[0]); // load few record types to help out SOARecordContent::report(); NSRecordContent::report(); diff --git a/modules/remotebackend/test-remotebackend.cc b/modules/remotebackend/test-remotebackend.cc index e4a43208bf..c5817862ba 100644 --- a/modules/remotebackend/test-remotebackend.cc +++ b/modules/remotebackend/test-remotebackend.cc @@ -41,41 +41,41 @@ #include "test-remotebackend-keys.hh" -extern DNSBackend* be; +extern std::unique_ptr backendUnderTest; BOOST_AUTO_TEST_SUITE(test_remotebackend_so) BOOST_AUTO_TEST_CASE(test_method_lookup) { BOOST_TEST_MESSAGE("Testing lookup method"); - DNSResourceRecord rr; - be->lookup(QType(QType::SOA), DNSName("unit.test.")); + DNSResourceRecord resourceRecord; + backendUnderTest->lookup(QType(QType::SOA), DNSName("unit.test.")); // then try to get() - BOOST_CHECK(be->get(rr)); // and this should be TRUE. + BOOST_CHECK(backendUnderTest->get(resourceRecord)); // and this should be TRUE. // then we check rr contains what we expect - BOOST_CHECK_EQUAL(rr.qname.toString(), "unit.test."); - BOOST_CHECK_MESSAGE(rr.qtype == QType::SOA, "returned qtype was not SOA"); - BOOST_CHECK_EQUAL(rr.content, "ns.unit.test. hostmaster.unit.test. 1 2 3 4 5"); - BOOST_CHECK_EQUAL(rr.ttl, 300); + BOOST_CHECK_EQUAL(resourceRecord.qname.toString(), "unit.test."); + BOOST_CHECK_MESSAGE(resourceRecord.qtype == QType::SOA, "returned qtype was not SOA"); + BOOST_CHECK_EQUAL(resourceRecord.content, "ns.unit.test. hostmaster.unit.test. 1 2 3 4 5"); + BOOST_CHECK_EQUAL(resourceRecord.ttl, 300); } BOOST_AUTO_TEST_CASE(test_method_lookup_empty) { BOOST_TEST_MESSAGE("Testing lookup method with empty result"); - DNSResourceRecord rr; - be->lookup(QType(QType::SOA), DNSName("empty.unit.test.")); + DNSResourceRecord resourceRecord; + backendUnderTest->lookup(QType(QType::SOA), DNSName("empty.unit.test.")); // then try to get() - BOOST_CHECK(!be->get(rr)); // and this should be FALSE + BOOST_CHECK(!backendUnderTest->get(resourceRecord)); // and this should be FALSE } BOOST_AUTO_TEST_CASE(test_method_list) { int record_count = 0; - DNSResourceRecord rr; + DNSResourceRecord resourceRecord; BOOST_TEST_MESSAGE("Testing list method"); - be->list(DNSName("unit.test."), -1); - while (be->get(rr)) { + backendUnderTest->list(DNSName("unit.test."), -1); + while (backendUnderTest->get(resourceRecord)) { record_count++; } @@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE(test_method_list) BOOST_AUTO_TEST_CASE(test_method_doesDNSSEC) { BOOST_TEST_MESSAGE("Testing doesDNSSEC method"); - BOOST_CHECK(be->doesDNSSEC()); // should be true + BOOST_CHECK(backendUnderTest->doesDNSSEC()); // should be true } BOOST_AUTO_TEST_CASE(test_method_setDomainMetadata) @@ -93,27 +93,27 @@ BOOST_AUTO_TEST_CASE(test_method_setDomainMetadata) std::vector meta; meta.emplace_back("VALUE"); BOOST_TEST_MESSAGE("Testing setDomainMetadata method"); - BOOST_CHECK(be->setDomainMetadata(DNSName("unit.test."), "TEST", meta)); + BOOST_CHECK(backendUnderTest->setDomainMetadata(DNSName("unit.test."), "TEST", meta)); } BOOST_AUTO_TEST_CASE(test_method_alsoNotifies) { - BOOST_CHECK(be->setDomainMetadata(DNSName("unit.test."), "ALSO-NOTIFY", {"192.0.2.1"})); + BOOST_CHECK(backendUnderTest->setDomainMetadata(DNSName("unit.test."), "ALSO-NOTIFY", {"192.0.2.1"})); std::set alsoNotifies; BOOST_TEST_MESSAGE("Testing alsoNotifies method"); - be->alsoNotifies(DNSName("unit.test."), &alsoNotifies); + backendUnderTest->alsoNotifies(DNSName("unit.test."), &alsoNotifies); BOOST_CHECK_EQUAL(alsoNotifies.size(), 1); if (!alsoNotifies.empty()) { BOOST_CHECK_EQUAL(alsoNotifies.count("192.0.2.1"), 1); } - BOOST_CHECK(be->setDomainMetadata(DNSName("unit.test."), "ALSO-NOTIFY", std::vector())); + BOOST_CHECK(backendUnderTest->setDomainMetadata(DNSName("unit.test."), "ALSO-NOTIFY", std::vector())); } BOOST_AUTO_TEST_CASE(test_method_getDomainMetadata) { std::vector meta; BOOST_TEST_MESSAGE("Testing getDomainMetadata method"); - be->getDomainMetadata(DNSName("unit.test."), "TEST", meta); + backendUnderTest->getDomainMetadata(DNSName("unit.test."), "TEST", meta); BOOST_CHECK_EQUAL(meta.size(), 1); // in case we got more than one value, which would be unexpected // but not fatal @@ -126,7 +126,7 @@ BOOST_AUTO_TEST_CASE(test_method_getAllDomainMetadata) { std::map> meta; BOOST_TEST_MESSAGE("Testing getAllDomainMetadata method"); - be->getAllDomainMetadata(DNSName("unit.test."), meta); + backendUnderTest->getAllDomainMetadata(DNSName("unit.test."), meta); BOOST_CHECK_EQUAL(meta.size(), 1); // in case we got more than one value, which would be unexpected // but not fatal @@ -138,11 +138,11 @@ BOOST_AUTO_TEST_CASE(test_method_getAllDomainMetadata) BOOST_AUTO_TEST_CASE(test_method_addDomainKey) { BOOST_TEST_MESSAGE("Testing addDomainKey method"); - int64_t id = 0; - be->addDomainKey(DNSName("unit.test."), k1, id); - BOOST_CHECK_EQUAL(id, 1); - be->addDomainKey(DNSName("unit.test."), k2, id); - BOOST_CHECK_EQUAL(id, 2); + int64_t keyID = 0; + backendUnderTest->addDomainKey(DNSName("unit.test."), k1, keyID); + BOOST_CHECK_EQUAL(keyID, 1); + backendUnderTest->addDomainKey(DNSName("unit.test."), k2, keyID); + BOOST_CHECK_EQUAL(keyID, 2); } BOOST_AUTO_TEST_CASE(test_method_getDomainKeys) @@ -150,18 +150,18 @@ BOOST_AUTO_TEST_CASE(test_method_getDomainKeys) std::vector keys; BOOST_TEST_MESSAGE("Testing getDomainKeys method"); // we expect to get two keys - be->getDomainKeys(DNSName("unit.test."), keys); + backendUnderTest->getDomainKeys(DNSName("unit.test."), keys); BOOST_CHECK_EQUAL(keys.size(), 2); // in case we got more than 2 keys, which would be unexpected // but not fatal if (keys.size() > 1) { // check that we have two keys - for (DNSBackend::KeyData& kd : keys) { - BOOST_CHECK(kd.id > 0); - BOOST_CHECK(kd.flags == 256 || kd.flags == 257); - BOOST_CHECK(kd.active == true); - BOOST_CHECK(kd.published == true); - BOOST_CHECK(kd.content.size() > 500); + for (DNSBackend::KeyData& keyData : keys) { + BOOST_CHECK(keyData.id > 0); + BOOST_CHECK(keyData.flags == 256 || keyData.flags == 257); + BOOST_CHECK(keyData.active == true); + BOOST_CHECK(keyData.published == true); + BOOST_CHECK(keyData.content.size() > 500); } } } @@ -169,19 +169,19 @@ BOOST_AUTO_TEST_CASE(test_method_getDomainKeys) BOOST_AUTO_TEST_CASE(test_method_deactivateDomainKey) { BOOST_TEST_MESSAGE("Testing deactivateDomainKey method"); - BOOST_CHECK(be->deactivateDomainKey(DNSName("unit.test."), 1)); + BOOST_CHECK(backendUnderTest->deactivateDomainKey(DNSName("unit.test."), 1)); } BOOST_AUTO_TEST_CASE(test_method_activateDomainKey) { BOOST_TEST_MESSAGE("Testing activateDomainKey method"); - BOOST_CHECK(be->activateDomainKey(DNSName("unit.test."), 1)); + BOOST_CHECK(backendUnderTest->activateDomainKey(DNSName("unit.test."), 1)); } BOOST_AUTO_TEST_CASE(test_method_removeDomainKey) { - BOOST_CHECK(be->removeDomainKey(DNSName("unit.test."), 2)); - BOOST_CHECK(be->removeDomainKey(DNSName("unit.test."), 1)); + BOOST_CHECK(backendUnderTest->removeDomainKey(DNSName("unit.test."), 2)); + BOOST_CHECK(backendUnderTest->removeDomainKey(DNSName("unit.test."), 1)); } BOOST_AUTO_TEST_CASE(test_method_getBeforeAndAfterNamesAbsolute) @@ -191,7 +191,7 @@ BOOST_AUTO_TEST_CASE(test_method_getBeforeAndAfterNamesAbsolute) DNSName after; BOOST_TEST_MESSAGE("Testing getBeforeAndAfterNamesAbsolute method"); - be->getBeforeAndAfterNamesAbsolute(-1, DNSName("middle.unit.test."), unhashed, before, after); + backendUnderTest->getBeforeAndAfterNamesAbsolute(-1, DNSName("middle.unit.test."), unhashed, before, after); BOOST_CHECK_EQUAL(unhashed.toString(), "middle."); BOOST_CHECK_EQUAL(before.toString(), "begin."); BOOST_CHECK_EQUAL(after.toString(), "stop."); @@ -202,7 +202,7 @@ BOOST_AUTO_TEST_CASE(test_method_setTSIGKey) std::string algorithm; std::string content; BOOST_TEST_MESSAGE("Testing setTSIGKey method"); - BOOST_CHECK_MESSAGE(be->setTSIGKey(DNSName("unit.test."), DNSName("hmac-md5."), "kp4/24gyYsEzbuTVJRUMoqGFmN3LYgVDzJ/3oRSP7ys="), "did not return true"); + BOOST_CHECK_MESSAGE(backendUnderTest->setTSIGKey(DNSName("unit.test."), DNSName("hmac-md5."), "kp4/24gyYsEzbuTVJRUMoqGFmN3LYgVDzJ/3oRSP7ys="), "did not return true"); } BOOST_AUTO_TEST_CASE(test_method_getTSIGKey) @@ -210,7 +210,7 @@ BOOST_AUTO_TEST_CASE(test_method_getTSIGKey) DNSName algorithm; std::string content; BOOST_TEST_MESSAGE("Testing getTSIGKey method"); - be->getTSIGKey(DNSName("unit.test."), algorithm, content); + backendUnderTest->getTSIGKey(DNSName("unit.test."), algorithm, content); BOOST_CHECK_EQUAL(algorithm.toString(), "hmac-md5."); BOOST_CHECK_EQUAL(content, "kp4/24gyYsEzbuTVJRUMoqGFmN3LYgVDzJ/3oRSP7ys="); } @@ -220,14 +220,14 @@ BOOST_AUTO_TEST_CASE(test_method_deleteTSIGKey) std::string algorithm; std::string content; BOOST_TEST_MESSAGE("Testing deleteTSIGKey method"); - BOOST_CHECK_MESSAGE(be->deleteTSIGKey(DNSName("unit.test.")), "did not return true"); + BOOST_CHECK_MESSAGE(backendUnderTest->deleteTSIGKey(DNSName("unit.test.")), "did not return true"); } BOOST_AUTO_TEST_CASE(test_method_getTSIGKeys) { std::vector keys; BOOST_TEST_MESSAGE("Testing getTSIGKeys method"); - be->getTSIGKeys(keys); + backendUnderTest->getTSIGKeys(keys); BOOST_CHECK(!keys.empty()); if (!keys.empty()) { BOOST_CHECK_EQUAL(keys[0].name.toString(), "test."); @@ -239,159 +239,159 @@ BOOST_AUTO_TEST_CASE(test_method_getTSIGKeys) BOOST_AUTO_TEST_CASE(test_method_setNotified) { BOOST_TEST_MESSAGE("Testing setNotified method"); - be->setNotified(1, 2); + backendUnderTest->setNotified(1, 2); BOOST_CHECK(true); // we check this on next step } BOOST_AUTO_TEST_CASE(test_method_getDomainInfo) { - DomainInfo di; + DomainInfo domainInfo; BOOST_TEST_MESSAGE("Testing getDomainInfo method"); - be->getDomainInfo(DNSName("unit.test."), di); - BOOST_CHECK_EQUAL(di.zone.toString(), "unit.test."); - BOOST_CHECK_EQUAL(di.serial, 2); - BOOST_CHECK_EQUAL(di.notified_serial, 2); - BOOST_CHECK_EQUAL(di.kind, DomainInfo::Native); - BOOST_CHECK_EQUAL(di.backend, be); + backendUnderTest->getDomainInfo(DNSName("unit.test."), domainInfo); + BOOST_CHECK_EQUAL(domainInfo.zone.toString(), "unit.test."); + BOOST_CHECK_EQUAL(domainInfo.serial, 2); + BOOST_CHECK_EQUAL(domainInfo.notified_serial, 2); + BOOST_CHECK_EQUAL(domainInfo.kind, DomainInfo::Native); + BOOST_CHECK_EQUAL(domainInfo.backend, backendUnderTest.get()); } BOOST_AUTO_TEST_CASE(test_method_getAllDomains) { - DomainInfo di; + DomainInfo domainInfo; BOOST_TEST_MESSAGE("Testing getAllDomains method"); vector result; - be->getAllDomains(&result, true, true); + backendUnderTest->getAllDomains(&result, true, true); BOOST_REQUIRE(!result.empty()); - di = result.at(0); - BOOST_CHECK_EQUAL(di.zone.toString(), "unit.test."); - BOOST_CHECK_EQUAL(di.serial, 2); - BOOST_CHECK_EQUAL(di.notified_serial, 2); - BOOST_CHECK_EQUAL(di.kind, DomainInfo::Native); - BOOST_CHECK_EQUAL(di.backend, be); + domainInfo = result.at(0); + BOOST_CHECK_EQUAL(domainInfo.zone.toString(), "unit.test."); + BOOST_CHECK_EQUAL(domainInfo.serial, 2); + BOOST_CHECK_EQUAL(domainInfo.notified_serial, 2); + BOOST_CHECK_EQUAL(domainInfo.kind, DomainInfo::Native); + BOOST_CHECK_EQUAL(domainInfo.backend, backendUnderTest.get()); } BOOST_AUTO_TEST_CASE(test_method_superMasterBackend) { - DNSResourceRecord rr; + DNSResourceRecord resourceRecord; std::vector nsset; DNSBackend* dbd = nullptr; BOOST_TEST_MESSAGE("Testing superMasterBackend method"); - rr.qname = DNSName("example.com."); - rr.qtype = QType::NS; - rr.qclass = QClass::IN; - rr.ttl = 300; - rr.content = "ns1.example.com."; - nsset.push_back(rr); - rr.qname = DNSName("example.com."); - rr.qtype = QType::NS; - rr.qclass = QClass::IN; - rr.ttl = 300; - rr.content = "ns2.example.com."; - nsset.push_back(rr); - - BOOST_CHECK(be->superMasterBackend("10.0.0.1", DNSName("example.com."), nsset, nullptr, nullptr, &dbd)); + resourceRecord.qname = DNSName("example.com."); + resourceRecord.qtype = QType::NS; + resourceRecord.qclass = QClass::IN; + resourceRecord.ttl = 300; + resourceRecord.content = "ns1.example.com."; + nsset.push_back(resourceRecord); + resourceRecord.qname = DNSName("example.com."); + resourceRecord.qtype = QType::NS; + resourceRecord.qclass = QClass::IN; + resourceRecord.ttl = 300; + resourceRecord.content = "ns2.example.com."; + nsset.push_back(resourceRecord); + + BOOST_CHECK(backendUnderTest->superMasterBackend("10.0.0.1", DNSName("example.com."), nsset, nullptr, nullptr, &dbd)); // let's see what we got - BOOST_CHECK_EQUAL(dbd, be); + BOOST_CHECK_EQUAL(dbd, backendUnderTest.get()); } BOOST_AUTO_TEST_CASE(test_method_createSlaveDomain) { BOOST_TEST_MESSAGE("Testing createSlaveDomain method"); - BOOST_CHECK(be->createSlaveDomain("10.0.0.1", DNSName("pirate.unit.test."), "", "")); + BOOST_CHECK(backendUnderTest->createSlaveDomain("10.0.0.1", DNSName("pirate.unit.test."), "", "")); } BOOST_AUTO_TEST_CASE(test_method_feedRecord) { - DNSResourceRecord rr; + DNSResourceRecord resourceRecord; BOOST_TEST_MESSAGE("Testing feedRecord method"); - be->startTransaction(DNSName("example.com."), 2); - rr.qname = DNSName("example.com."); - rr.qtype = QType::SOA; - rr.qclass = QClass::IN; - rr.ttl = 300; - rr.content = "ns1.example.com. hostmaster.example.com. 2013013441 7200 3600 1209600 300"; - BOOST_CHECK(be->feedRecord(rr, DNSName())); - rr.qname = DNSName("replace.example.com."); - rr.qtype = QType::A; - rr.qclass = QClass::IN; - rr.ttl = 300; - rr.content = "127.0.0.1"; - BOOST_CHECK(be->feedRecord(rr, DNSName())); - be->commitTransaction(); + backendUnderTest->startTransaction(DNSName("example.com."), 2); + resourceRecord.qname = DNSName("example.com."); + resourceRecord.qtype = QType::SOA; + resourceRecord.qclass = QClass::IN; + resourceRecord.ttl = 300; + resourceRecord.content = "ns1.example.com. hostmaster.example.com. 2013013441 7200 3600 1209600 300"; + BOOST_CHECK(backendUnderTest->feedRecord(resourceRecord, DNSName())); + resourceRecord.qname = DNSName("replace.example.com."); + resourceRecord.qtype = QType::A; + resourceRecord.qclass = QClass::IN; + resourceRecord.ttl = 300; + resourceRecord.content = "127.0.0.1"; + BOOST_CHECK(backendUnderTest->feedRecord(resourceRecord, DNSName())); + backendUnderTest->commitTransaction(); } BOOST_AUTO_TEST_CASE(test_method_replaceRRSet) { - be->startTransaction(DNSName("example.com."), 2); - DNSResourceRecord rr; + backendUnderTest->startTransaction(DNSName("example.com."), 2); + DNSResourceRecord resourceRecord; std::vector rrset; BOOST_TEST_MESSAGE("Testing replaceRRSet method"); - rr.qname = DNSName("replace.example.com."); - rr.qtype = QType::A; - rr.qclass = QClass::IN; - rr.ttl = 300; - rr.content = "1.1.1.1"; - rrset.push_back(rr); - BOOST_CHECK(be->replaceRRSet(2, DNSName("replace.example.com."), QType(QType::A), rrset)); - be->commitTransaction(); + resourceRecord.qname = DNSName("replace.example.com."); + resourceRecord.qtype = QType::A; + resourceRecord.qclass = QClass::IN; + resourceRecord.ttl = 300; + resourceRecord.content = "1.1.1.1"; + rrset.push_back(resourceRecord); + BOOST_CHECK(backendUnderTest->replaceRRSet(2, DNSName("replace.example.com."), QType(QType::A), rrset)); + backendUnderTest->commitTransaction(); } BOOST_AUTO_TEST_CASE(test_method_feedEnts) { BOOST_TEST_MESSAGE("Testing feedEnts method"); - be->startTransaction(DNSName("example.com."), 2); + backendUnderTest->startTransaction(DNSName("example.com."), 2); map nonterm = boost::assign::map_list_of(DNSName("_udp"), true)(DNSName("_sip._udp"), true); - BOOST_CHECK(be->feedEnts(2, nonterm)); - be->commitTransaction(); + BOOST_CHECK(backendUnderTest->feedEnts(2, nonterm)); + backendUnderTest->commitTransaction(); } BOOST_AUTO_TEST_CASE(test_method_feedEnts3) { BOOST_TEST_MESSAGE("Testing feedEnts3 method"); - be->startTransaction(DNSName("example.com"), 2); + backendUnderTest->startTransaction(DNSName("example.com"), 2); NSEC3PARAMRecordContent ns3prc; ns3prc.d_iterations = 1; ns3prc.d_salt = "\u00aa\u00bb\u00cc\u00dd"; map nonterm = boost::assign::map_list_of(DNSName("_udp"), true)(DNSName("_sip._udp"), true); - BOOST_CHECK(be->feedEnts3(2, DNSName("example.com."), nonterm, ns3prc, 0)); - be->commitTransaction(); + BOOST_CHECK(backendUnderTest->feedEnts3(2, DNSName("example.com."), nonterm, ns3prc, 0)); + backendUnderTest->commitTransaction(); } BOOST_AUTO_TEST_CASE(test_method_abortTransaction) { BOOST_TEST_MESSAGE("Testing abortTransaction method"); - be->startTransaction(DNSName("example.com."), 2); - BOOST_CHECK(be->abortTransaction()); + backendUnderTest->startTransaction(DNSName("example.com."), 2); + BOOST_CHECK(backendUnderTest->abortTransaction()); } BOOST_AUTO_TEST_CASE(test_method_directBackendCmd) { BOOST_TEST_MESSAGE("Testing directBackendCmd method"); - BOOST_CHECK_EQUAL(be->directBackendCmd("PING 1234"), "PING 1234"); + BOOST_CHECK_EQUAL(backendUnderTest->directBackendCmd("PING 1234"), "PING 1234"); } BOOST_AUTO_TEST_CASE(test_method_getUpdatedMasters) { - DomainInfo di; + DomainInfo domainInfo; BOOST_TEST_MESSAGE("Testing getUpdatedMasters method"); vector result; std::unordered_set catalogs; CatalogHashMap hashes; - be->getUpdatedMasters(result, catalogs, hashes); + backendUnderTest->getUpdatedMasters(result, catalogs, hashes); BOOST_REQUIRE(!result.empty()); - di = result.at(0); - BOOST_CHECK_EQUAL(di.zone.toString(), "master.test."); - BOOST_CHECK_EQUAL(di.serial, 2); - BOOST_CHECK_EQUAL(di.notified_serial, 2); - BOOST_CHECK_EQUAL(di.kind, DomainInfo::Master); - BOOST_CHECK_EQUAL(di.backend, be); + domainInfo = result.at(0); + BOOST_CHECK_EQUAL(domainInfo.zone.toString(), "master.test."); + BOOST_CHECK_EQUAL(domainInfo.serial, 2); + BOOST_CHECK_EQUAL(domainInfo.notified_serial, 2); + BOOST_CHECK_EQUAL(domainInfo.kind, DomainInfo::Master); + BOOST_CHECK_EQUAL(domainInfo.backend, backendUnderTest.get()); } BOOST_AUTO_TEST_SUITE_END();