BIND 10 trac3359, updated. 8e7af49f4f4b72187ec0861c95bd80e8900fcedf [3359] Invalid hostname tests moved from MySQL to shared framework.
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Mar 6 10:35:41 UTC 2014
The branch, trac3359 has been updated
via 8e7af49f4f4b72187ec0861c95bd80e8900fcedf (commit)
from ae241216b7a9764e00835ffbde13011102db3983 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8e7af49f4f4b72187ec0861c95bd80e8900fcedf
Author: Tomek Mrugalski <tomasz at isc.org>
Date: Thu Mar 6 10:35:35 2014 +0000
[3359] Invalid hostname tests moved from MySQL to shared framework.
-----------------------------------------------------------------------
Summary of changes:
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc | 38 +-----------------
src/lib/dhcpsrv/tests/test_utils.cc | 44 +++++++++++++++++++++
src/lib/dhcpsrv/tests/test_utils.h | 12 ++++++
3 files changed, 58 insertions(+), 36 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc b/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
index dfb8266..30403ae 100644
--- a/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
+++ b/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
@@ -345,24 +345,7 @@ TEST_F(MySqlLeaseMgrTest, lease4NullClientId) {
/// Checks that the it is not possible to create a lease when the hostname
/// length exceeds 255 characters.
TEST_F(MySqlLeaseMgrTest, lease4InvalidHostname) {
- // Get the leases to be used for the test.
- vector<Lease4Ptr> leases = createLeases4();
-
- // Create a dummy hostname, consisting of 255 characters.
- leases[1]->hostname_.assign(255, 'a');
- ASSERT_TRUE(lmptr_->addLease(leases[1]));
-
- // The new lease must be in the database.
- Lease4Ptr l_returned = lmptr_->getLease4(ioaddress4_[1]);
- detailCompareLease(leases[1], l_returned);
-
- // Let's delete the lease, so as we can try to add it again with
- // invalid hostname.
- EXPECT_TRUE(lmptr_->deleteLease(ioaddress4_[1]));
-
- // Create a hostname with 256 characters. It should not be accepted.
- leases[1]->hostname_.assign(256, 'a');
- EXPECT_THROW(lmptr_->addLease(leases[1]), DbOperationError);
+ testLease4InvalidHostname();
}
/// @brief Basic Lease6 Checks
@@ -378,24 +361,7 @@ TEST_F(MySqlLeaseMgrTest, basicLease6) {
/// Checks that the it is not possible to create a lease when the hostname
/// length exceeds 255 characters.
TEST_F(MySqlLeaseMgrTest, lease6InvalidHostname) {
- // Get the leases to be used for the test.
- vector<Lease6Ptr> leases = createLeases6();
-
- // Create a dummy hostname, consisting of 255 characters.
- leases[1]->hostname_.assign(255, 'a');
- ASSERT_TRUE(lmptr_->addLease(leases[1]));
-
- // The new lease must be in the database.
- Lease6Ptr l_returned = lmptr_->getLease6(leasetype6_[1], ioaddress6_[1]);
- detailCompareLease(leases[1], l_returned);
-
- // Let's delete the lease, so as we can try to add it again with
- // invalid hostname.
- EXPECT_TRUE(lmptr_->deleteLease(ioaddress6_[1]));
-
- // Create a hostname with 256 characters. It should not be accepted.
- leases[1]->hostname_.assign(256, 'a');
- EXPECT_THROW(lmptr_->addLease(leases[1]), DbOperationError);
+ testLease6InvalidHostname();
}
/// @brief Check GetLease4 methods - access by Hardware Address
diff --git a/src/lib/dhcpsrv/tests/test_utils.cc b/src/lib/dhcpsrv/tests/test_utils.cc
index 52374d2..6779edf 100644
--- a/src/lib/dhcpsrv/tests/test_utils.cc
+++ b/src/lib/dhcpsrv/tests/test_utils.cc
@@ -860,6 +860,50 @@ GenericLeaseMgrTest::testBasicLease6() {
detailCompareLease(leases[2], l_returned);
}
+void
+GenericLeaseMgrTest::testLease4InvalidHostname() {
+ // Get the leases to be used for the test.
+ vector<Lease4Ptr> leases = createLeases4();
+
+ // Create a dummy hostname, consisting of 255 characters.
+ leases[1]->hostname_.assign(255, 'a');
+ ASSERT_TRUE(lmptr_->addLease(leases[1]));
+
+ // The new lease must be in the database.
+ Lease4Ptr l_returned = lmptr_->getLease4(ioaddress4_[1]);
+ detailCompareLease(leases[1], l_returned);
+
+ // Let's delete the lease, so as we can try to add it again with
+ // invalid hostname.
+ EXPECT_TRUE(lmptr_->deleteLease(ioaddress4_[1]));
+
+ // Create a hostname with 256 characters. It should not be accepted.
+ leases[1]->hostname_.assign(256, 'a');
+ EXPECT_THROW(lmptr_->addLease(leases[1]), DbOperationError);
+}
+
+/// @brief Verify that too long hostname for Lease6 is not accepted.
+void
+GenericLeaseMgrTest::testLease6InvalidHostname() {
+ // Get the leases to be used for the test.
+ vector<Lease6Ptr> leases = createLeases6();
+
+ // Create a dummy hostname, consisting of 255 characters.
+ leases[1]->hostname_.assign(255, 'a');
+ ASSERT_TRUE(lmptr_->addLease(leases[1]));
+
+ // The new lease must be in the database.
+ Lease6Ptr l_returned = lmptr_->getLease6(leasetype6_[1], ioaddress6_[1]);
+ detailCompareLease(leases[1], l_returned);
+
+ // Let's delete the lease, so as we can try to add it again with
+ // invalid hostname.
+ EXPECT_TRUE(lmptr_->deleteLease(ioaddress6_[1]));
+
+ // Create a hostname with 256 characters. It should not be accepted.
+ leases[1]->hostname_.assign(256, 'a');
+ EXPECT_THROW(lmptr_->addLease(leases[1]), DbOperationError);
+}
};
};
diff --git a/src/lib/dhcpsrv/tests/test_utils.h b/src/lib/dhcpsrv/tests/test_utils.h
index 935bbc8..b003f75 100644
--- a/src/lib/dhcpsrv/tests/test_utils.h
+++ b/src/lib/dhcpsrv/tests/test_utils.h
@@ -158,6 +158,18 @@ public:
/// @param check_t1_t2 controls whether T1,T2 timers should be checked
void testAddGetDelete6(bool check_t1_t2);
+ /// @brief Verify that too long hostname for Lease4 is not accepted.
+ ///
+ /// Checks that the it is not possible to create a lease when the hostname
+ /// length exceeds 255 characters.
+ void testLease4InvalidHostname();
+
+ /// @brief Verify that too long hostname for Lease6 is not accepted.
+ ///
+ /// Checks that the it is not possible to create a lease when the hostname
+ /// length exceeds 255 characters.
+ void testLease6InvalidHostname();
+
// Member variables
std::vector<std::string> straddress4_; ///< String forms of IPv4 addresses
std::vector<isc::asiolink::IOAddress> ioaddress4_; ///< IOAddress forms of IPv4 addresses
More information about the bind10-changes
mailing list