From: Chris Hofstaedtler Date: Mon, 8 Feb 2021 12:51:04 +0000 (+0100) Subject: Add separate auth domain cache test X-Git-Tag: auth-4.5.0-alpha1~7^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd877e8b14a44e2ef68195312e510d45270ffdaa;p=thirdparty%2Fpdns.git Add separate auth domain cache test --- diff --git a/pdns/test-ueberbackend_cc.cc b/pdns/test-ueberbackend_cc.cc index 84cbb9bbd6..da63913da1 100644 --- a/pdns/test-ueberbackend_cc.cc +++ b/pdns/test-ueberbackend_cc.cc @@ -346,7 +346,7 @@ struct UeberBackendSetupArgFixture { }; }; -static void testWithoutThenWithCache(std::function func) +static void testWithoutThenWithAuthCache(std::function func) { extern AuthQueryCache QC; @@ -355,6 +355,7 @@ static void testWithoutThenWithCache(std::function func) ::arg().set("query-cache-ttl")="0"; ::arg().set("negquery-cache-ttl")="0"; QC.cleanup(); + /* keep domain cache disabled */ ::arg().set("domain-cache-ttl")="0"; g_domainCache.clear(); @@ -367,9 +368,44 @@ static void testWithoutThenWithCache(std::function func) ::arg().set("query-cache-ttl")="20"; ::arg().set("negquery-cache-ttl")="60"; QC.cleanup(); - ::arg().set("domain-cache-ttl")="60"; + /* keep domain cache disabled */ + ::arg().set("domain-cache-ttl")="0"; g_domainCache.clear(); + UeberBackend ub; + /* a first time to fill the cache */ + func(ub); + /* a second time to make sure every call has been tried with the cache filled */ + func(ub); + } +} + +static void testWithoutThenWithDomainCache(std::function func) +{ + extern AuthQueryCache QC; + + { + /* disable domain cache */ + ::arg().set("domain-cache-ttl")="0"; + g_domainCache.clear(); + /* keep auth caches disabled */ + ::arg().set("query-cache-ttl")="0"; + ::arg().set("negquery-cache-ttl")="0"; + QC.cleanup(); + + UeberBackend ub; + func(ub); + } + + { + /* enable domain cache */ + ::arg().set("domain-cache-ttl")="0"; + g_domainCache.clear(); + /* keep auth caches disabled */ + ::arg().set("query-cache-ttl")="0"; + ::arg().set("negquery-cache-ttl")="0"; + QC.cleanup(); + UeberBackend ub; ub.updateDomainCache(); /* a first time to fill the cache */ @@ -498,7 +534,8 @@ BOOST_AUTO_TEST_CASE(test_simple) { } }; - testWithoutThenWithCache(testFunction); + testWithoutThenWithAuthCache(testFunction); + testWithoutThenWithDomainCache(testFunction); } catch(const PDNSException& e) { cerr<