EXTRA_DIST += images/isc-logo.png
- nobase_dist_doc_DATA = examples/kea4/single-subnet.json
- nobase_dist_doc_DATA += examples/kea4/several-subnets.json
+ nobase_dist_doc_DATA = examples/ddns/sample1.json
+ nobase_dist_doc_DATA += examples/ddns/template.json
+ nobase_dist_doc_DATA += examples/kea4/hooks.json
++nobase_dist_doc_DATA += examples/kea4/leases-expiration.json
nobase_dist_doc_DATA += examples/kea4/multiple-options.json
nobase_dist_doc_DATA += examples/kea4/reservations.json
- nobase_dist_doc_DATA += examples/kea4/leases-expiration.json
- nobase_dist_doc_DATA += examples/kea6/simple.json
- nobase_dist_doc_DATA += examples/kea6/several-subnets.json
- nobase_dist_doc_DATA += examples/kea6/multiple-options.json
+ nobase_dist_doc_DATA += examples/kea4/several-subnets.json
+ nobase_dist_doc_DATA += examples/kea4/single-subnet.json
nobase_dist_doc_DATA += examples/kea6/advanced.json
- nobase_dist_doc_DATA += examples/kea6/stateless.json
- nobase_dist_doc_DATA += examples/kea6/reservations.json
+ nobase_dist_doc_DATA += examples/kea6/hooks.json
+nobase_dist_doc_DATA += examples/kea6/leases-expiration.json
- nobase_dist_doc_DATA += examples/ddns/sample1.json
- nobase_dist_doc_DATA += examples/ddns/template.json
+ nobase_dist_doc_DATA += examples/kea6/multiple-options.json
+ nobase_dist_doc_DATA += examples/kea6/reservations.json
+ nobase_dist_doc_DATA += examples/kea6/several-subnets.json
+ nobase_dist_doc_DATA += examples/kea6/simple.json
+ nobase_dist_doc_DATA += examples/kea6/stateless.json
devel:
mkdir -p html
}
- }; // Anonymous namespace
-
+// This test verifies an empty option data configuration is supported.
+TEST_F(ParseConfigTest, emptyOptionData) {
+ // Configuration string.
+ const std::string config =
+ "{ \"option-data\": [ {"
+ " \"name\": \"dhcp4o6-server-addr\""
+ " } ]"
+ "}";
+
+ int rcode = 0;
+ ASSERT_NO_THROW(rcode = parseConfiguration(config));
+ EXPECT_EQ(0, rcode);
+ const Option6AddrLstPtr opt = boost::dynamic_pointer_cast<
+ Option6AddrLst>(getOptionPtr("dhcp6", D6O_DHCPV4_O_DHCPV6_SERVER));
+ ASSERT_TRUE(opt);
+ ASSERT_EQ(0, opt->getAddresses().size());
+}
+
/// The next set of tests check basic operation of the HooksLibrariesParser.
-
-
- // Utility function for setting up the "hooks-libraries" configuration.
//
- // Returns a hooks-libraries configuration element that contains zero to
- // three libraries, depending on what arguments are supplied.
+ // Convenience function to set a configuration of zero or more hooks
+ // libraries:
+ //
+ // lib1 - No parameters
+ // lib2 - Empty parameters statement
+ // lib3 - Valid parameters
std::string
setHooksLibrariesConfig(const char* lib1 = NULL, const char* lib2 = NULL,
const char* lib3 = NULL) {
// There's no test for ControlSocketParser, as it is tested in the DHCPv4 code
// (see CtrlDhcpv4SrvTest.commandSocketBasic in
// src/bin/dhcp4/tests/ctrl_dhcp4_srv_unittest.cc).
++
++}; // Anonymous namespace