StdoutControlSocketPtr scs(new StdoutControlSocket(cfg));
ASSERT_TRUE(scs);
ConstElementPtr answer;
- ASSERT_NO_THROW(answer = scs->configTest(ConstElementPtr(), "foo"));
+ ASSERT_NO_THROW_LOG(answer = scs->configTest(ConstElementPtr(), "foo"));
// Check answer.
ASSERT_TRUE(answer);
ASSERT_TRUE(tscs);
ConstElementPtr json = Element::fromJSON("{ \"bar\": 1 }");
ConstElementPtr answer;
- ASSERT_NO_THROW(answer = tscs->configSet(json, "foo"));
+ ASSERT_NO_THROW_LOG(answer = tscs->configSet(json, "foo"));
// Check answer.
ASSERT_TRUE(answer);
// If the thread is ready to go, start the listener.
if (listener_) {
- ASSERT_NO_THROW(listener_->start());
+ ASSERT_NO_THROW_LOG(listener_->start());
}
}
// Thread has terminated. We can stop the HTTP
// listener safely.
if (listener_) {
- ASSERT_NO_THROW(listener_->stop());
+ ASSERT_NO_THROW_LOG(listener_->stop());
}
}
// get the simple configuration
std::string simple_file = string(CFG_EXAMPLES) + "/" + "simple-dhcp4.json";
std::string config;
- ASSERT_NO_THROW(config = readFile(simple_file));
+ ASSERT_NO_THROW_LOG(config = readFile(simple_file));
// get the expected configuration
std::string expected_file =
std::string(NETCONF_TEST_DATA_DIR) + "/" + "get_config.json";
std::string expected;
- ASSERT_NO_THROW(expected = readFile(expected_file));
+ ASSERT_NO_THROW_LOG(expected = readFile(expected_file));
// execute the sample configuration
ASSERT_TRUE(executeConfiguration(config, "simple config"));
// unparse it
NetconfConfigPtr context = srv_->getNetconfConfig();
ConstElementPtr unparsed;
- ASSERT_NO_THROW(unparsed = context->toElement());
+ ASSERT_NO_THROW_LOG(unparsed = context->toElement());
// dump if wanted else check
if (generate_action) {
std::cerr << "// Generated Configuration (remove this line)\n";
- ASSERT_NO_THROW(expected = prettyPrint(unparsed));
+ ASSERT_NO_THROW_LOG(expected = prettyPrint(unparsed));
prettyPrint(unparsed, std::cerr, 0, 4);
std::cerr << "\n";
} else {
// get the expected config using the netconf syntax parser
ElementPtr jsond;
- ASSERT_NO_THROW(jsond = parseNETCONF(expected, true));
+ ASSERT_NO_THROW_LOG(jsond = parseNETCONF(expected, true));
// get the expected config using the generic JSON syntax parser
ElementPtr jsonj;
- ASSERT_NO_THROW(jsonj = parseJSON(expected));
+ ASSERT_NO_THROW_LOG(jsonj = parseJSON(expected));
// the generic JSON parser does not handle comments
EXPECT_TRUE(isEquivalent(jsond, moveComments(jsonj)));
// replace the path by its actual value
ConstElementPtr ca;
- ASSERT_NO_THROW(ca = jsonj->get("Netconf"));
+ ASSERT_NO_THROW_LOG(ca = jsonj->get("Netconf"));
ASSERT_TRUE(ca);
pathReplacer(ca);
// check that unparsed and updated expected values match
// is it a fixed point?
NetconfConfigPtr context2 = srv_->getNetconfConfig();
ConstElementPtr unparsed2;
- ASSERT_NO_THROW(unparsed2 = context2->toElement());
+ ASSERT_NO_THROW_LOG(unparsed2 = context2->toElement());
ASSERT_TRUE(unparsed2);
EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
}
boost::scoped_ptr<NetconfCfgMgr> cfg_mgr;
// Verify that configuration manager constructions without error.
- ASSERT_NO_THROW(cfg_mgr.reset(new NetconfCfgMgr()));
+ ASSERT_NO_THROW_LOG(cfg_mgr.reset(new NetconfCfgMgr()));
// Verify that the context can be retrieved and is not null.
NetconfConfigPtr context;
- ASSERT_NO_THROW(context = cfg_mgr->getNetconfConfig());
+ ASSERT_NO_THROW_LOG(context = cfg_mgr->getNetconfConfig());
EXPECT_TRUE(context);
// Verify that the manager can be destructed without error.
NetconfCfgMgr cfg_mgr;
NetconfConfigPtr ctx;
- ASSERT_NO_THROW(ctx = cfg_mgr.getNetconfConfig());
+ ASSERT_NO_THROW_LOG(ctx = cfg_mgr.getNetconfConfig());
ASSERT_TRUE(ctx);
}
// Now check the values returned
EXPECT_EQ(1, ctx.getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx.getCfgServersMap()->at("d2"));
+ ASSERT_NO_THROW_LOG(ctx.getCfgServersMap()->at("d2"));
EXPECT_EQ(server1, ctx.getCfgServersMap()->at("d2"));
EXPECT_THROW(ctx.getCfgServersMap()->at("dhcp4"), std::out_of_range);
// Should be possible to retrieve two servers
EXPECT_EQ(2, ctx.getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx.getCfgServersMap()->at("dhcp6"));
+ ASSERT_NO_THROW_LOG(ctx.getCfgServersMap()->at("dhcp6"));
EXPECT_EQ(server1, ctx.getCfgServersMap()->at("d2"));
EXPECT_EQ(server2, ctx.getCfgServersMap()->at("dhcp6"));
EXPECT_NO_THROW(ctx.getCfgServersMap()->insert(make_pair("dhcp4", server3)));
EXPECT_NO_THROW(ctx.getCfgServersMap()->insert(make_pair("ca", server4)));
EXPECT_EQ(4, ctx.getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx.getCfgServersMap()->at("dhcp4"));
- ASSERT_NO_THROW(ctx.getCfgServersMap()->at("ca"));
+ ASSERT_NO_THROW_LOG(ctx.getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(ctx.getCfgServersMap()->at("ca"));
EXPECT_EQ(server3, ctx.getCfgServersMap()->at("dhcp4"));
EXPECT_EQ(server4, ctx.getCfgServersMap()->at("ca"));
}
" \"alist\": [ 1, 2, 3 ],\n"
" \"abool\": true\n"
"}\n";
- ASSERT_NO_THROW(global_cfg = Element::fromJSON(global_cfg_str));
+ ASSERT_NO_THROW_LOG(global_cfg = Element::fromJSON(global_cfg_str));
// Extract globals from the config.
- ASSERT_NO_THROW(ctx.extractConfiguredGlobals(global_cfg));
+ ASSERT_NO_THROW_LOG(ctx.extractConfiguredGlobals(global_cfg));
// Now see if the extract was correct.
globals = ctx.getConfiguredGlobals();
ASSERT_TRUE(ctx);
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(1, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp4"));
CfgServerPtr server = ctx->getCfgServersMap()->at("dhcp4");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP4_SERVER, server->getModel());
ASSERT_TRUE(ctx);
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(1, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp4"));
CfgServerPtr server = ctx->getCfgServersMap()->at("dhcp4");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP4_SERVER, server->getModel());
ASSERT_TRUE(ctx);
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(1, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp4"));
CfgServerPtr server = ctx->getCfgServersMap()->at("dhcp4");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP4_SERVER, server->getModel());
ASSERT_TRUE(ctx);
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(1, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("d2"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("d2"));
CfgServerPtr server = ctx->getCfgServersMap()->at("d2");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP_DDNS, server->getModel());
ASSERT_TRUE(ctx);
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(1, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp6"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp6"));
CfgServerPtr server = ctx->getCfgServersMap()->at("dhcp6");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP6_SERVER, server->getModel());
ASSERT_TRUE(ctx->getCfgServersMap());
EXPECT_EQ(4, ctx->getCfgServersMap()->size());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp4"));
CfgServerPtr server = ctx->getCfgServersMap()->at("dhcp4");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP4_SERVER, server->getModel());
EXPECT_EQ("/tmp/socket-v4", socket->getName());
EXPECT_EQ("http://127.0.0.1:8000/", socket->getUrl().toText());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("dhcp6"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("dhcp6"));
server = ctx->getCfgServersMap()->at("dhcp6");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP6_SERVER, server->getModel());
EXPECT_EQ("/tmp/socket-v6", socket->getName());
EXPECT_EQ("http://127.0.0.1:8000/", socket->getUrl().toText());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("d2"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("d2"));
server = ctx->getCfgServersMap()->at("d2");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_DHCP_DDNS, server->getModel());
EXPECT_EQ("/tmp/socket-d2", socket->getName());
EXPECT_EQ("http://127.0.0.1:8000/", socket->getUrl().toText());
- ASSERT_NO_THROW(ctx->getCfgServersMap()->at("ca"));
+ ASSERT_NO_THROW_LOG(ctx->getCfgServersMap()->at("ca"));
server = ctx->getCfgServersMap()->at("ca");
ASSERT_TRUE(server);
EXPECT_EQ(KEA_CTRL_AGENT, server->getModel());
// There is a DHCP4 server.
ASSERT_TRUE(netconf_ctx->getCfgServersMap());
- ASSERT_NO_THROW(netconf_ctx->getCfgServersMap()->at("dhcp4"));
+ ASSERT_NO_THROW_LOG(netconf_ctx->getCfgServersMap()->at("dhcp4"));
CfgServerPtr server = netconf_ctx->getCfgServersMap()->at("dhcp4");
ASSERT_TRUE(server);
EXPECT_EQ("\"dhcp4 server\"", ctx4->get("comment")->str());
// There is a DHCP6 server.
- ASSERT_NO_THROW(netconf_ctx->getCfgServersMap()->at("dhcp6"));
+ ASSERT_NO_THROW_LOG(netconf_ctx->getCfgServersMap()->at("dhcp6"));
server = netconf_ctx->getCfgServersMap()->at("dhcp6");
ASSERT_TRUE(server);
// it has the correct type.
DControllerBasePtr& controller = DControllerTest::getController();
ASSERT_TRUE(controller);
- ASSERT_NO_THROW(boost::dynamic_pointer_cast<NetconfController>(controller));
+ ASSERT_NO_THROW_LOG(boost::dynamic_pointer_cast<NetconfController>(controller));
// Verify that controller's app name is correct.
EXPECT_TRUE(checkAppName(NetconfController::netconf_app_name_));
// Tests application process creation and initialization.
// Verifies that the process can be successfully created and initialized.
TEST_F(NetconfControllerTest, initProcessTesting) {
- ASSERT_NO_THROW(initProcess());
+ ASSERT_NO_THROW_LOG(initProcess());
EXPECT_TRUE(checkProcess());
}
-// Copyright (C) 2018-2020 Internet Systems Consortium, Inc. ("ISC")
+// 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
// Verify that the constructor succeeds with a valid io_service
lcl_io_service.reset(new IOService());
- ASSERT_NO_THROW(NetconfProcess("TestProcess", lcl_io_service));
+ ASSERT_NO_THROW_LOG(NetconfProcess("TestProcess", lcl_io_service));
// Verify tha the configuration is accessible after construction.
NetconfProcess netconf_process("TestProcess", lcl_io_service);
// Run checkModules but it will be indirectly checked as
// emitting nothing.
- ASSERT_NO_THROW(agent_->checkModules());
+ ASSERT_NO_THROW_LOG(agent_->checkModules());
// Remove kea-dhcp6-server.
const string& module = "kea-dhcp6-server";
if (it6 != agent_->modules_.end()) {
agent_->modules_.erase(it6);
}
- ASSERT_NO_THROW(agent_->checkModules());
+ ASSERT_NO_THROW_LOG(agent_->checkModules());
ostringstream mmsg;
mmsg << "NETCONF_MODULE_MISSING_WARN Missing module " << module
<< " in sysrepo";
// Add it back with a bad revision.
const string& bad_revision = "2018-07-14";
agent_->modules_.insert(make_pair(module, bad_revision));
- ASSERT_NO_THROW(agent_->checkModules());
+ ASSERT_NO_THROW_LOG(agent_->checkModules());
ostringstream rmsg;
rmsg << "NETCONF_MODULE_REVISION_WARN Module " << module
<< " does NOT have the right revision: expected "
"10.0.2.0/24", SR_STRING_T, true }
});
// Load initial YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree0, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree0, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Subscribe configuration changes.
"10.0.2.0/24", SR_STRING_T, true }
});
// Load initial YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree0, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree0, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Subscribe configuration changes.
ASSERT_EQ(1, requests_.size());
const string& request_str = requests_[0];
ConstElementPtr request;
- ASSERT_NO_THROW(request = Element::fromJSON(request_str));
+ ASSERT_NO_THROW_LOG(request = Element::fromJSON(request_str));
string expected_str = "{\n"
"\"command\": \"config-get\"\n"
"}";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*request));
// Alternative showing more for debugging...
// EXPECT_EQ(prettyPrint(expected), prettyPrint(request));
ASSERT_EQ(1, responses_.size());
const string& response_str = responses_[0];
ConstElementPtr response;
- ASSERT_NO_THROW(response = Element::fromJSON(response_str));
+ ASSERT_NO_THROW_LOG(response = Element::fromJSON(response_str));
expected_str = "{\n"
"\"result\": 0,\n"
"\"arguments\": {\n"
" \"comment\": \"empty\"\n"
" }\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*response));
}
"10.0.2.0/24", SR_STRING_T, true }
});
// Load YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Netconf configuration.
ASSERT_EQ(1, requests_.size());
const string& request_str = requests_[0];
ConstElementPtr request;
- ASSERT_NO_THROW(request = Element::fromJSON(request_str));
+ ASSERT_NO_THROW_LOG(request = Element::fromJSON(request_str));
string expected_str = "{\n"
"\"command\": \"config-set\",\n"
"\"arguments\": {\n"
" }\n"
"}";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
sortSubnets(expected);
sortSubnets(request);
ASSERT_EQ(1, responses_.size());
const string& response_str = responses_[0];
ConstElementPtr response;
- ASSERT_NO_THROW(response = Element::fromJSON(response_str));
+ ASSERT_NO_THROW_LOG(response = Element::fromJSON(response_str));
expected_str = "{\n"
"\"result\": 0\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*response));
}
// Try subscribeConfig.
EXPECT_EQ(0, agent_->subscriptions_.size());
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
EXPECT_EQ(0, agent_->subscriptions_.size());
EXPECT_NO_THROW(agent_->subscribeConfig(service_pair));
EXPECT_EQ(1, agent_->subscriptions_.size());
"10.0.2.0/24", SR_STRING_T, true }
});
// Load initial YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree0, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree0, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Netconf configuration.
ASSERT_EQ(1, requests_.size());
const string& request_str = requests_[0];
ConstElementPtr request;
- ASSERT_NO_THROW(request = Element::fromJSON(request_str));
+ ASSERT_NO_THROW_LOG(request = Element::fromJSON(request_str));
string expected_str = "{\n"
"\"command\": \"config-set\",\n"
"\"arguments\": {\n"
" }\n"
"}";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
sortSubnets(expected);
sortSubnets(request);
ASSERT_EQ(1, responses_.size());
const string& response_str = responses_[0];
ConstElementPtr response;
- ASSERT_NO_THROW(response = Element::fromJSON(response_str));
+ ASSERT_NO_THROW_LOG(response = Element::fromJSON(response_str));
expected_str = "{\n"
"\"result\": 0\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*response));
}
"10.0.2.0/24", SR_STRING_T, true }
});
// Load initial YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree0, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree0, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Netconf configuration.
ASSERT_LE(1, requests_.size());
string request_str = requests_[0];
ConstElementPtr request;
- ASSERT_NO_THROW(request = Element::fromJSON(request_str));
+ ASSERT_NO_THROW_LOG(request = Element::fromJSON(request_str));
string expected_str = "{\n"
"\"command\": \"config-test\",\n"
"\"arguments\": {\n"
" }\n"
"}";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
sortSubnets(expected);
sortSubnets(request);
// Check that the fakse server received the second request.
ASSERT_EQ(2, requests_.size());
request_str = requests_[1];
- ASSERT_NO_THROW(request = Element::fromJSON(request_str));
+ ASSERT_NO_THROW_LOG(request = Element::fromJSON(request_str));
expected_str = "{\n"
"\"command\": \"config-set\",\n"
"\"arguments\": {\n"
" }\n"
" }\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
sortSubnets(expected);
sortSubnets(request);
ASSERT_EQ(2, responses_.size());
string response_str = responses_[0];
ConstElementPtr response;
- ASSERT_NO_THROW(response = Element::fromJSON(response_str));
+ ASSERT_NO_THROW_LOG(response = Element::fromJSON(response_str));
expected_str = "{\n"
"\"result\": 0\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*response));
response_str = responses_[1];
- ASSERT_NO_THROW(response = Element::fromJSON(response_str));
+ ASSERT_NO_THROW_LOG(response = Element::fromJSON(response_str));
expected_str = "{\n"
"\"result\": 0\n"
"}";
- ASSERT_NO_THROW(expected = Element::fromJSON(expected_str));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(expected_str));
EXPECT_TRUE(expected->equals(*response));
}
"10.0.0.0/24", SR_STRING_T, true }
});
// Load initial YANG configuration.
- ASSERT_NO_THROW(agent_->initSysrepo());
+ ASSERT_NO_THROW_LOG(agent_->initSysrepo());
YangRepr repr(KEA_DHCP4_SERVER);
- ASSERT_NO_THROW(repr.set(tree0, agent_->startup_sess_));
+ ASSERT_NO_THROW_LOG(repr.set(tree0, agent_->startup_sess_));
EXPECT_NO_THROW(agent_->startup_sess_->apply_changes());
// Netconf configuration.
bool compare = true) {
ConstElementPtr test_json;
- ASSERT_NO_THROW({
+ ASSERT_NO_THROW_LOG({
try {
ParserContext ctx;
test_json = ctx.parseString(txt, parser_type);
// Now compare if both representations are the same.
ElementPtr reference_json;
- ASSERT_NO_THROW(reference_json = Element::fromJSON(txt, true));
+ ASSERT_NO_THROW_LOG(reference_json = Element::fromJSON(txt, true));
compareJSON(reference_json, test_json);
}
ins[1] = c;
ConstElementPtr e(new StringElement(ins));
json = e->str();
- ASSERT_NO_THROW(
+ ASSERT_NO_THROW_LOG(
try {
ParserContext ctx;
result = ctx.parseString(json, ParserContext::PARSER_JSON);
// check the 4 possible encodings of solidus '/'
ConstElementPtr result;
string json = "\"/\\/\\u002f\\u002F\"";
- ASSERT_NO_THROW(
+ ASSERT_NO_THROW_LOG(
try {
ParserContext ctx;
result = ctx.parseString(json, ParserContext::PARSER_JSON);
-// Copyright (C) 2018-2019 Internet Systems Consortium, Inc. ("ISC")
+// 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
string before = json->str();
if (v6) {
- ASSERT_NO_THROW(AdaptorConfig::preProcess6(json));
+ ASSERT_NO_THROW_LOG(AdaptorConfig::preProcess6(json));
} else {
- ASSERT_NO_THROW(AdaptorConfig::preProcess4(json));
+ ASSERT_NO_THROW_LOG(AdaptorConfig::preProcess4(json));
}
string after = json->str();
" \"ip-address\": \"192.0.2.201\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_TRUE(copied->equals(*json));
" \"ip-address\": \"192.0.2.206\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_TRUE(copied->equals(*json));
" \"ip-addresses\": \"2001:db8:1:cafe::2\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_FALSE(copied->equals(*json));
" \"ip-addresses\": \"2001:db8:1:cafe::2\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_FALSE(copied->equals(*json));
" \"ip-addresses\": \"2001:db8:1:cafe::2\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_FALSE(copied->equals(*json));
" \"ip-addresses\": \"2001:db8:1:cafe::2\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorHost::quoteIdentifier(json));
EXPECT_FALSE(copied->equals(*json));
string config = "{\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorOption::setSpace(json, "foo"));
EXPECT_FALSE(copied->equals(*json));
" \"space\": \"dhcp4\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorOption::setSpace(json, "foo"));
EXPECT_TRUE(copied->equals(*json));
" \"type\": \"string\"\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
EXPECT_NO_THROW(AdaptorOption::checkType(json));
}
string config = "{\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
EXPECT_THROW(AdaptorOption::checkType(json), MissingKey);
}
" \"code\": 123\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
EXPECT_NO_THROW(AdaptorOption::checkCode(json));
}
string config = "{\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
EXPECT_THROW(AdaptorOption::checkCode(json), MissingKey);
}
" \"space\": \"bar\"\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
OptionCodes codes;
- ASSERT_NO_THROW(AdaptorOption::collect(json, codes));
+ ASSERT_NO_THROW_LOG(AdaptorOption::collect(json, codes));
EXPECT_EQ(1, codes.size());
EXPECT_EQ(123, codes["bar@foo"]);
EXPECT_THROW(codes.at("foo@bar"), out_of_range);
" \"space\": \"bar\"\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
OptionCodes codes = { { "bar@foo", 111 } };
- ASSERT_NO_THROW(AdaptorOption::collect(json, codes));
+ ASSERT_NO_THROW_LOG(AdaptorOption::collect(json, codes));
EXPECT_EQ(1, codes.size());
EXPECT_EQ(111, codes["bar@foo"]);
}
" \"space\": \"bar\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
OptionCodes codes = { { "bar@foo", 123 } };
EXPECT_NO_THROW(AdaptorOption::setCode(json, codes));
" \"code\": \"dhcp4\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
OptionCodes codes;
EXPECT_NO_THROW(AdaptorOption::setCode(json, codes));
" \"space\": \"bar\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
OptionCodes codes;
EXPECT_THROW(AdaptorOption::setCode(json, codes), MissingKey);
}
" \"space\": \"bar\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
OptionCodes codes;
EXPECT_THROW(AdaptorOption::setCode(json, codes), MissingKey);
}
};
const size_t DEFS_SIZE = sizeof(DEFS) / sizeof(DEFS[0]);
OptionCodes codes;
- ASSERT_NO_THROW(TestAdaptorOption::initCodesInternal(codes,
+ ASSERT_NO_THROW_LOG(TestAdaptorOption::initCodesInternal(codes,
DHCP4_OPTION_SPACE,
DEFS,
DEFS_SIZE));
// Verifies that initCodes works as expected with DHCPv4.
TEST(AdaptorOptionTest, initCodes4) {
OptionCodes codes;
- ASSERT_NO_THROW(AdaptorOption::initCodes(codes, DHCP4_OPTION_SPACE));
+ ASSERT_NO_THROW_LOG(AdaptorOption::initCodes(codes, DHCP4_OPTION_SPACE));
EXPECT_EQ(DHO_SUBNET_MASK, codes["dhcp4@subnet-mask"]);
EXPECT_EQ(DHO_TIME_OFFSET, codes["dhcp4@time-offset"]);
EXPECT_THROW(codes.at("dhcp6@clientid"), out_of_range);
// Verifies that initCodes works as expected with DHCPv6.
TEST(AdaptorOptionTest, initCodes6) {
OptionCodes codes;
- ASSERT_NO_THROW(AdaptorOption::initCodes(codes, DHCP6_OPTION_SPACE));
+ ASSERT_NO_THROW_LOG(AdaptorOption::initCodes(codes, DHCP6_OPTION_SPACE));
EXPECT_EQ(D6O_CLIENTID, codes["dhcp6@clientid"]);
EXPECT_EQ(D6O_SERVERID, codes["dhcp6@serverid"]);
EXPECT_THROW(codes.at("dhcp4@subnet-mask"), out_of_range);
-// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+// 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
" \"pool\": \"192.0.2.128/28\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorPool::canonizePool(json));
EXPECT_TRUE(copied->equals(*json));
" \"pool\": \"192.0.2.1 - 192.0.2.200\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorPool::canonizePool(json));
EXPECT_TRUE(copied->equals(*json));
" \"pool\": \"192.0.2.128 /\t28\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorPool::canonizePool(json));
EXPECT_FALSE(copied->equals(*json));
" \"pool\": \"192.0.2.1-192.0.2.200\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorPool::canonizePool(json));
EXPECT_FALSE(copied->equals(*json));
" \"pool\": \"192.0.2.1 - 192.0.2.200\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
EXPECT_NO_THROW(AdaptorPool::canonizePool(json));
EXPECT_FALSE(copied->equals(*json));
" \"rebind-timer\": 2000\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
ConstElementPtr pools = json->get("pools");
" \"rebind-timer\": 2000\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
ConstElementPtr pools = json->get("pools");
EXPECT_NO_THROW(AdaptorPool::fromSubnet(IETF_DHCPV6_SERVER, json, pools));
" \"rebind-timer\": 2000\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
ConstElementPtr pools = json->get("pools");
EXPECT_NO_THROW(AdaptorPool::toSubnet(KEA_DHCP4_SERVER, json, pools));
" } ]\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
ConstElementPtr pools = json->get("pools");
EXPECT_NO_THROW(AdaptorPool::toSubnet(IETF_DHCPV6_SERVER, json, pools));
" } ]\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr pools = json->get("pools");
EXPECT_THROW(AdaptorPool::toSubnet(IETF_DHCPV6_SERVER, json, pools),
BadValue);
-// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+// 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
" \"subnet\": \"192.0.2.0/24\"\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
SubnetIDSet set;
bool ret = true;
- ASSERT_NO_THROW(ret = AdaptorSubnet::collectID(json, set));
+ ASSERT_NO_THROW_LOG(ret = AdaptorSubnet::collectID(json, set));
EXPECT_FALSE(ret);
EXPECT_EQ(0, set.size());
}
" \"id\": 123\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
SubnetIDSet set;
bool ret = false;
- ASSERT_NO_THROW(ret = AdaptorSubnet::collectID(json, set));
+ ASSERT_NO_THROW_LOG(ret = AdaptorSubnet::collectID(json, set));
EXPECT_TRUE(ret);
EXPECT_EQ(1, set.size());
EXPECT_EQ(1, set.count(123));
" \"id\": 123\n"
"}";
ConstElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
SubnetIDSet set = { 123 };
bool ret = false;
- ASSERT_NO_THROW(ret = AdaptorSubnet::collectID(json, set));
+ ASSERT_NO_THROW_LOG(ret = AdaptorSubnet::collectID(json, set));
EXPECT_TRUE(ret);
EXPECT_EQ(1, set.size());
EXPECT_EQ(1, set.count(123));
" \"subnet\": \"192.0.2.0/24\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
SubnetIDSet set;
SubnetID next_id = 123;
- ASSERT_NO_THROW(AdaptorSubnet::assignID(json, set, next_id));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::assignID(json, set, next_id));
EXPECT_FALSE(copied->equals(*json));
EXPECT_EQ(1, set.size());
EXPECT_EQ(1, set.count(123));
" \"subnet\": \"192.0.2.0/24\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
SubnetIDSet set = { 123 };
SubnetID next_id = 123;
- ASSERT_NO_THROW(AdaptorSubnet::assignID(json, set, next_id));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::assignID(json, set, next_id));
EXPECT_FALSE(copied->equals(*json));
EXPECT_EQ(2, set.size());
EXPECT_EQ(1, set.count(123));
" \"id\": 123\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
SubnetIDSet set; // ignored.
SubnetID next_id = 123; // ignored.
- ASSERT_NO_THROW(AdaptorSubnet::assignID(json, set, next_id));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::assignID(json, set, next_id));
EXPECT_TRUE(copied->equals(*json));
EXPECT_EQ(0, set.size());
EXPECT_EQ(123, next_id);
" \"subnet\": \"192.0.2.0/24\"\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
- ASSERT_NO_THROW(AdaptorSubnet::updateRelay(json));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::updateRelay(json));
EXPECT_TRUE(copied->equals(*json));
}
" \"relay\": { }\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
- ASSERT_NO_THROW(AdaptorSubnet::updateRelay(json));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::updateRelay(json));
EXPECT_FALSE(copied->equals(*json));
EXPECT_FALSE(json->get("relay"));
}
" }\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
- ASSERT_NO_THROW(AdaptorSubnet::updateRelay(json));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::updateRelay(json));
EXPECT_FALSE(copied->equals(*json));
EXPECT_FALSE(json->get("relay"));
}
" }\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
- ASSERT_NO_THROW(AdaptorSubnet::updateRelay(json));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::updateRelay(json));
EXPECT_TRUE(copied->equals(*json));
}
" }\n"
"}";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
ConstElementPtr copied = copy(json);
- ASSERT_NO_THROW(AdaptorSubnet::updateRelay(json));
+ ASSERT_NO_THROW_LOG(AdaptorSubnet::updateRelay(json));
EXPECT_FALSE(copied->equals(*json));
ConstElementPtr relay = json->get("relay");
ASSERT_TRUE(relay);
-// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+// 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
"}\n";
ConstElementPtr json = Element::fromJSON(config);
ConstElementPtr context;
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
EXPECT_FALSE(context);
// No relevant.
" \"foo\": 1\n"
"}\n";
json = Element::fromJSON(config);
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
EXPECT_FALSE(context);
// User context.
" \"user-context\": { \"bar\": 2 }\n"
"}\n";
json = Element::fromJSON(config);
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
ASSERT_TRUE(context);
EXPECT_EQ("{ \"bar\": 2 }", context->str());
" \"comment\": \"a comment\"\n"
"}\n";
json = Element::fromJSON(config);
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
ASSERT_TRUE(context);
EXPECT_EQ("{ \"comment\": \"a comment\" }", context->str());
" \"comment\": \"a comment\"\n"
"}\n";
json = Element::fromJSON(config);
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
ASSERT_TRUE(context);
EXPECT_EQ("{ \"bar\": 2, \"comment\": \"a comment\" }", context->str());
" \"comment\": \"a comment\"\n"
"}\n";
json = Element::fromJSON(config);
- ASSERT_NO_THROW(context = Adaptor::getContext(json));
+ ASSERT_NO_THROW_LOG(context = Adaptor::getContext(json));
ASSERT_TRUE(context);
EXPECT_EQ("{ \"bar\": 2, \"comment\": \"a comment\" }", context->str());
}
" \"bar\": {\n"
"}}}\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ \"foo\", \"bar\" ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
string sactions = "[\n"
"{\n"
" \"action\": \"insert\",\n"
" \"value\": 1234\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "{\n"
" \"foo\": {\n"
" \"bar\": {\n"
" \"test\": 1234\n"
"}}}\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
" \"test2\": 1234\n"
"}}}\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ \"foo\", \"bar\" ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
string sactions = "[\n"
"{\n"
" \"action\": \"insert\",\n"
" \"value\": 5678\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "{\n"
" \"foo\": {\n"
" \"bar\": {\n"
" \"test2\": 5678\n"
"}}}\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
" \"test\": 1234\n"
"}}}\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ \"foo\", \"bar\" ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
string sactions = "[\n"
"{\n"
" \"action\": \"delete\",\n"
" \"key\": \"test\"\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "{\n"
" \"foo\": {\n"
" \"bar\": {\n"
"}}}\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
" \"foo\": \"bar\"\n"
"}]]\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ 0, { \"key\": \"foo\", \"value\": \"bar\" }]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
string sactions = "[\n"
"{\n"
" \"action\": \"insert\",\n"
" \"value\": 1234\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "[\n"
"[{\n"
" \"foo\": \"bar\",\n"
" \"test\": 1234\n"
"}]]\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
"{ \"test\": 1234 },\n"
"]\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ -1 ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
string sactions = "[\n"
"{\n"
" \"action\": \"insert\",\n"
" \"value\": 5678\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "[\n"
"{ \"test\": 5678 },\n"
"{ \"test\": 5678 },\n"
"{ \"test\": 1234 }\n"
"]\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
"0, 1, 2, 3\n"
"]]]\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
string spath = "[ 0 ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
// Put the positional first as it applies after previous actions...
string sactions = "[\n"
"{\n"
" \"key\": { \"key\": \"foo\", \"value\": \"bar\" }\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "[[{}]]\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
"0, 1, 2, 3\n"
"]]]\n";
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
// The main change from the previous unit test is key 0 -> -1 so
// modify() applies the delete to all elements vs only the first one.
string spath = "[ -1 ]";
ConstElementPtr path;
- ASSERT_NO_THROW(path = Element::fromJSON(spath));
+ ASSERT_NO_THROW_LOG(path = Element::fromJSON(spath));
// Put the positional first as it applies after previous actions...
string sactions = "[\n"
"{\n"
" \"key\": { \"key\": \"foo\", \"value\": \"bar\" }\n"
"}]\n";
ConstElementPtr actions;
- ASSERT_NO_THROW(actions = Element::fromJSON(sactions));
+ ASSERT_NO_THROW_LOG(actions = Element::fromJSON(sactions));
string result = "[[{}]]\n";
ConstElementPtr expected;
- ASSERT_NO_THROW(expected = Element::fromJSON(result));
- ASSERT_NO_THROW(Adaptor::modify(path, actions, json));
+ ASSERT_NO_THROW_LOG(expected = Element::fromJSON(result));
+ ASSERT_NO_THROW_LOG(Adaptor::modify(path, actions, json));
EXPECT_TRUE(expected->equals(*json));
}
/// @param config The JSON tree to load in textual format.
void load(const string& config) {
ElementPtr json;
- ASSERT_NO_THROW(json = Element::fromJSON(config));
+ ASSERT_NO_THROW_LOG(json = Element::fromJSON(config));
load(json);
}
// Check empty config with ietf-dhcpv6-server model.
TEST_F(ConfigTestIetfV6, emptyIetf6) {
YRTree tree;
- ASSERT_NO_THROW(load(tree));
+ ASSERT_NO_THROW_LOG(load(tree));
EXPECT_TRUE(verify(tree));
ConstElementPtr json = Element::fromJSON(emptyJson6);
EXPECT_TRUE(verify(json));
- ASSERT_NO_THROW(load(json));
+ ASSERT_NO_THROW_LOG(load(json));
EXPECT_TRUE(verify(emptyJson6));
EXPECT_TRUE(verify(tree));
}
// Check empty config with kea-dhcp4-server:config model.
TEST_F(ConfigTestKeaV4, emptyKeaDhcp4) {
YRTree tree;
- ASSERT_NO_THROW(load(tree));
+ ASSERT_NO_THROW_LOG(load(tree));
EXPECT_TRUE(verify(emptyTreeKeaDhcp4));
ConstElementPtr json = Element::fromJSON(emptyJson4);
EXPECT_TRUE(verify(json));
- ASSERT_NO_THROW(load(json));
+ ASSERT_NO_THROW_LOG(load(json));
EXPECT_TRUE(verify(emptyJson4));
EXPECT_TRUE(verify(emptyTreeKeaDhcp4));
}
// Check empty config with kea-dhcp6-server:config model.
TEST_F(ConfigTestKeaV6, emptyKeaDhcp6) {
YRTree tree;
- ASSERT_NO_THROW(load(tree));
+ ASSERT_NO_THROW_LOG(load(tree));
EXPECT_TRUE(verify(emptyTreeKeaDhcp6));
ConstElementPtr json = Element::fromJSON(emptyJson6);
EXPECT_TRUE(verify(json));
- ASSERT_NO_THROW(load(json));
+ ASSERT_NO_THROW_LOG(load(json));
EXPECT_TRUE(verify(emptyJson6));
EXPECT_TRUE(verify(emptyTreeKeaDhcp6));
}
// container with a mandatory ent-num leaf and no presence flag,
// and of course the candidate YANG tree has nothing for this.
TEST_F(ConfigTestIetfV6, subnetTwoPoolsIetf6) {
- ASSERT_NO_THROW(load(subnetTwoPoolsTreeIetf6));
+ ASSERT_NO_THROW_LOG(load(subnetTwoPoolsTreeIetf6));
EXPECT_TRUE(verify(subnetTwoPoolsJson6));
resetSession();
- ASSERT_NO_THROW(load(subnetTwoPoolsJson6));
+ ASSERT_NO_THROW_LOG(load(subnetTwoPoolsJson6));
EXPECT_TRUE(verify(subnetTwoPoolsTreeIetf6));
EXPECT_FALSE(validate());
// Check subnet with a pool and option data lists with
// kea-dhcp4-server:config model.
TEST_F(ConfigTestKeaV4, subnetOptionsKeaDhcp4) {
- ASSERT_NO_THROW(load(subnetOptionsTreeKeaDhcp4));
+ ASSERT_NO_THROW_LOG(load(subnetOptionsTreeKeaDhcp4));
EXPECT_TRUE(verify(subnetOptionsJson4));
resetSession();
- ASSERT_NO_THROW(load(subnetOptionsJson4));
+ ASSERT_NO_THROW_LOG(load(subnetOptionsJson4));
EXPECT_TRUE(verify(subnetOptionsTreeKeaDhcp4));
EXPECT_TRUE(validate());
// Check subnet with a pool and option data lists with
// kea-dhcp6-server:config model.
TEST_F(ConfigTestKeaV6, subnetOptionsKeaDhcp6) {
- ASSERT_NO_THROW(load(subnetOptionsTreeKeaDhcp6));
+ ASSERT_NO_THROW_LOG(load(subnetOptionsTreeKeaDhcp6));
EXPECT_TRUE(verify(subnetOptionsJson6));
resetSession();
- ASSERT_NO_THROW(load(subnetOptionsJson6));
+ ASSERT_NO_THROW_LOG(load(subnetOptionsJson6));
EXPECT_TRUE(verify(subnetOptionsTreeKeaDhcp6));
EXPECT_TRUE(validate());
// Check with timers.
TEST_F(ConfigTestIetfV6, subnetTimersIetf6) {
- ASSERT_NO_THROW(load(subnetTimersIetf6));
+ ASSERT_NO_THROW_LOG(load(subnetTimersIetf6));
EXPECT_TRUE(verify(subnetTimersJson6));
resetSession();
- ASSERT_NO_THROW(load(subnetTimersJson6));
+ ASSERT_NO_THROW_LOG(load(subnetTimersJson6));
EXPECT_TRUE(verify(subnetTimersIetf6));
}
// Check a ietf-dhcpv6-server configuration which validates.
TEST_F(ConfigTestIetfV6, validateIetf6) {
- ASSERT_NO_THROW(load(validTreeIetf6));
+ ASSERT_NO_THROW_LOG(load(validTreeIetf6));
EXPECT_TRUE(verify(validTreeIetf6));
// If this validation fails, make sure you have the model *and its
string path = string(CFG_EXAMPLES) + "/kea4/" + file;
cout << "Testing file " << path << endl;
ConstElementPtr json;
- ASSERT_NO_THROW(json = loadFile(path));
+ ASSERT_NO_THROW_LOG(json = loadFile(path));
json = isc::test::moveComments(json);
EXPECT_TRUE(verify(json));
EXPECT_TRUE(validate());
string path = string(CFG_EXAMPLES) + "/kea6/" + file;
cout << "Testing file " << path << endl;
ConstElementPtr json;
- ASSERT_NO_THROW(json = loadFile(path));
+ ASSERT_NO_THROW_LOG(json = loadFile(path));
json = isc::test::moveComments(json);
EXPECT_TRUE(verify(json));
EXPECT_TRUE(validate());
// Check the example in the design document.
TEST_F(ConfigTestIetfV6, designExample) {
- ASSERT_NO_THROW(load(designExampleTree));
+ ASSERT_NO_THROW_LOG(load(designExampleTree));
EXPECT_TRUE(verify(designExampleJson));
resetSession();
- ASSERT_NO_THROW(load(designExampleJson));
+ ASSERT_NO_THROW_LOG(load(designExampleJson));
EXPECT_TRUE(verify(designExampleTree));
}
} catch (const std::exception& ex) {
cerr << "setControlSocket fail with " << ex.what() << endl;
}
- ASSERT_NO_THROW(t_obj_->setControlSocket(xpath, sock));
+ ASSERT_NO_THROW_LOG(t_obj_->setControlSocket(xpath, sock));
// Get it back.
ConstElementPtr got;
ElementPtr database = Element::createMap();
database->set("type", Element::create(string("memfile")));
database->set("lfc-interval", Element::create(3600));
- ASSERT_NO_THROW(t_obj_->setDatabase(xpath, database));
+ ASSERT_NO_THROW_LOG(t_obj_->setDatabase(xpath, database));
// Get it back.
ConstElementPtr got;
sess_->apply_changes();
// Reset to empty.
- ASSERT_NO_THROW(t_obj_->setDatabase(xpath, ConstElementPtr()));
+ ASSERT_NO_THROW_LOG(t_obj_->setDatabase(xpath, ConstElementPtr()));
// Get it back.
ConstElementPtr database;
database->set("lfc-interval", Element::create(3600));
ElementPtr databases = Element::createList();
databases->add(database);
- ASSERT_NO_THROW(t_obj_->setDatabases(xpath, databases));
+ ASSERT_NO_THROW_LOG(t_obj_->setDatabases(xpath, databases));
// Get it back.
ConstElementPtr gots;
logger->set("output_options", options);
ElementPtr loggers = Element::createList();
loggers->add(logger);
- ASSERT_NO_THROW(t_obj_->setLoggers(xpath, loggers));
+ ASSERT_NO_THROW_LOG(t_obj_->setLoggers(xpath, loggers));
// Get it back.
ConstElementPtr gots;
const string& xdata = xoption + "/data";
const string& xsend = xoption + "/always-send";
S_Val s_false(new Val(false));
- ASSERT_NO_THROW(sess_->set_item(xformat.c_str(), s_false));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xformat.c_str(), s_false));
S_Val s_data(new Val("12121212"));
- ASSERT_NO_THROW(sess_->set_item(xdata.c_str(), s_data));
- ASSERT_NO_THROW(sess_->set_item(xsend.c_str(), s_false));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xdata.c_str(), s_data));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xsend.c_str(), s_false));
// Get the option data.
ConstElementPtr option;
const string& xtype = xdef + "/type";
const string& xarray = xdef + "/array";
S_Val s_name(new Val("foo"));
- ASSERT_NO_THROW(sess_->set_item(xname.c_str(), s_name));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xname.c_str(), s_name));
S_Val s_type(new Val("string"));
- ASSERT_NO_THROW(sess_->set_item(xtype.c_str(), s_type));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xtype.c_str(), s_type));
S_Val s_array(new Val(false));
- ASSERT_NO_THROW(sess_->set_item(xarray.c_str(), s_array));
+ ASSERT_NO_THROW_LOG(sess_->set_item(xarray.c_str(), s_array));
// Get the option def.
ConstElementPtr def;
const string& prefix = "2001:db8::1:0/112";
string start_addr;
string end_addr;
- ASSERT_NO_THROW(TranslatorPool::getAddresses(prefix,
+ ASSERT_NO_THROW_LOG(TranslatorPool::getAddresses(prefix,
start_addr, end_addr));
EXPECT_EQ("2001:db8::1:0", start_addr);
EXPECT_EQ("2001:db8::1:ffff", end_addr);
S_Connection conn(std::make_shared<Connection>());
S_Session sess(new Session(conn, SR_DS_CANDIDATE));
boost::scoped_ptr<TranslatorBasic> t_obj;
- ASSERT_NO_THROW(t_obj.reset(new TranslatorBasic(sess, "")));
+ ASSERT_NO_THROW_LOG(t_obj.reset(new TranslatorBasic(sess, "")));
S_Val s_val;
ConstElementPtr elem;
string xpath;
S_Connection conn(std::make_shared<Connection>());
S_Session sess(new Session(conn, SR_DS_CANDIDATE));
boost::scoped_ptr<TranslatorBasic> t_obj;
- ASSERT_NO_THROW(t_obj.reset(new TranslatorBasic(sess, "")));
+ ASSERT_NO_THROW_LOG(t_obj.reset(new TranslatorBasic(sess, "")));
// Container.
string xpath = "/keatest-module:container";
S_Connection conn(std::make_shared<Connection>());
S_Session sess(new Session(conn, SR_DS_CANDIDATE));
boost::scoped_ptr<TranslatorBasic> t_obj;
- ASSERT_NO_THROW(t_obj.reset(new TranslatorBasic(sess, "")));
+ ASSERT_NO_THROW_LOG(t_obj.reset(new TranslatorBasic(sess, "")));
string xpath;
// Empty list.