version_test "shell.version"
shell_command_test "shell.list-commands" "list-commands" \
- "[ { \"arguments\": [ \"build-report\", \"config-test\", \"list-commands\", \"shutdown\", \"version-get\" ], \"result\": 0 } ]" ""
+ "[ { \"arguments\": [ \"build-report\", \"config-get\", \"config-test\", \"config-write\", \"list-commands\", \"shutdown\", \"version-get\" ], \"result\": 0 } ]" ""
shell_command_test "shell.bogus" "give-me-a-beer" \
"[ { \"result\": 1, \"text\": \"'give-me-a-beer' command not supported.\" } ]" ""
shell_command_test "shell.empty-config-test" "config-test" \
ConstElementPtr
DControllerBase::configTestHandler(const std::string&, ConstElementPtr args) {
- const int status_code = CONTROL_RESULT_SUCCESS; // 1 indicates an error
- ConstElementPtr dhcp4;
+ const int status_code = COMMAND_ERROR; // 1 indicates an error
+ ConstElementPtr module_config;
+ std::string module = getAppName();
std::string message;
// Command arguments are expected to be:
- // { "Dhcp4": { ... }, "Logging": { ... } }
- // The Lnogging component is technically optional. If it's not supplied
+ // { "Module": { ... }, "Logging": { ... } }
+ // The Logging component is technically optional. If it's not supplied
// logging will revert to default logging.
if (!args) {
message = "Missing mandatory 'arguments' parameter.";
} else {
- dhcp4 = args->get("Dhcp4");
- if (!dhcp4) {
- message = "Missing mandatory 'Dhcp4' parameter.";
- } else if (dhcp4->getType() != Element::map) {
- message = "'Dhcp4' parameter expected to be a map.";
+ module_config = args->get(module);
+ if (!module_config) {
+ message = "Missing mandatory '" + module + "' parameter.";
+ } else if (module_config->getType() != Element::map) {
+ message = "'" + module + "' parameter expected to be a map.";
}
}
isc::dhcp::CfgMgr::instance().rollback();
// Now we check the server proper.
- return (checkConfig(dhcp4));
+ return (checkConfig(module_config));
}
ConstElementPtr