summaryrefslogtreecommitdiffstats
path: root/src/lib/yang/tests/json_configs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/yang/tests/json_configs.h')
-rw-r--r--src/lib/yang/tests/json_configs.h174
1 files changed, 174 insertions, 0 deletions
diff --git a/src/lib/yang/tests/json_configs.h b/src/lib/yang/tests/json_configs.h
new file mode 100644
index 0000000..1f7e4a4
--- /dev/null
+++ b/src/lib/yang/tests/json_configs.h
@@ -0,0 +1,174 @@
+// Copyright (C) 2018-2021 Internet Systems Consortium, Inc. ("ISC")
+//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ifndef ISC_JSON_CONFIGS_H
+#define ISC_JSON_CONFIGS_H
+
+#include <string>
+
+namespace isc {
+namespace yang {
+namespace test {
+
+/// @brief Empty DHCPv4 config.
+const std::string emptyJson4 =
+ "{\n"
+ " \"Dhcp4\": {\n"
+ " }\n"
+ "}";
+
+/// @brief A DHCPv4 config with one subnet with two pools.
+const std::string subnetTwoPoolsJson4 =
+ "{\n"
+ " \"Dhcp4\": {\n"
+ " \"subnet4\": [\n"
+ " {\n"
+ " \"id\": 111,\n"
+ " \"pools\": [\n"
+ " {\n"
+ " \"pool\": \"10.0.1.0/24\"\n"
+ " },\n"
+ " {\n"
+ " \"pool\": \"10.0.2.0/24\"\n"
+ " }\n"
+ " ],\n"
+ " \"subnet\": \"10.0.0.0/8\"\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+/// @brief A DHCPv6 config with one subnet with two pools and timers.
+const std::string subnetTimersJson6 =
+ "{\n"
+ " \"Dhcp6\": {\n"
+ " \"subnet6\": [\n"
+ " {\n"
+ " \"id\": 111,\n"
+ " \"renew-timer\": 1000,\n"
+ " \"rebind-timer\": 2000,\n"
+ " \"pools\": [\n"
+ " {\n"
+ " \"pool\": \"2001:db8::1:0/112\"\n"
+ " },\n"
+ " {\n"
+ " \"pool\": \"2001:db8::2:0/112\"\n"
+ " }\n"
+ " ],\n"
+ " \"subnet\": \"2001:db8::/48\"\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+/// @brief A DHCPv4 subnet with one pool and option data lists.
+const std::string subnetOptionsJson4 =
+ "{\n"
+ " \"Dhcp4\": {\n"
+ " \"subnet4\": [\n"
+ " {\n"
+ " \"id\": 111,\n"
+ " \"option-data\": [\n"
+ " {\n"
+ " \"code\": 100,\n"
+ " \"space\": \"dns\",\n"
+ " \"csv-format\": false,\n"
+ " \"data\": \"12121212\",\n"
+ " \"always-send\": false\n"
+ " }\n"
+ " ],\n"
+ " \"pools\": [\n"
+ " {\n"
+ " \"pool\": \"10.0.1.0/24\"\n"
+ " }\n"
+ " ],\n"
+ " \"subnet\": \"10.0.0.0/8\"\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+/// @brief Empty DHCPv6 config.
+const std::string emptyJson6 =
+ "{\n"
+ " \"Dhcp6\": {\n"
+ " }\n"
+ "}";
+
+/// @brief A DHCPv6 config with one subnet with one pool and option data lists.
+const std::string subnetOptionsJson6 =
+ "{\n"
+ " \"Dhcp6\": {\n"
+ " \"subnet6\": [\n"
+ " {\n"
+ " \"id\": 111,\n"
+ " \"pools\": [\n"
+ " {\n"
+ " \"option-data\": [\n"
+ " {\n"
+ " \"code\": 100,\n"
+ " \"space\": \"dns\",\n"
+ " \"csv-format\": false,\n"
+ " \"data\": \"12121212\",\n"
+ " \"always-send\": false\n"
+ " }\n"
+ " ],\n"
+ " \"pool\": \"2001:db8::1:0/112\"\n"
+ " }\n"
+ " ],\n"
+ " \"subnet\": \"2001:db8::/48\"\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+/// @brief A DHCPv6 config with one subnet with two pools.
+const std::string subnetTwoPoolsJson6 =
+ "{\n"
+ " \"Dhcp6\": {\n"
+ " \"subnet6\": [\n"
+ " {\n"
+ " \"id\": 111,\n"
+ " \"pools\": [\n"
+ " {\n"
+ " \"pool\": \"2001:db8::1:0/112\"\n"
+ " },\n"
+ " {\n"
+ " \"pool\": \"2001:db8::2:0/112\"\n"
+ " }\n"
+ " ],\n"
+ " \"subnet\": \"2001:db8::/48\"\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+/// @brief Example from the design document.
+const std::string designExampleJson =
+ "{\n"
+ " \"Dhcp6\": {\n"
+ " \"subnet6\": [\n"
+ " {\n"
+ " \"id\": 1,\n"
+ " \"subnet\": \"2001:db8:20:b00::/56\",\n"
+ " \"user-context\": { \"description\": \"example\" },\n"
+ " \"pd-pools\": [\n"
+ " {\n"
+ " \"prefix\": \"2001:db8:20:b00::\",\n"
+ " \"prefix-len\": 57\n"
+// " \"delegated-len\": 57\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ " ]\n"
+ " }\n"
+ "}";
+
+} // namespace test
+} // namespace yang
+} // namespace isc
+
+#endif // ISC_JSON_CONFIGS_H