From: Michal 'vorner' Vaner Date: Thu, 15 Mar 2012 15:59:39 +0000 (+0100) Subject: [1760] Test for the accessor X-Git-Tag: trac2351_base~226^2~116^2~100^2~6^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e80de6f13a404687f4ed896e548fc614dc953e6e;p=thirdparty%2Fkea.git [1760] Test for the accessor --- diff --git a/src/lib/datasrc/tests/sqlite3_accessor_unittest.cc b/src/lib/datasrc/tests/sqlite3_accessor_unittest.cc index 51221367ca..d6210b9d31 100644 --- a/src/lib/datasrc/tests/sqlite3_accessor_unittest.cc +++ b/src/lib/datasrc/tests/sqlite3_accessor_unittest.cc @@ -173,6 +173,39 @@ TEST_F(SQLite3AccessorTest, iterator) { EXPECT_FALSE(context->getNext(data)); } +// This tests getting NSEC3 records +TEST_F(SQLite3AccessorTest, nsec3) { + const std::pair + zone_info(accessor->getZone("sql2.example.com.")); + ASSERT_TRUE(zone_info.first); + + DatabaseAccessor::IteratorContextPtr + context(accessor->getNSEC3Records("1BB7SO0452U1QHL98UISNDD9218GELR5", + zone_info.second)); + // This relies on specific ordering in the DB. Is it OK? + checkRR(context, "1BB7SO0452U1QHL98UISNDD9218GELR5", "7200", "NSEC3", + "1 0 10 FEEDABEE 4KLSVDE8KH8G95VU68R7AHBE1CPQN38J"); + checkRR(context, "1BB7SO0452U1QHL98UISNDD9218GELR5", "7200", "RRSIG", + "NSEC3 5 4 7200 20100410172647 20100311172647 63192 " + "sql2.example.com. gNIVj4T8t51fEU6kOPpvK7HOGBFZGbalN5ZK " + "mInyrww6UWZsUNdw07ge6/U6HfG+/s61RZ/L is2M6yUWHyXbNbj/" + "QqwqgadG5dhxTArfuR02 xP600x0fWX8LXzW4yLMdKVxGbzYT+vvGz71o " + "8gHSY5vYTtothcZQa4BMKhmGQEk="); + + // And that's all + std::string data[DatabaseAccessor::COLUMN_COUNT]; + EXPECT_FALSE(context->getNext(data)); + + // Calling again won't hurt + EXPECT_FALSE(context->getNext(data)); + + // This one should be empty ‒ no data here + context = accessor->getNSEC3Records("NO_SUCH_HASH", zone_info.second); + EXPECT_FALSE(context->getNext(data)); + // Still nothing? ;-) + EXPECT_FALSE(context->getNext(data)); +} + // This tests the difference iterator context // Test that at attempt to create a difference iterator for a serial number