}
server_ = server;
session_ = session;
+ session->addRemoteConfig("data_sources", reconfigureInternal, false);
}
/// \brief Deinitializes the class.
///
/// This can be called even if it is not initialized currently. You
/// can initialize it again after this.
static void deinit() {
+ if (session_ != NULL) {
+ session_->removeRemoteConfig("data_sources");
+ }
session_ = NULL;
server_ = NULL;
}
/// \param config The configuration value to parse. It is in the form
/// as an update from the config manager.
/// \throw InvalidOperation if it is called when not initialized.
- static void reconfigure(const isc::data::ConstElementPtr& config) {
+ static void reconfigure(const isc::data::ConstElementPtr& ) {
}
};
AM_CPPFLAGS += -DTEST_DATA_DIR=\"$(abs_top_srcdir)/src/lib/testutils/testdata\"
AM_CPPFLAGS += -DTEST_OWN_DATA_DIR=\"$(abs_top_srcdir)/src/bin/auth/tests/testdata\"
AM_CPPFLAGS += -DTEST_DATA_BUILDDIR=\"$(abs_top_builddir)/src/lib/testutils/testdata\"
+AM_CPPFLAGS += -DPLUGIN_DATA_PATH=\"$(abs_top_srcdir)/src/bin/cfgmgr/plugins\"
AM_CPPFLAGS += -DINSTALL_PROG=\"$(abs_top_srcdir)/install-sh\"
AM_CXXFLAGS = $(B10_CXXFLAGS)
// Make sure no matter what we did, it is cleaned up.
Configurator::deinit();
}
- void init() {
+ void init(const ElementPtr& config = ElementPtr()) {
+ session.getMessages()->
+ add(createAnswer(0,
+ moduleSpecFromFile(string(PLUGIN_DATA_PATH) +
+ "/datasrc.spec").
+ getFullSpec()));
+ if (config) {
+ session.getMessages()->add(createAnswer(0, config));
+ } else {
+ session.getMessages()->
+ add(createAnswer(0, ElementPtr(new MapElement)));
+ }
Configurator::init(mccs.get(), this);
}
void SetUp() {
TEST_F(DatasrcConfiguratorTest, initialization) {
// It can't be initialized again
EXPECT_THROW(init(), InvalidOperation);
+ EXPECT_TRUE(session.haveSubscription("data_sources", "*"));
// Deinitialize to make the tests reasonable
Configurator::deinit();
- // Make sure there are enough messages in it, etc.
- initSession();
+ EXPECT_FALSE(session.haveSubscription("data_sources", "*"));
// If one of them is NULL, it does not work
EXPECT_THROW(Configurator::init(NULL, this), InvalidParameter);
+ EXPECT_FALSE(session.haveSubscription("data_sources", "*"));
EXPECT_THROW(Configurator::init(mccs.get(), NULL), InvalidParameter);
+ EXPECT_FALSE(session.haveSubscription("data_sources", "*"));
// But we can initialize it again now
EXPECT_NO_THROW(init());
+ EXPECT_TRUE(session.haveSubscription("data_sources", "*"));
}
}