From: Aki Tuomi Date: Sat, 15 Jun 2013 15:36:08 +0000 (+0300) Subject: Complete test suite for TSIG key management X-Git-Tag: rec-3.6.0-rc1~468^2~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7b89fc4cef93b398df912975d2cf1506185d38a;p=thirdparty%2Fpdns.git Complete test suite for TSIG key management --- diff --git a/modules/remotebackend/test-remotebackend.cc b/modules/remotebackend/test-remotebackend.cc index 4500814b00..0dcfd9b66c 100644 --- a/modules/remotebackend/test-remotebackend.cc +++ b/modules/remotebackend/test-remotebackend.cc @@ -147,7 +147,7 @@ BOOST_AUTO_TEST_CASE(test_method_getTSIGKeys) { std::vector keys; BOOST_TEST_MESSAGE("Testing getTSIGKeys method"); be->getTSIGKeys(keys); - BOOST_CHECK(keys.size() > 0) + BOOST_CHECK(keys.size() > 0); if (keys.size() > 0) { BOOST_CHECK_EQUAL(keys[0].name, "test"); BOOST_CHECK_EQUAL(keys[0].algorithm, "NULL"); diff --git a/modules/remotebackend/unittest.rb b/modules/remotebackend/unittest.rb index 69ae27fe83..d806da3207 100644 --- a/modules/remotebackend/unittest.rb +++ b/modules/remotebackend/unittest.rb @@ -23,6 +23,8 @@ $meta = {} $keys = {} +$tsigkeys = { "test" => {:name => "test", :algorithm => "NULL", :content => "NULL"} } + class Handler def initialize end @@ -134,8 +136,8 @@ class Handler end def do_gettsigkey(args) - if args["name"] == "unit.test" - return [{:algorithm => "NULL", :content => "NULL"}] + if $tsigkeys.has_key? args["name"] + return [{:algorithm => $tsigkeys[args["name"]][:algorithm], :content => $tsigkeys[args["name"]][:content] }] end [false] end @@ -204,6 +206,20 @@ class Handler [true] end + def do_settsigkey(args) + $tsigkeys[args["name"]] = { :name => args["name"], :algorithm => args["algorithm"], :content => args["content"] } + [true] + end + + def do_deletetsigkey(args) + $tsigkeys.delete args["name"] if $tsigkeys.has_key? args["name"] + [true] + end + + def do_gettsigkeys(*args) + return [$tsigkeys.values] + end + def do_starttransaction(args) [true] end diff --git a/modules/remotebackend/unittest_http.rb b/modules/remotebackend/unittest_http.rb index 8680bbb7f0..b0dab9dc5a 100755 --- a/modules/remotebackend/unittest_http.rb +++ b/modules/remotebackend/unittest_http.rb @@ -65,7 +65,7 @@ class DNSBackendHandler < WEBrick::HTTPServlet::AbstractServlet "id" => url.shift.to_i, "name" => url.shift } - when "adddomainkey", "gettsigkey", "getdomaininfo" + when "adddomainkey", "gettsigkey", "getdomaininfo", "settsigkey", "deletetsigkey" { "name" => url.shift } diff --git a/modules/remotebackend/unittest_pipe.rb b/modules/remotebackend/unittest_pipe.rb index f3c3c51ede..e6ef2df634 100755 --- a/modules/remotebackend/unittest_pipe.rb +++ b/modules/remotebackend/unittest_pipe.rb @@ -18,7 +18,7 @@ begin begin input = JSON.parse(line) method = "do_#{input["method"].downcase}" - args = input["parameters"] + args = input["parameters"] || [] if h.respond_to?(method.to_sym) == false res = false