[svn] commit: r2313 - /branches/trac221/src/bin/auth/tests/auth_srv_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Jun 28 19:06:10 UTC 2010
Author: jinmei
Date: Mon Jun 28 19:06:09 2010
New Revision: 2313
Log:
added a test for AXFR/UDP.
Modified:
branches/trac221/src/bin/auth/tests/auth_srv_unittest.cc
Modified: branches/trac221/src/bin/auth/tests/auth_srv_unittest.cc
==============================================================================
--- branches/trac221/src/bin/auth/tests/auth_srv_unittest.cc (original)
+++ branches/trac221/src/bin/auth/tests/auth_srv_unittest.cc Mon Jun 28 19:06:09 2010
@@ -74,9 +74,10 @@
MessageRenderer response_renderer;
vector<uint8_t> data;
- void createDataFromFile(const char* const datafile);
+ void createDataFromFile(const char* const datafile, int protocol);
void createRequest(const Opcode& opcode, const Name& request_name,
- const RRClass& rrclass, const RRType& rrtype);
+ const RRClass& rrclass, const RRType& rrtype,
+ int protocol);
};
// These are flags to indicate whether the corresponding flag bit of the
@@ -91,12 +92,14 @@
const unsigned int CD_FLAG = 0x40;
void
-AuthSrvTest::createDataFromFile(const char* const datafile) {
+AuthSrvTest::createDataFromFile(const char* const datafile,
+ const int protocol = IPPROTO_UDP)
+{
delete io_message;
data.clear();
delete endpoint;
- endpoint = IOEndpoint::create(IPPROTO_UDP, IOAddress("192.0.2.1"), 5300);
+ endpoint = IOEndpoint::create(protocol, IOAddress("192.0.2.1"), 5300);
UnitTestUtil::readWireData(datafile, data);
io_message = new IOMessage(&data[0], data.size(),
IOSocket::getDummyUDPSocket(), *endpoint);
@@ -104,14 +107,16 @@
void
AuthSrvTest::createRequest(const Opcode& opcode, const Name& request_name,
- const RRClass& rrclass, const RRType& rrtype)
+ const RRClass& rrclass, const RRType& rrtype,
+ const int protocol = IPPROTO_UDP)
{
request_message.setOpcode(opcode);
+ request_message.setQid(default_qid);
request_message.addQuestion(Question(request_name, rrclass, rrtype));
request_message.toWire(request_renderer);
delete io_message;
- endpoint = IOEndpoint::create(IPPROTO_UDP, IOAddress("192.0.2.1"), 5300);
+ endpoint = IOEndpoint::create(protocol, IOAddress("192.0.2.1"), 5300);
io_message = new IOMessage(request_renderer.getData(),
request_renderer.getLength(),
IOSocket::getDummyUDPSocket(), *endpoint);
@@ -261,11 +266,19 @@
EXPECT_FALSE(parse_message.isDNSSECSupported());
}
-// notify-in teset.
+TEST_F(AuthSrvTest, AXFROverUDP) {
+ // AXFR over UDP is invalid and should result in FORMERR.
+ createRequest(opcode, Name("example.com"), RRClass::IN(), RRType::AXFR(),
+ IPPROTO_UDP);
+ EXPECT_EQ(true, server.processMessage(*io_message, parse_message,
+ response_renderer));
+ headerCheck(parse_message, default_qid, Rcode::FORMERR(), opcode.getCode(),
+ QR_FLAG, 1, 0, 0, 0);
+}
+
TEST_F(AuthSrvTest, notifyInTest) {
createRequest(Opcode::NOTIFY(), Name("example.com"), RRClass::IN(),
RRType::SOA());
- parse_message.clear(Message::PARSE);
EXPECT_EQ(false, server.processMessage(*io_message, parse_message,
response_renderer));
}
More information about the bind10-changes
mailing list