|
@@ -375,6 +375,14 @@ public:
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ if (config_pair.first == "hooks-libraries") {
|
|
|
+ hooks_libraries_parser_.reset(new HooksLibrariesParser());
|
|
|
+ hooks_libraries_parser_->parse(config_pair.second);
|
|
|
+ hooks_libraries_parser_->verifyLibraries();
|
|
|
+ hooks_libraries_parser_->loadLibraries();
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
// Remaining ones are old style parsers. Need go do
|
|
|
// the build/commit dance with them.
|
|
|
|
|
@@ -444,11 +452,7 @@ public:
|
|
|
ParserPtr parser;
|
|
|
// option-data and option-def converted to SimpleParser, so they
|
|
|
// are no longer here.
|
|
|
- if (config_id.compare("hooks-libraries") == 0) {
|
|
|
- parser.reset(new HooksLibrariesParser(config_id));
|
|
|
- hooks_libraries_parser_ =
|
|
|
- boost::dynamic_pointer_cast<HooksLibrariesParser>(parser);
|
|
|
- } else if (config_id.compare("dhcp-ddns") == 0) {
|
|
|
+ if (config_id.compare("dhcp-ddns") == 0) {
|
|
|
parser.reset(new D2ClientConfigParser(config_id));
|
|
|
} else {
|
|
|
isc_throw(NotImplemented,
|
|
@@ -1295,9 +1299,7 @@ TEST_F(ParseConfigTest, noHooksLibraries) {
|
|
|
|
|
|
// Check that the parser recorded nothing.
|
|
|
isc::hooks::HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_FALSE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
EXPECT_TRUE(libraries.empty());
|
|
|
|
|
|
// Check that there are still no libraries loaded.
|
|
@@ -1320,9 +1322,7 @@ TEST_F(ParseConfigTest, oneHooksLibrary) {
|
|
|
|
|
|
// Check that the parser recorded a single library.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(1, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
|
|
@@ -1348,9 +1348,7 @@ TEST_F(ParseConfigTest, twoHooksLibraries) {
|
|
|
|
|
|
// Check that the parser recorded two libraries in the expected order.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(2, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_2, libraries[1].first);
|
|
@@ -1388,9 +1386,7 @@ TEST_F(ParseConfigTest, reconfigureSameHooksLibraries) {
|
|
|
// the paramters (or the files they could point to) could have
|
|
|
// changed, so the libraries are reloaded anyway.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(2, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_2, libraries[1].first);
|
|
@@ -1429,9 +1425,7 @@ TEST_F(ParseConfigTest, reconfigureReverseHooksLibraries) {
|
|
|
|
|
|
// The list has changed, and this is what we should see.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(2, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_2, libraries[0].first);
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[1].first);
|
|
@@ -1468,9 +1462,7 @@ TEST_F(ParseConfigTest, reconfigureZeroHooksLibraries) {
|
|
|
|
|
|
// The list has changed, and this is what we should see.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
EXPECT_TRUE(libraries.empty());
|
|
|
|
|
|
// Check that no libraries are currently loaded
|
|
@@ -1502,9 +1494,7 @@ TEST_F(ParseConfigTest, invalidHooksLibraries) {
|
|
|
// Check that the parser recorded the names but, as they were in error,
|
|
|
// does not flag them as changed.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_FALSE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(3, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
EXPECT_EQ(NOT_PRESENT_LIBRARY, libraries[1].first);
|
|
@@ -1546,9 +1536,7 @@ TEST_F(ParseConfigTest, reconfigureInvalidHooksLibraries) {
|
|
|
// Check that the parser recorded the names but, as the library set was
|
|
|
// incorrect, did not mark the configuration as changed.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_FALSE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(3, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
EXPECT_EQ(NOT_PRESENT_LIBRARY, libraries[1].first);
|
|
@@ -1653,9 +1641,7 @@ TEST_F(ParseConfigTest, HooksLibrariesParameters) {
|
|
|
|
|
|
// Check that the parser recorded the names.
|
|
|
HookLibsCollection libraries;
|
|
|
- bool changed = false;
|
|
|
- hooks_libraries_parser_->getLibraries(libraries, changed);
|
|
|
- EXPECT_TRUE(changed);
|
|
|
+ hooks_libraries_parser_->getLibraries(libraries);
|
|
|
ASSERT_EQ(3, libraries.size());
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_1, libraries[0].first);
|
|
|
EXPECT_EQ(CALLOUT_LIBRARY_2, libraries[1].first);
|