summaryrefslogtreecommitdiffstats
path: root/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/dhcp4/tests/dhcp4_srv_unittest.cc')
-rw-r--r--src/bin/dhcp4/tests/dhcp4_srv_unittest.cc107
1 files changed, 0 insertions, 107 deletions
diff --git a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
index 9c5f81cad9..0dccec9914 100644
--- a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
+++ b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
@@ -6848,113 +6848,6 @@ TEST_F(StashAgentOptionTest, badHwareAddress) {
EXPECT_FALSE(query_->inClass("STASH_AGENT_OPTIONS"));
}
-// Checks that sub-class options have precedence of template class options
-TEST_F(Dhcpv4SrvTest, subClassPrecedence) {
- IfaceMgrTestConfig test_config(true);
- IfaceMgr::instance().openSockets4();
-
- NakedDhcpv4Srv srv(0);
-
- string config = R"^(
- {
- "interfaces-config": { "interfaces": [ "*" ] },
- "rebind-timer": 2000,
- "renew-timer": 1000,
- "valid-lifetime": 4000,
- "subnet4": [
- {
- "id": 1,
- "subnet": "192.0.2.0/24",
- "pools": [{ "pool": "192.0.2.1 - 192.0.2.100" }]
- }],
- "option-def": [{
- "name": "opt1",
- "code": 249,
- "type": "string"
- },
- {
- "name": "opt2",
- "code": 250,
- "type": "string"
-
- }],
- "client-classes": [
- {
- "name": "template-client-id",
- "template-test": "substring(option[61].hex,0,3)",
- "option-data": [
- {
- "name": "opt1",
- "data": "template one"
- },
- {
- "name": "opt2",
- "data": "template two"
- }]
- },
- {
- "name": "SPAWN_template-client-id_111",
- "option-data": [
- {
- "name": "opt2",
- "data": "spawn two"
- }]
- }]
- }
- )^";
-
- ConstElementPtr json;
- ASSERT_NO_THROW(json = parseDHCP4(config));
- ConstElementPtr status;
-
- // Configure the server and make sure the config is accepted
- EXPECT_NO_THROW(status = Dhcpv4SrvTest::configure(srv, json));
- ASSERT_TRUE(status);
- comment_ = config::parseAnswer(rcode_, status);
- ASSERT_EQ(0, rcode_);
-
- CfgMgr::instance().commit();
-
- // Create packets with enough to select the subnet
- auto id = ClientId::fromText("31:31:31");
- OptionPtr clientid = (OptionPtr(new Option(Option::V4,
- DHO_DHCP_CLIENT_IDENTIFIER,
- id->getClientId())));
-
- Pkt4Ptr query1(new Pkt4(DHCPDISCOVER, 1234));
- query1->setRemoteAddr(IOAddress("192.0.2.1"));
- query1->addOption(clientid);
- query1->setIface("eth1");
- query1->setIndex(ETH1_INDEX);
-
- // Create and add a PRL option to the first 2 queries
- OptionUint8ArrayPtr prl(new OptionUint8Array(Option::V4,
- DHO_DHCP_PARAMETER_REQUEST_LIST));
- prl->addValue(249);
- prl->addValue(250);
- query1->addOption(prl);
-
- // Classify packets
- srv.classifyPacket(query1);
-
- // Verify class membership is as expected.
- EXPECT_TRUE(query1->inClass("template-client-id"));
- EXPECT_TRUE(query1->inClass("SPAWN_template-client-id_111"));
-
- // Process query
- Pkt4Ptr response1 = srv.processDiscover(query1);
-
- // Verify that opt1 is inherited from the template.
- OptionPtr opt = response1->getOption(249);
- ASSERT_TRUE(opt);
- EXPECT_EQ(opt->toString(), "template one");
-
- // Verify that for opt2 subclass overrides the template.
- opt = response1->getOption(250);
- ASSERT_TRUE(opt);
- EXPECT_EQ(opt->toString(), "spawn two");
-}
-
/// @todo: lease ownership
/// @todo: Implement proper tests for MySQL lease/host database,