]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3590] Checkpoint: updated unit tests
authorFrancis Dupont <fdupont@isc.org>
Wed, 2 Oct 2024 08:07:23 +0000 (10:07 +0200)
committerFrancis Dupont <fdupont@isc.org>
Mon, 7 Oct 2024 13:06:40 +0000 (15:06 +0200)
src/bin/dhcp4/tests/classify_unittest.cc
src/bin/dhcp6/tests/Makefile.am
src/bin/dhcp6/tests/classify_unittest.cc [moved from src/bin/dhcp6/tests/classify_unittests.cc with 98% similarity]

index f9a6c7467da24141f94e24137b6268ce2557d742..b8bf0324976b737922f5b8ea078a1026ad1978d1 100644 (file)
@@ -943,7 +943,7 @@ TEST_F(ClassifyTest, server2computer) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceNone) {
     std::string config =
         "{"
@@ -953,12 +953,8 @@ TEST_F(ClassifyTest, precedenceNone) {
         "\"valid-lifetime\": 600,"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -967,7 +963,7 @@ TEST_F(ClassifyTest, precedenceNone) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -976,7 +972,7 @@ TEST_F(ClassifyTest, precedenceNone) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1015,7 +1011,7 @@ TEST_F(ClassifyTest, precedenceNone) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedencePool) {
     std::string config =
         "{"
@@ -1025,12 +1021,8 @@ TEST_F(ClassifyTest, precedencePool) {
         "\"valid-lifetime\": 600,"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1039,7 +1031,7 @@ TEST_F(ClassifyTest, precedencePool) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1048,7 +1040,7 @@ TEST_F(ClassifyTest, precedencePool) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1058,9 +1050,11 @@ TEST_F(ClassifyTest, precedencePool) {
         "],"
         "\"shared-networks\": [ {"
         "    \"name\": \"frog\","
+        "    \"require-client-classes\": [ \"for-network\" ],"
         "    \"subnet4\": [ { "
         "        \"subnet\": \"10.0.0.0/24\","
         "        \"id\": 1,"
+        "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
         "            \"pool\": \"10.0.0.10-10.0.0.100\","
         "            \"require-client-classes\": [ \"for-pool\" ]"
@@ -1094,7 +1088,7 @@ TEST_F(ClassifyTest, precedencePool) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceSubnet) {
     std::string config =
         "{"
@@ -1104,12 +1098,8 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "\"valid-lifetime\": 600,"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1118,7 +1108,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1127,7 +1117,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1137,13 +1127,13 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "],"
         "\"shared-networks\": [ {"
         "    \"name\": \"frog\","
+        "    \"require-client-classes\": [ \"for-network\" ],"
         "    \"subnet4\": [ { "
         "        \"subnet\": \"10.0.0.0/24\","
         "        \"id\": 1,"
         "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
-        "            \"pool\": \"10.0.0.10-10.0.0.100\","
-        "            \"require-client-classes\": [ \"for-pool\" ]"
+        "            \"pool\": \"10.0.0.10-10.0.0.100\""
         "         } ]"
         "    } ]"
         "} ]"
@@ -1174,7 +1164,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceNetwork) {
     std::string config =
         "{"
@@ -1184,12 +1174,8 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "\"valid-lifetime\": 600,"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1198,7 +1184,7 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1207,7 +1193,7 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"domain-name-servers\","
@@ -1221,10 +1207,8 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    \"subnet4\": [ { "
         "        \"subnet\": \"10.0.0.0/24\","
         "        \"id\": 1,"
-        "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
-        "            \"pool\": \"10.0.0.10-10.0.0.100\","
-        "            \"require-client-classes\": [ \"for-pool\" ]"
+        "            \"pool\": \"10.0.0.10-10.0.0.100\""
         "         } ]"
         "    } ]"
         "} ]"
index b8bcaf5a5e351c29c96f1dcb7386c2b16530d3a8..4bafa819d72a88703d169fb8e6b0b1aa5d86ade6 100644 (file)
@@ -87,7 +87,7 @@ PROGRAM_TESTS = dhcp6_unittests
 # This list is ordered alphabetically. When adding new files, please maintain
 # this order.
 dhcp6_unittests_SOURCES  =
-dhcp6_unittests_SOURCES += classify_unittests.cc
+dhcp6_unittests_SOURCES += classify_unittest.cc
 dhcp6_unittests_SOURCES += client_handler_unittest.cc
 dhcp6_unittests_SOURCES += config_parser_unittest.cc
 dhcp6_unittests_SOURCES += config_backend_unittest.cc
similarity index 98%
rename from src/bin/dhcp6/tests/classify_unittests.cc
rename to src/bin/dhcp6/tests/classify_unittest.cc
index e7b14902aa3f34a336deb0af3b6a55a885cb5c42..a9b3f2f05314e0d135409f413d769c438da6f316 100644 (file)
@@ -1877,7 +1877,7 @@ TEST_F(ClassifyTest, member) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceNone) {
     std::string config =
         "{"
@@ -1889,12 +1889,8 @@ TEST_F(ClassifyTest, precedenceNone) {
         "\"renew-timer\": 1000,"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1903,7 +1899,7 @@ TEST_F(ClassifyTest, precedenceNone) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1912,7 +1908,7 @@ TEST_F(ClassifyTest, precedenceNone) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1955,7 +1951,7 @@ TEST_F(ClassifyTest, precedenceNone) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedencePool) {
     std::string config =
         "{"
@@ -1964,12 +1960,8 @@ TEST_F(ClassifyTest, precedencePool) {
         "},"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1978,7 +1970,7 @@ TEST_F(ClassifyTest, precedencePool) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1987,7 +1979,7 @@ TEST_F(ClassifyTest, precedencePool) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -1998,9 +1990,11 @@ TEST_F(ClassifyTest, precedencePool) {
         "\"shared-networks\": [ {"
         "    \"name\": \"frog\","
         "    \"interface\": \"eth1\","
+        "    \"require-client-classes\": [ \"for-network\" ],"
         "    \"subnet6\": [ { "
         "        \"subnet\": \"2001:db8:1::/64\","
         "        \"id\": 1,"
+        "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
         "            \"pool\": \"2001:db8:1::1 - 2001:db8:1::64\","
         "            \"require-client-classes\": [ \"for-pool\" ]"
@@ -2037,7 +2031,7 @@ TEST_F(ClassifyTest, precedencePool) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceSubnet) {
     std::string config =
         "{"
@@ -2046,12 +2040,8 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "},"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2060,7 +2050,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2069,7 +2059,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2080,13 +2070,13 @@ TEST_F(ClassifyTest, precedenceSubnet) {
         "\"shared-networks\": [ {"
         "    \"name\": \"frog\","
         "    \"interface\": \"eth1\","
+        "    \"require-client-classes\": [ \"for-network\" ],"
         "    \"subnet6\": [ { "
         "        \"subnet\": \"2001:db8:1::/64\","
         "        \"id\": 1,"
         "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
-        "            \"pool\": \"2001:db8:1::1 - 2001:db8:1::64\","
-        "            \"require-client-classes\": [ \"for-pool\" ]"
+        "            \"pool\": \"2001:db8:1::1 - 2001:db8:1::64\""
         "        } ]"
         "    } ]"
         "} ],"
@@ -2120,7 +2110,7 @@ TEST_F(ClassifyTest, precedenceSubnet) {
 }
 
 // This test checks the precedence order in required evaluation.
-// This order is: shared-network > subnet > pools
+// This order is: pools > subnet > shared-network
 TEST_F(ClassifyTest, precedenceNetwork) {
     std::string config =
         "{"
@@ -2129,12 +2119,8 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "},"
         "\"client-classes\": ["
         "    {"
-        "       \"name\": \"all\","
-        "       \"test\": \"'' == ''\""
-        "    },"
-        "    {"
         "       \"name\": \"for-pool\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2143,7 +2129,7 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    },"
         "    {"
         "       \"name\": \"for-subnet\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2152,7 +2138,7 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    },"
         "    {"
         "       \"name\": \"for-network\","
-        "       \"test\": \"member('all')\","
+        "       \"test\": \"member('ALL')\","
         "       \"only-if-required\": true,"
         "       \"option-data\": [ {"
         "           \"name\": \"dns-servers\","
@@ -2167,10 +2153,8 @@ TEST_F(ClassifyTest, precedenceNetwork) {
         "    \"subnet6\": [ { "
         "        \"subnet\": \"2001:db8:1::/64\","
         "        \"id\": 1,"
-        "        \"require-client-classes\": [ \"for-subnet\" ],"
         "        \"pools\": [ { "
-        "            \"pool\": \"2001:db8:1::1 - 2001:db8:1::64\","
-        "            \"require-client-classes\": [ \"for-pool\" ]"
+        "            \"pool\": \"2001:db8:1::1 - 2001:db8:1::64\""
         "        } ]"
         "    } ]"
         "} ],"