From: Tomek Mrugalski Date: Fri, 22 Oct 2021 12:55:54 +0000 (+0200) Subject: [#1848] Changes to appease clang-format X-Git-Tag: Kea-2.1.1~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70d6de4d433112ce3dc299897a345c2e3b362e33;p=thirdparty%2Fkea.git [#1848] Changes to appease clang-format --- diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_callouts.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_callouts.cc index 7a583f9739..e00242f981 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_callouts.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_callouts.cc @@ -9,7 +9,9 @@ // issues related to namespaces. #include + #include + #include #include #include @@ -26,7 +28,8 @@ extern "C" { /// @param handle library handle /// @return 0 when initialization is successful, 1 otherwise -int load(LibraryHandle& /* handle */) { +int +load(LibraryHandle& /* handle */) { LOG_INFO(pgsql_cb_logger, PGSQL_CB_INIT_OK); // Register Postgres CB factories with CB Managers isc::dhcp::PgSqlConfigBackendDHCPv4::registerBackendType(); @@ -41,7 +44,8 @@ int load(LibraryHandle& /* handle */) { /// /// @param handle callout handle passed to the callout. /// @return 0 on success, 1 otherwise. -int dhcp4_srv_configured(CalloutHandle& handle) { +int +dhcp4_srv_configured(CalloutHandle& handle) { isc::asiolink::IOServicePtr io_service; handle.getArgument("io_context", io_service); isc::dhcp::PgSqlConfigBackendImpl::setIOService(io_service); @@ -54,7 +58,8 @@ int dhcp4_srv_configured(CalloutHandle& handle) { /// /// @param handle callout handle passed to the callout. /// @return 0 on success, 1 otherwise. -int dhcp6_srv_configured(CalloutHandle& handle) { +int +dhcp6_srv_configured(CalloutHandle& handle) { isc::asiolink::IOServicePtr io_service; handle.getArgument("io_context", io_service); isc::dhcp::PgSqlConfigBackendImpl::setIOService(io_service); @@ -64,7 +69,8 @@ int dhcp6_srv_configured(CalloutHandle& handle) { /// @brief This function is called when the library is unloaded. /// /// @return 0 if deregistration was successful, 1 otherwise -int unload() { +int +unload() { LOG_INFO(pgsql_cb_logger, PGSQL_CB_DEINIT_OK); // Unregister the factories and remove Postgres backends isc::dhcp::PgSqlConfigBackendDHCPv4::unregisterBackendType(); @@ -78,8 +84,9 @@ int unload() { /// is always called from the main thread. /// /// @return 1 which means compatible with multi-threading. -int multi_threading_compatible() { +int +multi_threading_compatible() { return (1); } -} // end extern "C" +} // end extern "C" diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc index fa8a85051e..85359bca71 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc @@ -6,9 +6,6 @@ #include -#include -#include -#include #include #include #include @@ -20,18 +17,23 @@ #include #include #include +#include #include #include -#include #include -#include -#include #include +#include +#include + #include #include #include #include + #include +#include +#include +#include #include #include #include @@ -49,7 +51,6 @@ namespace dhcp { /// @brief Implementation of the Postgres Configuration Backend. class PgSqlConfigBackendDHCPv4Impl : public PgSqlConfigBackendImpl { public: - /// @brief Statement tags. /// /// The contents of the enum are indexes into the list of SQL statements. @@ -150,8 +151,7 @@ public: /// /// @param parameters A data structure relating keywords and values /// concerned with the database. - explicit PgSqlConfigBackendDHCPv4Impl(const DatabaseConnection::ParameterMap& - parameters); + explicit PgSqlConfigBackendDHCPv4Impl(const DatabaseConnection::ParameterMap& parameters); /// @brief Destructor. ~PgSqlConfigBackendDHCPv4Impl(); @@ -163,8 +163,8 @@ public: /// /// @return Pointer to the retrieved value or null if such parameter /// doesn't exist. - StampedValuePtr getGlobalParameter4(const ServerSelector& server_selector, - const std::string& name) { + StampedValuePtr + getGlobalParameter4(const ServerSelector& server_selector, const std::string& name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -185,8 +185,7 @@ public: /// /// @return Pointer to the returned subnet or NULL if such subnet /// doesn't exist. - Subnet4Ptr getSubnet4(const ServerSelector& server_selector, - const SubnetID& subnet_id) { + Subnet4Ptr getSubnet4(const ServerSelector& server_selector, const SubnetID& subnet_id) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -199,8 +198,7 @@ public: /// /// @return Pointer to the returned subnet or NULL if such subnet /// doesn't exist. - Subnet4Ptr getSubnet4(const ServerSelector& server_selector, - const std::string& subnet_prefix) { + Subnet4Ptr getSubnet4(const ServerSelector& server_selector, const std::string& subnet_prefix) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -209,8 +207,7 @@ public: /// @param server_selector Server selector. /// @param [out] subnets Reference to the subnet collection structure where /// subnets should be inserted. - void getAllSubnets4(const ServerSelector& server_selector, - Subnet4Collection& subnets) { + void getAllSubnets4(const ServerSelector& server_selector, Subnet4Collection& subnets) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -250,16 +247,15 @@ public: const IOAddress& pool_start_address, const IOAddress& pool_end_address, uint64_t& pool_id) { - isc_throw(NotImplemented, "Not implemented yet."); + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Sends query to insert or update subnet. /// /// @param server_selector Server selector. /// @param subnet Pointer to the subnet to be inserted or updated. - void createUpdateSubnet4(const ServerSelector& server_selector, - const Subnet4Ptr& subnet) { - isc_throw(NotImplemented, "Not implemented yet."); + void createUpdateSubnet4(const ServerSelector& server_selector, const Subnet4Ptr& subnet) { + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Inserts new IPv4 pool to the database. @@ -267,9 +263,10 @@ public: /// @param server_selector Server selector. /// @param pool Pointer to the pool to be inserted. /// @param subnet Pointer to the subnet that this pool belongs to. - void createPool4(const ServerSelector& server_selector, const Pool4Ptr& pool, + void createPool4(const ServerSelector& server_selector, + const Pool4Ptr& pool, const Subnet4Ptr& subnet) { - isc_throw(NotImplemented, "Not implemented yet."); + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Sends a query to delete data from a table. @@ -290,14 +287,14 @@ public: /// @c deleteFromTable methods. /// /// @return Number of deleted entries. - template + template uint64_t deleteTransactional(const int index, const db::ServerSelector& server_selector, const std::string& operation, const std::string& log_message, const bool cascade_delete, Args&&... keys) { - isc_throw(NotImplemented, "Not implemented yet."); + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Sends query to delete subnet by id. @@ -305,13 +302,11 @@ public: /// @param server_selector Server selector. /// @param subnet_id Identifier of the subnet to be deleted. /// @return Number of deleted subnets. - uint64_t deleteSubnet4(const ServerSelector& server_selector, - const SubnetID& subnet_id) { + uint64_t deleteSubnet4(const ServerSelector& server_selector, const SubnetID& subnet_id) { int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_ID_ANY : - PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_ID_WITH_TAG); - return (deleteTransactional(index, server_selector, - "deleting a subnet", "subnet deleted", + PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_ID_ANY : + PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_ID_WITH_TAG); + return (deleteTransactional(index, server_selector, "deleting a subnet", "subnet deleted", true, static_cast(subnet_id))); } @@ -320,13 +315,12 @@ public: /// @param server_selector Server selector. /// @param subnet_prefix Prefix of the subnet to be deleted. /// @return Number of deleted subnets. - uint64_t deleteSubnet4(const ServerSelector& server_selector, - const std::string& subnet_prefix) { + uint64_t + deleteSubnet4(const ServerSelector& server_selector, const std::string& subnet_prefix) { int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX_ANY : - PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX_WITH_TAG); - return (deleteTransactional(index, server_selector, - "deleting a subnet", "subnet deleted", + PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX_ANY : + PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX_WITH_TAG); + return (deleteTransactional(index, server_selector, "deleting a subnet", "subnet deleted", true, subnet_prefix)); } @@ -337,7 +331,7 @@ public: /// @param subnet Pointer to the subnet for which pools should be /// deleted. uint64_t deletePools4(const Subnet4Ptr& subnet) { - isc_throw(NotImplemented, "Not implemented yet."); + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Sends query to retrieve single shared network by name. @@ -347,9 +341,9 @@ public: /// /// @return Pointer to the returned shared network or NULL if such shared /// network doesn't exist. - SharedNetwork4Ptr getSharedNetwork4(const ServerSelector& server_selector, - const std::string& name) { - isc_throw(NotImplemented, "Not implemented yet."); + SharedNetwork4Ptr + getSharedNetwork4(const ServerSelector& server_selector, const std::string& name) { + isc_throw(NotImplemented, "Not implemented yet."); } /// @brief Sends query to retrieve all shared networks. @@ -387,10 +381,10 @@ public: /// /// @param server_selector Server selector. /// @param option Pointer to the option descriptor encapsulating the option. - void createUpdateOption4(const ServerSelector& server_selector, - const OptionDescriptorPtr& option) { - isc_throw(NotImplemented, "Not implemented yet."); - } + void + createUpdateOption4(const ServerSelector& server_selector, const OptionDescriptorPtr& option) { + isc_throw(NotImplemented, "Not implemented yet."); + } /// @brief Sends query to insert or update DHCP option in a subnet. /// @@ -417,18 +411,15 @@ public: const IOAddress& pool_end_address, const OptionDescriptorPtr& option) { uint64_t pool_id = 0; - Pool4Ptr pool = getPool4(server_selector, pool_start_address, pool_end_address, - pool_id); + Pool4Ptr pool = getPool4(server_selector, pool_start_address, pool_end_address, pool_id); if (!pool) { - isc_throw(BadValue, "no pool found for range of " - << pool_start_address << " : " - << pool_end_address); + isc_throw(BadValue, "no pool found for range of " << pool_start_address << " : " + << pool_end_address); } createUpdateOption4(server_selector, pool_id, option, false); } - /// @brief Sends query to insert or update DHCP option in a pool. /// /// @param selector Server selector. @@ -550,8 +541,7 @@ public: /// @param subnet Pointer to the subnet for which options should be /// deleted. /// @return Number of deleted options. - uint64_t deleteOptions4(const ServerSelector& server_selector, - const Subnet4Ptr& subnet) { + uint64_t deleteOptions4(const ServerSelector& server_selector, const Subnet4Ptr& subnet) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -561,8 +551,8 @@ public: /// @param subnet Pointer to the subnet for which options should be /// deleted. /// @return Number of deleted options. - uint64_t deleteOptions4(const ServerSelector& server_selector, - const SharedNetwork4Ptr& shared_network) { + uint64_t + deleteOptions4(const ServerSelector& server_selector, const SharedNetwork4Ptr& shared_network) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -633,15 +623,15 @@ public: for (auto db : config_ctl->getConfigDatabases()) { const std::string& access = db.getAccessString(); auto parameters = db.getParameters(); - if (ConfigBackendDHCPv4Mgr::instance().delBackend(parameters["type"], access, true)) { + if (ConfigBackendDHCPv4Mgr::instance().delBackend(parameters["type"], access, + true)) { ConfigBackendDHCPv4Mgr::instance().addBackend(db.getAccessString()); } } reopened = true; } catch (const std::exception& ex) { - LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_FAILED4) - .arg(ex.what()); + LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_FAILED4).arg(ex.what()); } if (reopened) { @@ -658,7 +648,7 @@ public: if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_FAILED4) - .arg(db_reconnect_ctl->maxRetries()); + .arg(db_reconnect_ctl->maxRetries()); // Cancel the timer. if (TimerMgr::instance()->isTimerRegistered(timer_name)) { @@ -672,30 +662,29 @@ public: } LOG_INFO(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4) - .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->retryInterval()); + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); // Start the timer. if (!TimerMgr::instance()->isTimerRegistered(timer_name)) { - TimerMgr::instance()->registerTimer(timer_name, + TimerMgr::instance()->registerTimer( + timer_name, std::bind(&PgSqlConfigBackendDHCPv4Impl::dbReconnect, db_reconnect_ctl), - db_reconnect_ctl->retryInterval(), - asiolink::IntervalTimer::ONE_SHOT); + db_reconnect_ctl->retryInterval(), asiolink::IntervalTimer::ONE_SHOT); } TimerMgr::instance()->setup(timer_name); } return (true); } - }; namespace { /// @brief Array of tagged statements. typedef std::array -PgSqlTaggedStatementArray; + PgSqlTaggedStatementArray; /// @brief Prepared Postgres statements used by the backend to insert and /// retrieve data from the database. @@ -1273,15 +1262,15 @@ PgSqlTaggedStatementArray tagged_statements = { { }; #endif -}; // end anonymous namespace +}; // end anonymous namespace -PgSqlConfigBackendDHCPv4Impl::PgSqlConfigBackendDHCPv4Impl(const DatabaseConnection::ParameterMap& parameters) +PgSqlConfigBackendDHCPv4Impl::PgSqlConfigBackendDHCPv4Impl( + const DatabaseConnection::ParameterMap& parameters) : PgSqlConfigBackendImpl(parameters, &PgSqlConfigBackendDHCPv4Impl::dbReconnect) { // Prepare query statements. Those are will be only used to retrieve // information from the database, so they can be used even if the // database is read only for the current user. - conn_.prepareStatements(tagged_statements.begin(), - tagged_statements.end()); + conn_.prepareStatements(tagged_statements.begin(), tagged_statements.end()); // Create unique timer name per instance. timer_name_ = "PgSqlConfigBackend4["; @@ -1295,7 +1284,8 @@ PgSqlConfigBackendDHCPv4Impl::PgSqlConfigBackendDHCPv4Impl(const DatabaseConnect PgSqlConfigBackendDHCPv4Impl::~PgSqlConfigBackendDHCPv4Impl() { } -PgSqlConfigBackendDHCPv4::PgSqlConfigBackendDHCPv4(const DatabaseConnection::ParameterMap& parameters) +PgSqlConfigBackendDHCPv4::PgSqlConfigBackendDHCPv4( + const DatabaseConnection::ParameterMap& parameters) : impl_(new PgSqlConfigBackendDHCPv4Impl(parameters)), base_impl_(impl_) { } @@ -1315,8 +1305,7 @@ PgSqlConfigBackendDHCPv4::getSubnet4(const ServerSelector& server_selector, Subnet4Ptr PgSqlConfigBackendDHCPv4::getSubnet4(const ServerSelector& server_selector, const SubnetID& subnet_id) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SUBNET4_BY_SUBNET_ID) - .arg(subnet_id); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SUBNET4_BY_SUBNET_ID).arg(subnet_id); return (impl_->getSubnet4(server_selector, subnet_id)); } @@ -1331,8 +1320,9 @@ PgSqlConfigBackendDHCPv4::getAllSubnets4(const ServerSelector& server_selector) } Subnet4Collection -PgSqlConfigBackendDHCPv4::getModifiedSubnets4(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedSubnets4( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_SUBNETS4) .arg(util::ptimeToText(modification_time)); Subnet4Collection subnets; @@ -1357,8 +1347,7 @@ PgSqlConfigBackendDHCPv4::getSharedNetworkSubnets4(const ServerSelector& /* serv SharedNetwork4Ptr PgSqlConfigBackendDHCPv4::getSharedNetwork4(const ServerSelector& server_selector, const std::string& name) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SHARED_NETWORK4) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SHARED_NETWORK4).arg(name); return (impl_->getSharedNetwork4(server_selector, name)); } @@ -1373,8 +1362,9 @@ PgSqlConfigBackendDHCPv4::getAllSharedNetworks4(const ServerSelector& server_sel } SharedNetwork4Collection -PgSqlConfigBackendDHCPv4::getModifiedSharedNetworks4(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedSharedNetworks4( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_SHARED_NETWORKS4) .arg(util::ptimeToText(modification_time)); SharedNetwork4Collection shared_networks; @@ -1388,8 +1378,7 @@ OptionDefinitionPtr PgSqlConfigBackendDHCPv4::getOptionDef4(const ServerSelector& server_selector, const uint16_t code, const std::string& space) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION_DEF4) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION_DEF4).arg(code).arg(space); return (impl_->getOptionDef(PgSqlConfigBackendDHCPv4Impl::GET_OPTION_DEF4_CODE_SPACE, server_selector, code, space)); } @@ -1398,16 +1387,17 @@ OptionDefContainer PgSqlConfigBackendDHCPv4::getAllOptionDefs4(const ServerSelector& server_selector) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTION_DEFS4); OptionDefContainer option_defs; - impl_->getAllOptionDefs(PgSqlConfigBackendDHCPv4Impl::GET_ALL_OPTION_DEFS4, - server_selector, option_defs); + impl_->getAllOptionDefs(PgSqlConfigBackendDHCPv4Impl::GET_ALL_OPTION_DEFS4, server_selector, + option_defs); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTION_DEFS4_RESULT) .arg(option_defs.size()); return (option_defs); } OptionDefContainer -PgSqlConfigBackendDHCPv4::getModifiedOptionDefs4(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedOptionDefs4( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTION_DEFS4) .arg(util::ptimeToText(modification_time)); OptionDefContainer option_defs; @@ -1422,29 +1412,30 @@ OptionDescriptorPtr PgSqlConfigBackendDHCPv4::getOption4(const ServerSelector& server_selector, const uint16_t code, const std::string& space) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION4) - .arg(code).arg(space); - return (impl_->getOption(PgSqlConfigBackendDHCPv4Impl::GET_OPTION4_CODE_SPACE, - Option::V4, server_selector, code, space)); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION4).arg(code).arg(space); + return (impl_->getOption(PgSqlConfigBackendDHCPv4Impl::GET_OPTION4_CODE_SPACE, Option::V4, + server_selector, code, space)); } OptionContainer PgSqlConfigBackendDHCPv4::getAllOptions4(const ServerSelector& server_selector) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTIONS4); OptionContainer options = impl_->getAllOptions(PgSqlConfigBackendDHCPv4Impl::GET_ALL_OPTIONS4, - Option::V4, server_selector); + Option::V4, server_selector); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTIONS4_RESULT) .arg(options.size()); return (options); } OptionContainer -PgSqlConfigBackendDHCPv4::getModifiedOptions4(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedOptions4( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTIONS4) .arg(util::ptimeToText(modification_time)); - OptionContainer options = impl_->getModifiedOptions(PgSqlConfigBackendDHCPv4Impl::GET_MODIFIED_OPTIONS4, - Option::V4, server_selector, modification_time); + OptionContainer options = + impl_->getModifiedOptions(PgSqlConfigBackendDHCPv4Impl::GET_MODIFIED_OPTIONS4, Option::V4, + server_selector, modification_time); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTIONS4_RESULT) .arg(options.size()); return (options); @@ -1453,8 +1444,7 @@ PgSqlConfigBackendDHCPv4::getModifiedOptions4(const ServerSelector& server_selec StampedValuePtr PgSqlConfigBackendDHCPv4::getGlobalParameter4(const ServerSelector& server_selector, const std::string& name) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_GLOBAL_PARAMETER4) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_GLOBAL_PARAMETER4).arg(name); return (impl_->getGlobalParameter4(server_selector, name)); } @@ -1464,22 +1454,23 @@ PgSqlConfigBackendDHCPv4::getAllGlobalParameters4(const ServerSelector& server_s } StampedValueCollection -PgSqlConfigBackendDHCPv4::getModifiedGlobalParameters4(const db::ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedGlobalParameters4( + const db::ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { isc_throw(NotImplemented, "Not implemented yet."); } AuditEntryCollection PgSqlConfigBackendDHCPv4::getRecentAuditEntries(const db::ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time, - const uint64_t& modification_id) const { + const boost::posix_time::ptime& modification_time, + const uint64_t& modification_id) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_RECENT_AUDIT_ENTRIES4) - .arg(util::ptimeToText(modification_time)) - .arg(modification_id); + .arg(util::ptimeToText(modification_time)) + .arg(modification_id); AuditEntryCollection audit_entries; impl_->getRecentAuditEntries(PgSqlConfigBackendDHCPv4Impl::GET_AUDIT_ENTRIES4_TIME, - server_selector, modification_time, - modification_id, audit_entries); + server_selector, modification_time, modification_id, + audit_entries); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_RECENT_AUDIT_ENTRIES4_RESULT) .arg(audit_entries.size()); return (audit_entries); @@ -1490,8 +1481,7 @@ PgSqlConfigBackendDHCPv4::getAllServers4() const { ServerCollection servers; LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_SERVERS4); - impl_->getAllServers(PgSqlConfigBackendDHCPv4Impl::GET_ALL_SERVERS4, - servers); + impl_->getAllServers(PgSqlConfigBackendDHCPv4Impl::GET_ALL_SERVERS4, servers); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_SERVERS4_RESULT) .arg(servers.size()); @@ -1500,16 +1490,14 @@ PgSqlConfigBackendDHCPv4::getAllServers4() const { ServerPtr PgSqlConfigBackendDHCPv4::getServer4(const data::ServerTag& server_tag) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SERVER4) - .arg(server_tag.get()); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SERVER4).arg(server_tag.get()); return (impl_->getServer(PgSqlConfigBackendDHCPv4Impl::GET_SERVER4, server_tag)); } void PgSqlConfigBackendDHCPv4::createUpdateSubnet4(const ServerSelector& server_selector, const Subnet4Ptr& subnet) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_SUBNET4) - .arg(subnet); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_SUBNET4).arg(subnet); impl_->createUpdateSubnet4(server_selector, subnet); } @@ -1525,7 +1513,8 @@ void PgSqlConfigBackendDHCPv4::createUpdateOptionDef4(const ServerSelector& server_selector, const OptionDefinitionPtr& option_def) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_OPTION_DEF4) - .arg(option_def->getName()).arg(option_def->getCode()); + .arg(option_def->getName()) + .arg(option_def->getCode()); impl_->createUpdateOptionDef4(server_selector, option_def); } @@ -1560,9 +1549,9 @@ PgSqlConfigBackendDHCPv4::createUpdateOption4(const ServerSelector& server_selec const asiolink::IOAddress& pool_end_address, const OptionDescriptorPtr& option) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_BY_POOL_OPTION4) - .arg(pool_start_address.toText()).arg(pool_end_address.toText()); - impl_->createUpdateOption4(server_selector, pool_start_address, pool_end_address, - option); + .arg(pool_start_address.toText()) + .arg(pool_end_address.toText()); + impl_->createUpdateOption4(server_selector, pool_start_address, pool_end_address, option); } void @@ -1579,8 +1568,7 @@ PgSqlConfigBackendDHCPv4::createUpdateServer4(const ServerPtr& server) { .arg(server->getServerTagAsText()); impl_->createUpdateServer(PgSqlConfigBackendDHCPv4Impl::CREATE_AUDIT_REVISION, PgSqlConfigBackendDHCPv4Impl::INSERT_SERVER4, - PgSqlConfigBackendDHCPv4Impl::UPDATE_SERVER4, - server); + PgSqlConfigBackendDHCPv4Impl::UPDATE_SERVER4, server); } uint64_t @@ -1610,12 +1598,11 @@ PgSqlConfigBackendDHCPv4::deleteAllSubnets4(const ServerSelector& server_selecto LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS4); int index = (server_selector.amUnassigned() ? - PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4_UNASSIGNED : - PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4); + PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4_UNASSIGNED : + PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4); uint64_t result = impl_->deleteTransactional(index, server_selector, "deleting all subnets", "deleted all subnets", true); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS4_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS4_RESULT).arg(result); return (result); } @@ -1624,15 +1611,14 @@ PgSqlConfigBackendDHCPv4::deleteSharedNetworkSubnets4(const db::ServerSelector& const std::string& shared_network_name) { if (!server_selector.amAny()) { isc_throw(InvalidOperation, "deleting all subnets from a shared " - "network requires using ANY server selector"); + "network requires using ANY server selector"); } LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_SUBNETS4) .arg(shared_network_name); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4_SHARED_NETWORK_NAME, - server_selector, - "deleting all subnets for a shared network", - "deleted all subnets for a shared network", - true, shared_network_name); + uint64_t result = impl_->deleteTransactional( + PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4_SHARED_NETWORK_NAME, server_selector, + "deleting all subnets for a shared network", "deleted all subnets for a shared network", + true, shared_network_name); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_SUBNETS4_RESULT) .arg(result); return (result); @@ -1645,17 +1631,17 @@ PgSqlConfigBackendDHCPv4::deleteSharedNetwork4(const ServerSelector& server_sele /// dedicated query for this at the moment. The user should use ANY to delete /// the shared network by name. if (server_selector.amUnassigned()) { - isc_throw(NotImplemented, "deleting an unassigned shared network requires " + isc_throw(NotImplemented, + "deleting an unassigned shared network requires " "an explicit server tag or using ANY server. The UNASSIGNED server " "selector is currently not supported"); } - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK4) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK4).arg(name); int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME_ANY : - PgSqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME_WITH_TAG); + PgSqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME_ANY : + PgSqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME_WITH_TAG); uint64_t result = impl_->deleteTransactional(index, server_selector, "deleting a shared network", "shared network deleted", true, name); @@ -1668,15 +1654,16 @@ uint64_t PgSqlConfigBackendDHCPv4::deleteAllSharedNetworks4(const ServerSelector& server_selector) { if (server_selector.amAny()) { isc_throw(InvalidOperation, "deleting all shared networks for ANY server is not" - " supported"); + " supported"); } LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SHARED_NETWORKS4); int index = (server_selector.amUnassigned() ? - PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4_UNASSIGNED : - PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4); - uint64_t result = impl_->deleteTransactional(index, server_selector, "deleting all shared networks", + PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4_UNASSIGNED : + PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4); + uint64_t result = impl_->deleteTransactional(index, server_selector, + "deleting all shared networks", "deleted all shared networks", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SHARED_NETWORKS4_RESULT) .arg(result); @@ -1687,20 +1674,19 @@ uint64_t PgSqlConfigBackendDHCPv4::deleteOptionDef4(const ServerSelector& server_selector, const uint16_t code, const std::string& space) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF4) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF4).arg(code).arg(space); uint64_t result = impl_->deleteOptionDef4(server_selector, code, space); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF4_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF4_RESULT).arg(result); return (result); } uint64_t PgSqlConfigBackendDHCPv4::deleteAllOptionDefs4(const ServerSelector& server_selector) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_OPTION_DEFS4); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_OPTION_DEFS4, - server_selector, "deleting all option definitions", - "deleted all option definitions", true); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_OPTION_DEFS4, + server_selector, "deleting all option definitions", + "deleted all option definitions", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_OPTION_DEFS4_RESULT) .arg(result); return (result); @@ -1710,11 +1696,9 @@ uint64_t PgSqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& server_selector, const uint16_t code, const std::string& space) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION4) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION4).arg(code).arg(space); uint64_t result = impl_->deleteOption4(server_selector, code, space); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION4_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION4_RESULT).arg(result); return (result); } @@ -1727,9 +1711,10 @@ PgSqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_OPTION4) - .arg(shared_network_name).arg(code).arg(space); - uint64_t result = impl_->deleteOption4(ServerSelector::ANY(), shared_network_name, - code, space); + .arg(shared_network_name) + .arg(code) + .arg(space); + uint64_t result = impl_->deleteOption4(ServerSelector::ANY(), shared_network_name, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_OPTION4_RESULT) .arg(result); return (result); @@ -1744,7 +1729,9 @@ PgSqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_SUBNET_ID_OPTION4) - .arg(subnet_id).arg(code).arg(space); + .arg(subnet_id) + .arg(code) + .arg(space); uint64_t result = impl_->deleteOption4(ServerSelector::ANY(), subnet_id, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_SUBNET_ID_OPTION4_RESULT) .arg(result); @@ -1761,7 +1748,10 @@ PgSqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_OPTION4) - .arg(pool_start_address.toText()).arg(pool_end_address.toText()).arg(code).arg(space); + .arg(pool_start_address.toText()) + .arg(pool_end_address.toText()) + .arg(code) + .arg(space); uint64_t result = impl_->deleteOption4(ServerSelector::ANY(), pool_start_address, pool_end_address, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_OPTION4_RESULT) @@ -1772,11 +1762,11 @@ PgSqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector uint64_t PgSqlConfigBackendDHCPv4::deleteGlobalParameter4(const ServerSelector& server_selector, const std::string& name) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER4) - .arg(name); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_GLOBAL_PARAMETER4, - server_selector, "deleting global parameter", - "global parameter deleted", false, name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER4).arg(name); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_GLOBAL_PARAMETER4, + server_selector, "deleting global parameter", + "global parameter deleted", false, name); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER4_RESULT) .arg(result); return (result); @@ -1785,9 +1775,10 @@ PgSqlConfigBackendDHCPv4::deleteGlobalParameter4(const ServerSelector& server_se uint64_t PgSqlConfigBackendDHCPv4::deleteAllGlobalParameters4(const ServerSelector& server_selector) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_GLOBAL_PARAMETERS4); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_GLOBAL_PARAMETERS4, - server_selector, "deleting all global parameters", - "all global parameters deleted", true); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv4Impl::DELETE_ALL_GLOBAL_PARAMETERS4, + server_selector, "deleting all global parameters", + "all global parameters deleted", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_GLOBAL_PARAMETERS4_RESULT) .arg(result); return (result); @@ -1795,11 +1786,9 @@ PgSqlConfigBackendDHCPv4::deleteAllGlobalParameters4(const ServerSelector& serve uint64_t PgSqlConfigBackendDHCPv4::deleteServer4(const ServerTag& server_tag) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER4) - .arg(server_tag.get()); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER4).arg(server_tag.get()); uint64_t result = impl_->deleteServer4(server_tag); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER4_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER4_RESULT).arg(result); return (result); } @@ -1807,8 +1796,7 @@ uint64_t PgSqlConfigBackendDHCPv4::deleteAllServers4() { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS4); uint64_t result = impl_->deleteAllServers4(); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS4_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS4_RESULT).arg(result); return (result); } @@ -1833,13 +1821,12 @@ PgSqlConfigBackendDHCPv4::getPort() const { bool PgSqlConfigBackendDHCPv4::registerBackendType() { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_REGISTER_BACKEND_TYPE4); - return ( - dhcp::ConfigBackendDHCPv4Mgr::instance().registerBackendFactory("pgsql", - [](const db::DatabaseConnection::ParameterMap& params) -> dhcp::ConfigBackendDHCPv4Ptr { + return (dhcp::ConfigBackendDHCPv4Mgr::instance().registerBackendFactory( + "pgsql", + [](const db::DatabaseConnection::ParameterMap& params) -> dhcp::ConfigBackendDHCPv4Ptr { // Many virtual function still missing return (dhcp::PgSqlConfigBackendDHCPv4Ptr(new dhcp::PgSqlConfigBackendDHCPv4(params))); - }) - ); + })); } void @@ -1850,8 +1837,8 @@ PgSqlConfigBackendDHCPv4::unregisterBackendType() { void PgSqlConfigBackendDHCPv4::createUpdateClientClass4(const db::ServerSelector& server_selector, - const ClientClassDefPtr& client_class, - const std::string& follow_class_name) { + const ClientClassDefPtr& client_class, + const std::string& follow_class_name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -1867,14 +1854,14 @@ PgSqlConfigBackendDHCPv4::getAllClientClasses4(const db::ServerSelector& selecto } ClientClassDictionary -PgSqlConfigBackendDHCPv4::getModifiedClientClasses4(const db::ServerSelector& selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv4::getModifiedClientClasses4( + const db::ServerSelector& selector, const boost::posix_time::ptime& modification_time) const { isc_throw(NotImplemented, "Not implemented yet."); } uint64_t PgSqlConfigBackendDHCPv4::deleteClientClass4(const db::ServerSelector& server_selector, - const std::string& name) { + const std::string& name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -1883,6 +1870,5 @@ PgSqlConfigBackendDHCPv4::deleteAllClientClasses4(const db::ServerSelector& serv isc_throw(NotImplemented, "Not implemented yet."); } - -} // end of namespace isc::dhcp -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.h b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.h index 8be71ac6b2..65a2c063d8 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.h +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.h @@ -7,12 +7,14 @@ #ifndef PGSQL_CONFIG_BACKEND_DHCP4_H #define PGSQL_CONFIG_BACKEND_DHCP4_H -#include #include #include -#include + #include +#include +#include + namespace isc { namespace dhcp { @@ -30,7 +32,6 @@ class PgSqlConfigBackendDHCPv4Impl; /// the methods throw @c isc::NotImplemented exception. class PgSqlConfigBackendDHCPv4 : public ConfigBackendDHCPv4 { public: - /// @brief Constructor. /// /// @param parameters A data structure relating keywords and values @@ -43,8 +44,7 @@ public: /// @param subnet_prefix Prefix of the subnet to be retrieved. /// @return Pointer to the retrieved subnet or NULL if not found. virtual Subnet4Ptr - getSubnet4(const db::ServerSelector& server_selector, - const std::string& subnet_prefix) const; + getSubnet4(const db::ServerSelector& server_selector, const std::string& subnet_prefix) const; /// @brief Retrieves a single subnet by subnet identifier. /// @@ -58,8 +58,7 @@ public: /// /// @param server_selector Server selector. /// @return Collection of subnets or empty collection if no subnet found. - virtual Subnet4Collection - getAllSubnets4(const db::ServerSelector& server_selector) const; + virtual Subnet4Collection getAllSubnets4(const db::ServerSelector& server_selector) const; /// @brief Retrieves subnets modified after specified time. /// @@ -91,8 +90,7 @@ public: /// @return Pointer to the shared network or NULL if not found. /// @throw NotImplemented if server selector is "unassigned". virtual SharedNetwork4Ptr - getSharedNetwork4(const db::ServerSelector& server_selector, - const std::string& name) const; + getSharedNetwork4(const db::ServerSelector& server_selector, const std::string& name) const; /// @brief Retrieves all shared networks. /// @@ -119,17 +117,16 @@ public: /// @param space Option space of the option to be retrieved. /// @return Pointer to the option definition or NULL if not found. /// @throw NotImplemented if server selector is "unassigned". - virtual OptionDefinitionPtr - getOptionDef4(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space) const; + virtual OptionDefinitionPtr getOptionDef4(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space) const; /// @brief Retrieves all option definitions. /// /// @param server_selector Server selector. /// @return Collection of option definitions or empty collection if /// no option definition found. - virtual OptionDefContainer - getAllOptionDefs4(const db::ServerSelector& server_selector) const; + virtual OptionDefContainer getAllOptionDefs4(const db::ServerSelector& server_selector) const; /// @brief Retrieves option definitions modified after specified time. /// @@ -148,17 +145,16 @@ public: /// @return Pointer to the retrieved option descriptor or null if /// no option was found. /// @throw NotImplemented if server selector is "unassigned". - virtual OptionDescriptorPtr - getOption4(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space) const; + virtual OptionDescriptorPtr getOption4(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space) const; /// @brief Retrieves all global options. /// /// @param server_selector Server selector. /// @return Collection of global options or empty collection if no /// option found. - virtual OptionContainer - getAllOptions4(const db::ServerSelector& server_selector) const; + virtual OptionContainer getAllOptions4(const db::ServerSelector& server_selector) const; /// @brief Retrieves option modified after specified time. /// @@ -181,8 +177,7 @@ public: /// @return Value of the global parameter. /// @throw NotImplemented if server selector is "unassigned". virtual data::StampedValuePtr - getGlobalParameter4(const db::ServerSelector& server_selector, - const std::string& name) const; + getGlobalParameter4(const db::ServerSelector& server_selector, const std::string& name) const; /// @brief Retrieves all global parameters. /// @@ -245,16 +240,14 @@ public: /// 'all'. /// /// @return Collection of servers from the backend. - virtual db::ServerCollection - getAllServers4() const; + virtual db::ServerCollection getAllServers4() const; /// @brief Retrieves a server. /// /// @param server_tag Tag of the server to be retrieved. /// @return Pointer to the server instance or null pointer if no server /// with the particular tag was found. - virtual db::ServerPtr - getServer4(const data::ServerTag& server_tag) const; + virtual db::ServerPtr getServer4(const data::ServerTag& server_tag) const; /// @brief Creates or updates a subnet. /// @@ -262,35 +255,31 @@ public: /// @param subnet Subnet to be added or updated. /// @throw NotImplemented if server selector is "unassigned". virtual void - createUpdateSubnet4(const db::ServerSelector& server_selector, - const Subnet4Ptr& subnet); + createUpdateSubnet4(const db::ServerSelector& server_selector, const Subnet4Ptr& subnet); /// @brief Creates or updates a shared network. /// /// @param server_selector Server selector. /// @param shared_network Shared network to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateSharedNetwork4(const db::ServerSelector& server_selector, - const SharedNetwork4Ptr& shared_network); + virtual void createUpdateSharedNetwork4(const db::ServerSelector& server_selector, + const SharedNetwork4Ptr& shared_network); /// @brief Creates or updates an option definition. /// /// @param server_selector Server selector. /// @param option_def Option definition to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOptionDef4(const db::ServerSelector& server_selector, - const OptionDefinitionPtr& option_def); + virtual void createUpdateOptionDef4(const db::ServerSelector& server_selector, + const OptionDefinitionPtr& option_def); /// @brief Creates or updates global option. /// /// @param server_selector Server selector. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption4(const db::ServerSelector& server_selector, - const OptionDescriptorPtr& option); + virtual void createUpdateOption4(const db::ServerSelector& server_selector, + const OptionDescriptorPtr& option); /// @brief Creates or updates shared network level option. /// @@ -299,10 +288,9 @@ public: /// belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption4(const db::ServerSelector& server_selector, - const std::string& shared_network_name, - const OptionDescriptorPtr& option); + virtual void createUpdateOption4(const db::ServerSelector& server_selector, + const std::string& shared_network_name, + const OptionDescriptorPtr& option); /// @brief Creates or updates subnet level option. /// @@ -310,10 +298,9 @@ public: /// @param subnet_id Identifier of a subnet to which option belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption4(const db::ServerSelector& server_selector, - const SubnetID& subnet_id, - const OptionDescriptorPtr& option); + virtual void createUpdateOption4(const db::ServerSelector& server_selector, + const SubnetID& subnet_id, + const OptionDescriptorPtr& option); /// @brief Creates or updates pool level option. /// @@ -324,11 +311,10 @@ public: /// option belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption4(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pool_start_address, - const asiolink::IOAddress& pool_end_address, - const OptionDescriptorPtr& option); + virtual void createUpdateOption4(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pool_start_address, + const asiolink::IOAddress& pool_end_address, + const OptionDescriptorPtr& option); /// @brief Creates or updates global parameter. /// @@ -336,17 +322,15 @@ public: /// @param name Name of the global parameter. /// @param value Value of the global parameter. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateGlobalParameter4(const db::ServerSelector& server_selector, - const data::StampedValuePtr& value); + virtual void createUpdateGlobalParameter4(const db::ServerSelector& server_selector, + const data::StampedValuePtr& value); /// @brief Creates or updates a server. /// /// @param server Instance of the server to be stored. /// @throw InvalidOperation when trying to create a duplicate or /// update the logical server 'all'. - virtual void - createUpdateServer4(const db::ServerPtr& server); + virtual void createUpdateServer4(const db::ServerPtr& server); /// @brief Creates or updates DHCPv4 client class. /// @@ -356,10 +340,9 @@ public: /// new or updated class should be positioned. An empty value /// causes the class to be appended at the end of the class /// hierarchy. - virtual void - createUpdateClientClass4(const db::ServerSelector& server_selector, - const ClientClassDefPtr& client_class, - const std::string& follow_class_name); + virtual void createUpdateClientClass4(const db::ServerSelector& server_selector, + const ClientClassDefPtr& client_class, + const std::string& follow_class_name); /// @brief Deletes subnet by prefix. /// @@ -368,8 +351,7 @@ public: /// @return Number of deleted subnets. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteSubnet4(const db::ServerSelector& server_selector, - const std::string& subnet_prefix); + deleteSubnet4(const db::ServerSelector& server_selector, const std::string& subnet_prefix); /// @brief Deletes subnet by identifier. /// @@ -385,8 +367,7 @@ public: /// @param server_selector Server selector. /// @return Number of deleted subnets. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllSubnets4(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllSubnets4(const db::ServerSelector& server_selector); /// @brief Deletes all subnets belonging to a specified shared network. /// @@ -394,9 +375,8 @@ public: /// @param shared_network_name Name of the shared network for which the /// subnets should be deleted. /// @return Number of deleted subnets. - virtual uint64_t - deleteSharedNetworkSubnets4(const db::ServerSelector& server_selector, - const std::string& shared_network_name); + virtual uint64_t deleteSharedNetworkSubnets4(const db::ServerSelector& server_selector, + const std::string& shared_network_name); /// @brief Deletes shared network by name. /// @@ -405,15 +385,13 @@ public: /// @return Number of deleted shared networks. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteSharedNetwork4(const db::ServerSelector& server_selector, - const std::string& name); + deleteSharedNetwork4(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all shared networks. /// /// @param server_selector Server selector. /// @return Number of deleted shared networks. - virtual uint64_t - deleteAllSharedNetworks4(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllSharedNetworks4(const db::ServerSelector& server_selector); /// @brief Deletes option definition. /// @@ -422,17 +400,16 @@ public: /// @param space Option space of the option to be deleted. /// @return Number of deleted option definitions. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOptionDef4(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space); + virtual uint64_t deleteOptionDef4(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space); /// @brief Deletes all option definitions. /// /// @param server_selector Server selector. /// @return Number of deleted option definitions. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllOptionDefs4(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllOptionDefs4(const db::ServerSelector& server_selector); /// @brief Deletes global option. /// @@ -441,9 +418,9 @@ public: /// @param space Option space of the option to be deleted. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption4(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption4(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space); /// @brief Deletes shared network level option. /// @@ -453,11 +430,10 @@ public: /// @param code Code of the deleted option. /// @param space Option space of the deleted option. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption4(const db::ServerSelector& server_selector, - const std::string& shared_network_name, - const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption4(const db::ServerSelector& server_selector, + const std::string& shared_network_name, + const uint16_t code, + const std::string& space); /// @brief Deletes subnet level option. /// @@ -468,9 +444,10 @@ public: /// @param space Option space of the deleted option. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption4(const db::ServerSelector& server_selector, const SubnetID& subnet_id, - const uint16_t code, const std::string& space); + virtual uint64_t deleteOption4(const db::ServerSelector& server_selector, + const SubnetID& subnet_id, + const uint16_t code, + const std::string& space); /// @brief Deletes pool level option. /// @@ -483,12 +460,11 @@ public: /// @param space Option space of the deleted option. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption4(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pool_start_address, - const asiolink::IOAddress& pool_end_address, - const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption4(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pool_start_address, + const asiolink::IOAddress& pool_end_address, + const uint16_t code, + const std::string& space); /// @brief Deletes global parameter. /// @@ -497,16 +473,14 @@ public: /// @return Number of deleted global parameters. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteGlobalParameter4(const db::ServerSelector& server_selector, - const std::string& name); + deleteGlobalParameter4(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all global parameters. /// /// @param server_selector Server selector. /// @return Number of deleted global parameters. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllGlobalParameters4(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllGlobalParameters4(const db::ServerSelector& server_selector); /// @brief Retrieves a client class by name. /// @@ -520,8 +494,7 @@ public: /// /// @param selector Server selector. /// @return Collection of client classes. - virtual ClientClassDictionary - getAllClientClasses4(const db::ServerSelector& selector) const; + virtual ClientClassDictionary getAllClientClasses4(const db::ServerSelector& selector) const; /// @brief Retrieves client classes modified after specified time. /// @@ -538,16 +511,13 @@ public: /// @param name Name of the class to be deleted. /// @return Number of deleted client classes. virtual uint64_t - deleteClientClass4(const db::ServerSelector& server_selector, - const std::string& name); + deleteClientClass4(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all client classes. /// /// @param server_selector Server selector. /// @return Number of deleted client classes. - virtual uint64_t - deleteAllClientClasses4(const db::ServerSelector& server_selector); - + virtual uint64_t deleteAllClientClasses4(const db::ServerSelector& server_selector); /// @brief Deletes a server from the backend. /// @@ -555,15 +525,13 @@ public: /// @return Number of deleted servers. /// @throw isc::InvalidOperation when trying to delete the logical /// server 'all'. - virtual uint64_t - deleteServer4(const data::ServerTag& server_tag); + virtual uint64_t deleteServer4(const data::ServerTag& server_tag); /// @brief Deletes all servers from the backend except the logical /// server 'all'. /// /// @return Number of deleted servers. - virtual uint64_t - deleteAllServers4(); + virtual uint64_t deleteAllServers4(); /// @brief Returns backend type in the textual format. /// @@ -604,10 +572,7 @@ public: /// otherwise virtual bool isUnusable(); - - protected: - /// @brief Pointer to the implementation of the @c PgSqlConfigBackendDHCPv4 /// class. boost::shared_ptr impl_; @@ -620,7 +585,7 @@ protected: /// @brief Pointer to the @c PgSqlConfigBackendDHCPv4 class. typedef boost::shared_ptr PgSqlConfigBackendDHCPv4Ptr; -} // end of namespace isc::cb -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc -#endif // PGSQL_CONFIG_BACKEND_DHCP4_H +#endif // PGSQL_CONFIG_BACKEND_DHCP4_H diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc index 4028b98213..f354932d36 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc @@ -6,9 +6,6 @@ #include -#include -#include -#include #include #include #include @@ -21,18 +18,23 @@ #include #include #include +#include #include #include -#include #include -#include -#include #include +#include +#include + #include #include #include #include + #include +#include +#include +#include #include #include #include @@ -50,7 +52,6 @@ namespace dhcp { /// @brief Implementation of the Postgres Configuration Backend. class PgSqlConfigBackendDHCPv6Impl : public PgSqlConfigBackendImpl { public: - /// @brief Statement tags. /// /// The contents of the enum are indexes into the list of SQL statements. @@ -158,8 +159,7 @@ public: /// /// @param parameters A data structure relating keywords and values /// concerned with the database. - explicit PgSqlConfigBackendDHCPv6Impl(const DatabaseConnection::ParameterMap& - parameters); + explicit PgSqlConfigBackendDHCPv6Impl(const DatabaseConnection::ParameterMap& parameters); /// @brief Destructor. ~PgSqlConfigBackendDHCPv6Impl(); @@ -171,8 +171,8 @@ public: /// /// @return Pointer to the retrieved value or null if such parameter /// doesn't exist. - StampedValuePtr getGlobalParameter6(const ServerSelector& server_selector, - const std::string& name) { + StampedValuePtr + getGlobalParameter6(const ServerSelector& server_selector, const std::string& name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -193,8 +193,7 @@ public: /// /// @return Pointer to the returned subnet or NULL if such subnet /// doesn't exist. - Subnet6Ptr getSubnet6(const ServerSelector& server_selector, - const SubnetID& subnet_id) { + Subnet6Ptr getSubnet6(const ServerSelector& server_selector, const SubnetID& subnet_id) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -207,8 +206,7 @@ public: /// /// @return Pointer to the returned subnet or NULL if such subnet /// doesn't exist. - Subnet6Ptr getSubnet6(const ServerSelector& server_selector, - const std::string& subnet_prefix) { + Subnet6Ptr getSubnet6(const ServerSelector& server_selector, const std::string& subnet_prefix) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -217,8 +215,7 @@ public: /// @param server_selector Server selector. /// @param [out] subnets Reference to the subnet collection structure where /// subnets should be inserted. - void getAllSubnets6(const ServerSelector& server_selector, - Subnet6Collection& subnets) { + void getAllSubnets6(const ServerSelector& server_selector, Subnet6Collection& subnets) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -260,8 +257,8 @@ public: /// will be inserted. /// @param [out] pool_ids Identifiers of the pools returned in @c pools /// argument. - /// @todo: add void getPools(const StatementIndex& index, const MySqlBindingCollection& in_bindings, - /// PoolCollection& pools, std::vector& pool_ids) { + /// @todo: add void getPools(const StatementIndex& index, const MySqlBindingCollection& + /// in_bindings, PoolCollection& pools, std::vector& pool_ids) { /// @brief Sends query to retrieve multiple pd pools. /// @@ -276,7 +273,8 @@ public: /// will be inserted. /// @param [out] pd_pool_ids Identifiers of the pd pools returned in /// @c pd_pools argument. - /// @todo add: void getPdPools(const StatementIndex& index, const MySqlBindingCollection& in_bindings, + /// @todo add: void getPdPools(const StatementIndex& index, const MySqlBindingCollection& + /// in_bindings, /// PoolCollection& pd_pools, std::vector& pd_pool_ids) { /// @brief Sends query to retrieve single pool by address range. @@ -311,8 +309,7 @@ public: /// /// @param server_selector Server selector. /// @param subnet Pointer to the subnet to be inserted or updated. - void createUpdateSubnet6(const ServerSelector& server_selector, - const Subnet6Ptr& subnet) { + void createUpdateSubnet6(const ServerSelector& server_selector, const Subnet6Ptr& subnet) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -321,7 +318,8 @@ public: /// @param server_selector Server selector. /// @param pool Pointer to the pool to be inserted. /// @param subnet Pointer to the subnet that this pool belongs to. - void createPool6(const ServerSelector& server_selector, const Pool6Ptr& pool, + void createPool6(const ServerSelector& server_selector, + const Pool6Ptr& pool, const Subnet6Ptr& subnet) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -355,7 +353,7 @@ public: /// @c deleteFromTable methods. /// /// @return Number of deleted entries. - template + template uint64_t deleteTransactional(const int index, const db::ServerSelector& server_selector, const std::string& operation, @@ -370,13 +368,11 @@ public: /// @param server_selector Server selector. /// @param subnet_id Identifier of the subnet to be deleted. /// @return Number of deleted subnets. - uint64_t deleteSubnet6(const ServerSelector& server_selector, - const SubnetID& subnet_id) { + uint64_t deleteSubnet6(const ServerSelector& server_selector, const SubnetID& subnet_id) { int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_ID_ANY : - PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_ID_WITH_TAG); - return (deleteTransactional(index, server_selector, - "deleting a subnet", "subnet deleted", + PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_ID_ANY : + PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_ID_WITH_TAG); + return (deleteTransactional(index, server_selector, "deleting a subnet", "subnet deleted", true, static_cast(subnet_id))); } @@ -385,13 +381,12 @@ public: /// @param server_selector Server selector. /// @param subnet_prefix Prefix of the subnet to be deleted. /// @return Number of deleted subnets. - uint64_t deleteSubnet6(const ServerSelector& server_selector, - const std::string& subnet_prefix) { + uint64_t + deleteSubnet6(const ServerSelector& server_selector, const std::string& subnet_prefix) { int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_PREFIX_ANY : - PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_PREFIX_WITH_TAG); - return (deleteTransactional(index, server_selector, - "deleting a subnet", "subnet deleted", + PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_PREFIX_ANY : + PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_PREFIX_WITH_TAG); + return (deleteTransactional(index, server_selector, "deleting a subnet", "subnet deleted", true, subnet_prefix)); } @@ -430,9 +425,9 @@ public: /// @param [out] shared_networks Reference to the container where fetched /// shared networks will be inserted. /// @todo: implement void getSharedNetworks6(const StatementIndex& index, -/// const ServerSelector& server_selector, -/// const MySqlBindingCollection& in_bindings, - ///SharedNetwork6Collection& shared_networks) { + /// const ServerSelector& server_selector, + /// const MySqlBindingCollection& in_bindings, + /// SharedNetwork6Collection& shared_networks) { /// @brief Sends query to retrieve single shared network by name. /// @@ -441,8 +436,8 @@ public: /// /// @return Pointer to the returned shared network or NULL if such shared /// network doesn't exist. - SharedNetwork6Ptr getSharedNetwork6(const ServerSelector& server_selector, - const std::string& name) { + SharedNetwork6Ptr + getSharedNetwork6(const ServerSelector& server_selector, const std::string& name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -477,7 +472,6 @@ public: isc_throw(NotImplemented, "Not implemented yet."); } - /// @brief Sends query to insert DHCP option. /// /// This method expects that the server selector contains exactly one @@ -492,8 +486,8 @@ public: /// /// @param server_selector Server selector. /// @param option Pointer to the option descriptor encapsulating the option. - void createUpdateOption6(const ServerSelector& server_selector, - const OptionDescriptorPtr& option) { + void + createUpdateOption6(const ServerSelector& server_selector, const OptionDescriptorPtr& option) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -522,19 +516,15 @@ public: const IOAddress& pool_end_address, const OptionDescriptorPtr& option) { uint64_t pool_id = 0; - Pool6Ptr pool = getPool6(server_selector, pool_start_address, pool_end_address, - pool_id); + Pool6Ptr pool = getPool6(server_selector, pool_start_address, pool_end_address, pool_id); if (!pool) { - isc_throw(BadValue, "no pool found for range of " - << pool_start_address << " : " - << pool_end_address); + isc_throw(BadValue, "no pool found for range of " << pool_start_address << " : " + << pool_end_address); } - createUpdateOption6(server_selector, Lease::TYPE_NA, - pool_id, option, false); + createUpdateOption6(server_selector, Lease::TYPE_NA, pool_id, option, false); } - /// @brief Sends query to insert or update DHCP option in a pd pool. /// /// @param server_selector Server selector. @@ -546,21 +536,17 @@ public: const uint8_t pd_pool_prefix_length, const OptionDescriptorPtr& option) { uint64_t pd_pool_id = 0; - Pool6Ptr pd_pool = getPdPool6(server_selector, - pd_pool_prefix, - pd_pool_prefix_length, + Pool6Ptr pd_pool = getPdPool6(server_selector, pd_pool_prefix, pd_pool_prefix_length, pd_pool_id); if (!pd_pool) { isc_throw(BadValue, "no prefix delegation pool found for prefix " - << "of " << pd_pool_prefix << "/" - << static_cast(pd_pool_prefix_length)); + << "of " << pd_pool_prefix << "/" + << static_cast(pd_pool_prefix_length)); } - createUpdateOption6(server_selector, Lease::TYPE_PD, - pd_pool_id, option, false); + createUpdateOption6(server_selector, Lease::TYPE_PD, pd_pool_id, option, false); } - /// @brief Sends query to insert or update DHCP option in an address /// or prefix delegation pool. /// @@ -702,8 +688,7 @@ public: /// @param subnet Pointer to the subnet for which options should be /// deleted. /// @return Number of deleted options. - uint64_t deleteOptions6(const ServerSelector& server_selector, - const Subnet6Ptr& subnet) { + uint64_t deleteOptions6(const ServerSelector& server_selector, const Subnet6Ptr& subnet) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -713,8 +698,8 @@ public: /// @param subnet Pointer to the subnet for which options should be /// deleted. /// @return Number of deleted options. - uint64_t deleteOptions6(const ServerSelector& server_selector, - const SharedNetwork6Ptr& shared_network) { + uint64_t + deleteOptions6(const ServerSelector& server_selector, const SharedNetwork6Ptr& shared_network) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -785,15 +770,15 @@ public: for (auto db : config_ctl->getConfigDatabases()) { const std::string& access = db.getAccessString(); auto parameters = db.getParameters(); - if (ConfigBackendDHCPv6Mgr::instance().delBackend(parameters["type"], access, true)) { + if (ConfigBackendDHCPv6Mgr::instance().delBackend(parameters["type"], access, + true)) { ConfigBackendDHCPv6Mgr::instance().addBackend(db.getAccessString()); } } reopened = true; } catch (const std::exception& ex) { - LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_FAILED6) - .arg(ex.what()); + LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_FAILED6).arg(ex.what()); } if (reopened) { @@ -810,7 +795,7 @@ public: if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. LOG_ERROR(pgsql_cb_logger, PGSQL_CB_RECONNECT_FAILED6) - .arg(db_reconnect_ctl->maxRetries()); + .arg(db_reconnect_ctl->maxRetries()); // Cancel the timer. if (TimerMgr::instance()->isTimerRegistered(timer_name)) { @@ -824,30 +809,29 @@ public: } LOG_INFO(pgsql_cb_logger, PGSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6) - .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->retryInterval()); + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); // Start the timer. if (!TimerMgr::instance()->isTimerRegistered(timer_name)) { - TimerMgr::instance()->registerTimer(timer_name, + TimerMgr::instance()->registerTimer( + timer_name, std::bind(&PgSqlConfigBackendDHCPv6Impl::dbReconnect, db_reconnect_ctl), - db_reconnect_ctl->retryInterval(), - asiolink::IntervalTimer::ONE_SHOT); + db_reconnect_ctl->retryInterval(), asiolink::IntervalTimer::ONE_SHOT); } TimerMgr::instance()->setup(timer_name); } return (true); } - }; namespace { /// @brief Array of tagged statements. typedef std::array -PgSqlTaggedStatementArray; + PgSqlTaggedStatementArray; /// @brief Prepared Postgres statements used by the backend to insert and /// retrieve data from the database. @@ -1455,16 +1439,16 @@ PgSqlTaggedStatementArray tagged_statements = { { }; #endif -}; // end anonymous namespace +}; // end anonymous namespace -PgSqlConfigBackendDHCPv6Impl::PgSqlConfigBackendDHCPv6Impl(const DatabaseConnection::ParameterMap& parameters) +PgSqlConfigBackendDHCPv6Impl::PgSqlConfigBackendDHCPv6Impl( + const DatabaseConnection::ParameterMap& parameters) : PgSqlConfigBackendImpl(parameters, &PgSqlConfigBackendDHCPv6Impl::dbReconnect) { // Prepare query statements. Those are will be only used to retrieve // information from the database, so they can be used even if the // database is read only for the current user. - conn_.prepareStatements(tagged_statements.begin(), - tagged_statements.end()); -// tagged_statements.begin() + WRITE_STMTS_BEGIN); + conn_.prepareStatements(tagged_statements.begin(), tagged_statements.end()); + // tagged_statements.begin() + WRITE_STMTS_BEGIN); // Create unique timer name per instance. timer_name_ = "PgSqlConfigBackend6["; @@ -1478,7 +1462,8 @@ PgSqlConfigBackendDHCPv6Impl::PgSqlConfigBackendDHCPv6Impl(const DatabaseConnect PgSqlConfigBackendDHCPv6Impl::~PgSqlConfigBackendDHCPv6Impl() { } -PgSqlConfigBackendDHCPv6::PgSqlConfigBackendDHCPv6(const DatabaseConnection::ParameterMap& parameters) +PgSqlConfigBackendDHCPv6::PgSqlConfigBackendDHCPv6( + const DatabaseConnection::ParameterMap& parameters) : impl_(new PgSqlConfigBackendDHCPv6Impl(parameters)), base_impl_(impl_) { } @@ -1498,8 +1483,7 @@ PgSqlConfigBackendDHCPv6::getSubnet6(const ServerSelector& server_selector, Subnet6Ptr PgSqlConfigBackendDHCPv6::getSubnet6(const ServerSelector& server_selector, const SubnetID& subnet_id) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SUBNET6_BY_SUBNET_ID) - .arg(subnet_id); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SUBNET6_BY_SUBNET_ID).arg(subnet_id); return (impl_->getSubnet6(server_selector, subnet_id)); } @@ -1514,8 +1498,9 @@ PgSqlConfigBackendDHCPv6::getAllSubnets6(const ServerSelector& server_selector) } Subnet6Collection -PgSqlConfigBackendDHCPv6::getModifiedSubnets6(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedSubnets6( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_SUBNETS6) .arg(util::ptimeToText(modification_time)); Subnet6Collection subnets; @@ -1540,8 +1525,7 @@ PgSqlConfigBackendDHCPv6::getSharedNetworkSubnets6(const ServerSelector& /* serv SharedNetwork6Ptr PgSqlConfigBackendDHCPv6::getSharedNetwork6(const ServerSelector& server_selector, const std::string& name) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SHARED_NETWORK6) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SHARED_NETWORK6).arg(name); return (impl_->getSharedNetwork6(server_selector, name)); } @@ -1556,8 +1540,9 @@ PgSqlConfigBackendDHCPv6::getAllSharedNetworks6(const ServerSelector& server_sel } SharedNetwork6Collection -PgSqlConfigBackendDHCPv6::getModifiedSharedNetworks6(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedSharedNetworks6( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_SHARED_NETWORKS6) .arg(util::ptimeToText(modification_time)); SharedNetwork6Collection shared_networks; @@ -1571,8 +1556,7 @@ OptionDefinitionPtr PgSqlConfigBackendDHCPv6::getOptionDef6(const ServerSelector& server_selector, const uint16_t code, const std::string& space) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION_DEF6) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION_DEF6).arg(code).arg(space); return (impl_->getOptionDef(PgSqlConfigBackendDHCPv6Impl::GET_OPTION_DEF6_CODE_SPACE, server_selector, code, space)); } @@ -1581,16 +1565,17 @@ OptionDefContainer PgSqlConfigBackendDHCPv6::getAllOptionDefs6(const ServerSelector& server_selector) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTION_DEFS6); OptionDefContainer option_defs; - impl_->getAllOptionDefs(PgSqlConfigBackendDHCPv6Impl::GET_ALL_OPTION_DEFS6, - server_selector, option_defs); + impl_->getAllOptionDefs(PgSqlConfigBackendDHCPv6Impl::GET_ALL_OPTION_DEFS6, server_selector, + option_defs); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTION_DEFS6_RESULT) .arg(option_defs.size()); return (option_defs); } OptionDefContainer -PgSqlConfigBackendDHCPv6::getModifiedOptionDefs6(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedOptionDefs6( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTION_DEFS6) .arg(util::ptimeToText(modification_time)); OptionDefContainer option_defs; @@ -1605,29 +1590,30 @@ OptionDescriptorPtr PgSqlConfigBackendDHCPv6::getOption6(const ServerSelector& server_selector, const uint16_t code, const std::string& space) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION6) - .arg(code).arg(space); - return (impl_->getOption(PgSqlConfigBackendDHCPv6Impl::GET_OPTION6_CODE_SPACE, - Option::V6, server_selector, code, space)); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_OPTION6).arg(code).arg(space); + return (impl_->getOption(PgSqlConfigBackendDHCPv6Impl::GET_OPTION6_CODE_SPACE, Option::V6, + server_selector, code, space)); } OptionContainer PgSqlConfigBackendDHCPv6::getAllOptions6(const ServerSelector& server_selector) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTIONS6); OptionContainer options = impl_->getAllOptions(PgSqlConfigBackendDHCPv6Impl::GET_ALL_OPTIONS6, - Option::V6, server_selector); + Option::V6, server_selector); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_OPTIONS6_RESULT) .arg(options.size()); return (options); } OptionContainer -PgSqlConfigBackendDHCPv6::getModifiedOptions6(const ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedOptions6( + const ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTIONS6) .arg(util::ptimeToText(modification_time)); - OptionContainer options = impl_->getModifiedOptions(PgSqlConfigBackendDHCPv6Impl::GET_MODIFIED_OPTIONS6, - Option::V6, server_selector, modification_time); + OptionContainer options = + impl_->getModifiedOptions(PgSqlConfigBackendDHCPv6Impl::GET_MODIFIED_OPTIONS6, Option::V6, + server_selector, modification_time); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_MODIFIED_OPTIONS6_RESULT) .arg(options.size()); return (options); @@ -1636,8 +1622,7 @@ PgSqlConfigBackendDHCPv6::getModifiedOptions6(const ServerSelector& server_selec StampedValuePtr PgSqlConfigBackendDHCPv6::getGlobalParameter6(const ServerSelector& server_selector, const std::string& name) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_GLOBAL_PARAMETER6) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_GLOBAL_PARAMETER6).arg(name); return (impl_->getGlobalParameter6(server_selector, name)); } @@ -1647,22 +1632,23 @@ PgSqlConfigBackendDHCPv6::getAllGlobalParameters6(const ServerSelector& server_s } StampedValueCollection -PgSqlConfigBackendDHCPv6::getModifiedGlobalParameters6(const db::ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedGlobalParameters6( + const db::ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time) const { isc_throw(NotImplemented, "Not implemented yet."); } AuditEntryCollection PgSqlConfigBackendDHCPv6::getRecentAuditEntries(const db::ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time, - const uint64_t& modification_id) const { + const boost::posix_time::ptime& modification_time, + const uint64_t& modification_id) const { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_RECENT_AUDIT_ENTRIES6) - .arg(util::ptimeToText(modification_time)) - .arg(modification_id); + .arg(util::ptimeToText(modification_time)) + .arg(modification_id); AuditEntryCollection audit_entries; impl_->getRecentAuditEntries(PgSqlConfigBackendDHCPv6Impl::GET_AUDIT_ENTRIES6_TIME, - server_selector, modification_time, - modification_id, audit_entries); + server_selector, modification_time, modification_id, + audit_entries); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_RECENT_AUDIT_ENTRIES6_RESULT) .arg(audit_entries.size()); return (audit_entries); @@ -1673,8 +1659,7 @@ PgSqlConfigBackendDHCPv6::getAllServers6() const { ServerCollection servers; LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_SERVERS6); - impl_->getAllServers(PgSqlConfigBackendDHCPv6Impl::GET_ALL_SERVERS6, - servers); + impl_->getAllServers(PgSqlConfigBackendDHCPv6Impl::GET_ALL_SERVERS6, servers); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_ALL_SERVERS6_RESULT) .arg(servers.size()); @@ -1683,16 +1668,14 @@ PgSqlConfigBackendDHCPv6::getAllServers6() const { ServerPtr PgSqlConfigBackendDHCPv6::getServer6(const data::ServerTag& server_tag) const { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SERVER6) - .arg(server_tag.get()); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_GET_SERVER6).arg(server_tag.get()); return (impl_->getServer(PgSqlConfigBackendDHCPv6Impl::GET_SERVER6, server_tag)); } void PgSqlConfigBackendDHCPv6::createUpdateSubnet6(const ServerSelector& server_selector, const Subnet6Ptr& subnet) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_SUBNET6) - .arg(subnet); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_SUBNET6).arg(subnet); impl_->createUpdateSubnet6(server_selector, subnet); } @@ -1708,7 +1691,8 @@ void PgSqlConfigBackendDHCPv6::createUpdateOptionDef6(const ServerSelector& server_selector, const OptionDefinitionPtr& option_def) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_OPTION_DEF6) - .arg(option_def->getName()).arg(option_def->getCode()); + .arg(option_def->getName()) + .arg(option_def->getCode()); impl_->createUpdateOptionDef6(server_selector, option_def); } @@ -1743,9 +1727,9 @@ PgSqlConfigBackendDHCPv6::createUpdateOption6(const ServerSelector& server_selec const asiolink::IOAddress& pool_end_address, const OptionDescriptorPtr& option) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_BY_POOL_OPTION6) - .arg(pool_start_address.toText()).arg(pool_end_address.toText()); - impl_->createUpdateOption6(server_selector, pool_start_address, pool_end_address, - option); + .arg(pool_start_address.toText()) + .arg(pool_end_address.toText()); + impl_->createUpdateOption6(server_selector, pool_start_address, pool_end_address, option); } void @@ -1754,9 +1738,9 @@ PgSqlConfigBackendDHCPv6::createUpdateOption6(const ServerSelector& server_selec const uint8_t pd_pool_prefix_length, const OptionDescriptorPtr& option) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_CREATE_UPDATE_BY_PREFIX_OPTION6) - .arg(pd_pool_prefix.toText()).arg(pd_pool_prefix_length); - impl_->createUpdateOption6(server_selector, pd_pool_prefix, - pd_pool_prefix_length, option); + .arg(pd_pool_prefix.toText()) + .arg(pd_pool_prefix_length); + impl_->createUpdateOption6(server_selector, pd_pool_prefix, pd_pool_prefix_length, option); } void @@ -1773,8 +1757,7 @@ PgSqlConfigBackendDHCPv6::createUpdateServer6(const ServerPtr& server) { .arg(server->getServerTagAsText()); impl_->createUpdateServer(PgSqlConfigBackendDHCPv6Impl::CREATE_AUDIT_REVISION, PgSqlConfigBackendDHCPv6Impl::INSERT_SERVER6, - PgSqlConfigBackendDHCPv6Impl::UPDATE_SERVER6, - server); + PgSqlConfigBackendDHCPv6Impl::UPDATE_SERVER6, server); } uint64_t @@ -1804,12 +1787,11 @@ PgSqlConfigBackendDHCPv6::deleteAllSubnets6(const ServerSelector& server_selecto LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS6); int index = (server_selector.amUnassigned() ? - PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6_UNASSIGNED : - PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6); + PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6_UNASSIGNED : + PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6); uint64_t result = impl_->deleteTransactional(index, server_selector, "deleting all subnets", "deleted all subnets", true); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS6_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SUBNETS6_RESULT).arg(result); return (result); } @@ -1818,15 +1800,14 @@ PgSqlConfigBackendDHCPv6::deleteSharedNetworkSubnets6(const db::ServerSelector& const std::string& shared_network_name) { if (!server_selector.amAny()) { isc_throw(InvalidOperation, "deleting all subnets from a shared " - "network requires using ANY server selector"); + "network requires using ANY server selector"); } LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_SUBNETS6) .arg(shared_network_name); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6_SHARED_NETWORK_NAME, - server_selector, - "deleting all subnets for a shared network", - "deleted all subnets for a shared network", - true, shared_network_name); + uint64_t result = impl_->deleteTransactional( + PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SUBNETS6_SHARED_NETWORK_NAME, server_selector, + "deleting all subnets for a shared network", "deleted all subnets for a shared network", + true, shared_network_name); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_SUBNETS6_RESULT) .arg(result); return (result); @@ -1835,11 +1816,10 @@ PgSqlConfigBackendDHCPv6::deleteSharedNetworkSubnets6(const db::ServerSelector& uint64_t PgSqlConfigBackendDHCPv6::deleteSharedNetwork6(const ServerSelector& server_selector, const std::string& name) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK6) - .arg(name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK6).arg(name); int index = (server_selector.amAny() ? - PgSqlConfigBackendDHCPv6Impl::DELETE_SHARED_NETWORK6_NAME_ANY : - PgSqlConfigBackendDHCPv6Impl::DELETE_SHARED_NETWORK6_NAME_WITH_TAG); + PgSqlConfigBackendDHCPv6Impl::DELETE_SHARED_NETWORK6_NAME_ANY : + PgSqlConfigBackendDHCPv6Impl::DELETE_SHARED_NETWORK6_NAME_WITH_TAG); uint64_t result = impl_->deleteTransactional(index, server_selector, "deleting a shared network", "shared network deleted", true, name); @@ -1852,16 +1832,16 @@ uint64_t PgSqlConfigBackendDHCPv6::deleteAllSharedNetworks6(const ServerSelector& server_selector) { if (server_selector.amAny()) { isc_throw(InvalidOperation, "deleting all shared networks for ANY server is not" - " supported"); + " supported"); } LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SHARED_NETWORKS6); int index = (server_selector.amUnassigned() ? - PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SHARED_NETWORKS6_UNASSIGNED : - PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SHARED_NETWORKS6); - uint64_t result = impl_->deleteTransactional(index, - server_selector, "deleting all shared networks", + PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SHARED_NETWORKS6_UNASSIGNED : + PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_SHARED_NETWORKS6); + uint64_t result = impl_->deleteTransactional(index, server_selector, + "deleting all shared networks", "deleted all shared networks", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SHARED_NETWORKS6_RESULT) .arg(result); @@ -1872,20 +1852,19 @@ uint64_t PgSqlConfigBackendDHCPv6::deleteOptionDef6(const ServerSelector& server_selector, const uint16_t code, const std::string& space) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF6) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF6).arg(code).arg(space); uint64_t result = impl_->deleteOptionDef6(server_selector, code, space); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF6_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION_DEF6_RESULT).arg(result); return (result); } uint64_t PgSqlConfigBackendDHCPv6::deleteAllOptionDefs6(const ServerSelector& server_selector) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_OPTION_DEFS6); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_OPTION_DEFS6, - server_selector, "deleting all option definitions", - "deleted all option definitions", true); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_OPTION_DEFS6, + server_selector, "deleting all option definitions", + "deleted all option definitions", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_OPTION_DEFS6_RESULT) .arg(result); return (result); @@ -1895,11 +1874,9 @@ uint64_t PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& server_selector, const uint16_t code, const std::string& space) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION6) - .arg(code).arg(space); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION6).arg(code).arg(space); uint64_t result = impl_->deleteOption6(server_selector, code, space); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION6_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_OPTION6_RESULT).arg(result); return (result); } @@ -1912,9 +1889,10 @@ PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_OPTION6) - .arg(shared_network_name).arg(code).arg(space); - uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), shared_network_name, - code, space); + .arg(shared_network_name) + .arg(code) + .arg(space); + uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), shared_network_name, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SHARED_NETWORK_OPTION6_RESULT) .arg(result); return (result); @@ -1929,7 +1907,9 @@ PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_SUBNET_ID_OPTION6) - .arg(subnet_id).arg(code).arg(space); + .arg(subnet_id) + .arg(code) + .arg(space); uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), subnet_id, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_SUBNET_ID_OPTION6_RESULT) .arg(result); @@ -1946,9 +1926,12 @@ PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& /* server_selector /// option is only deleted if the pool belongs to a given server. For now, we /// just delete it when there is a match with the parent object. LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_OPTION6) - .arg(pool_start_address.toText()).arg(pool_end_address.toText()).arg(code).arg(space); - uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), pool_start_address, pool_end_address, - code, space); + .arg(pool_start_address.toText()) + .arg(pool_end_address.toText()) + .arg(code) + .arg(space); + uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), pool_start_address, + pool_end_address, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_OPTION6_RESULT) .arg(result); return (result); @@ -1961,7 +1944,10 @@ PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& /* server_selector const uint16_t code, const std::string& space) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_PREFIX_OPTION6) - .arg(pd_pool_prefix.toText()).arg(pd_pool_prefix_length).arg(code).arg(space); + .arg(pd_pool_prefix.toText()) + .arg(pd_pool_prefix_length) + .arg(code) + .arg(space); uint64_t result = impl_->deleteOption6(ServerSelector::ANY(), pd_pool_prefix, pd_pool_prefix_length, code, space); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_BY_POOL_PREFIX_OPTION6_RESULT) @@ -1972,11 +1958,11 @@ PgSqlConfigBackendDHCPv6::deleteOption6(const ServerSelector& /* server_selector uint64_t PgSqlConfigBackendDHCPv6::deleteGlobalParameter6(const ServerSelector& server_selector, const std::string& name) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER6) - .arg(name); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_GLOBAL_PARAMETER6, - server_selector, "deleting global parameter", - "global parameter deleted", false, name); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER6).arg(name); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_GLOBAL_PARAMETER6, + server_selector, "deleting global parameter", + "global parameter deleted", false, name); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_GLOBAL_PARAMETER6_RESULT) .arg(result); return (result); @@ -1985,9 +1971,10 @@ PgSqlConfigBackendDHCPv6::deleteGlobalParameter6(const ServerSelector& server_se uint64_t PgSqlConfigBackendDHCPv6::deleteAllGlobalParameters6(const ServerSelector& server_selector) { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_GLOBAL_PARAMETERS6); - uint64_t result = impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_GLOBAL_PARAMETERS6, - server_selector, "deleting all global parameters", - "all global parameters deleted", true); + uint64_t result = + impl_->deleteTransactional(PgSqlConfigBackendDHCPv6Impl::DELETE_ALL_GLOBAL_PARAMETERS6, + server_selector, "deleting all global parameters", + "all global parameters deleted", true); LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_GLOBAL_PARAMETERS6_RESULT) .arg(result); return (result); @@ -1995,11 +1982,9 @@ PgSqlConfigBackendDHCPv6::deleteAllGlobalParameters6(const ServerSelector& serve uint64_t PgSqlConfigBackendDHCPv6::deleteServer6(const ServerTag& server_tag) { - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER6) - .arg(server_tag.get()); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER6).arg(server_tag.get()); uint64_t result = impl_->deleteServer6(server_tag); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER6_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_SERVER6_RESULT).arg(result); return (result); } @@ -2007,8 +1992,7 @@ uint64_t PgSqlConfigBackendDHCPv6::deleteAllServers6() { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS6); uint64_t result = impl_->deleteAllServers6(); - LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS6_RESULT) - .arg(result); + LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_DELETE_ALL_SERVERS6_RESULT).arg(result); return (result); } @@ -2033,12 +2017,11 @@ PgSqlConfigBackendDHCPv6::getPort() const { bool PgSqlConfigBackendDHCPv6::registerBackendType() { LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_REGISTER_BACKEND_TYPE6); - return ( - dhcp::ConfigBackendDHCPv6Mgr::instance().registerBackendFactory("pgsql", - [](const db::DatabaseConnection::ParameterMap& params) -> dhcp::ConfigBackendDHCPv6Ptr { + return (dhcp::ConfigBackendDHCPv6Mgr::instance().registerBackendFactory( + "pgsql", + [](const db::DatabaseConnection::ParameterMap& params) -> dhcp::ConfigBackendDHCPv6Ptr { return (dhcp::PgSqlConfigBackendDHCPv6Ptr(new dhcp::PgSqlConfigBackendDHCPv6(params))); - }) - ); + })); } void @@ -2049,8 +2032,8 @@ PgSqlConfigBackendDHCPv6::unregisterBackendType() { void PgSqlConfigBackendDHCPv6::createUpdateClientClass6(const db::ServerSelector& server_selector, - const ClientClassDefPtr& client_class, - const std::string& follow_class_name) { + const ClientClassDefPtr& client_class, + const std::string& follow_class_name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -2066,14 +2049,14 @@ PgSqlConfigBackendDHCPv6::getAllClientClasses6(const db::ServerSelector& selecto } ClientClassDictionary -PgSqlConfigBackendDHCPv6::getModifiedClientClasses6(const db::ServerSelector& selector, - const boost::posix_time::ptime& modification_time) const { +PgSqlConfigBackendDHCPv6::getModifiedClientClasses6( + const db::ServerSelector& selector, const boost::posix_time::ptime& modification_time) const { isc_throw(NotImplemented, "Not implemented yet."); } uint64_t PgSqlConfigBackendDHCPv6::deleteClientClass6(const db::ServerSelector& server_selector, - const std::string& name) { + const std::string& name) { isc_throw(NotImplemented, "Not implemented yet."); } @@ -2082,6 +2065,5 @@ PgSqlConfigBackendDHCPv6::deleteAllClientClasses6(const db::ServerSelector& serv isc_throw(NotImplemented, "Not implemented yet."); } - -} // end of namespace isc::dhcp -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.h b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.h index 8779e222b9..44660a06e8 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.h +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.h @@ -7,12 +7,14 @@ #ifndef PGSQL_CONFIG_BACKEND_DHCP6_H #define PGSQL_CONFIG_BACKEND_DHCP6_H -#include #include #include -#include + #include +#include +#include + namespace isc { namespace dhcp { @@ -30,7 +32,6 @@ class PgSqlConfigBackendDHCPv6Impl; /// the methods throw @c isc::NotImplemented exception. class PgSqlConfigBackendDHCPv6 : public ConfigBackendDHCPv6 { public: - /// @brief Constructor. /// /// @param parameters A data structure relating keywords and values @@ -43,8 +44,7 @@ public: /// @param subnet_prefix Prefix of the subnet to be retrieved. /// @return Pointer to the retrieved subnet or NULL if not found. virtual Subnet6Ptr - getSubnet6(const db::ServerSelector& server_selector, - const std::string& subnet_prefix) const; + getSubnet6(const db::ServerSelector& server_selector, const std::string& subnet_prefix) const; /// @brief Retrieves a single subnet by subnet identifier. /// @@ -58,8 +58,7 @@ public: /// /// @param server_selector Server selector. /// @return Collection of subnets or empty collection if no subnet found. - virtual Subnet6Collection - getAllSubnets6(const db::ServerSelector& server_selector) const; + virtual Subnet6Collection getAllSubnets6(const db::ServerSelector& server_selector) const; /// @brief Retrieves subnets modified after specified time. /// @@ -91,8 +90,7 @@ public: /// @return Pointer to the shared network or NULL if not found. /// @throw NotImplemented if server selector is "unassigned". virtual SharedNetwork6Ptr - getSharedNetwork6(const db::ServerSelector& server_selector, - const std::string& name) const; + getSharedNetwork6(const db::ServerSelector& server_selector, const std::string& name) const; /// @brief Retrieves all shared networks. /// @@ -119,17 +117,16 @@ public: /// @param space Option space of the option to be retrieved. /// @return Pointer to the option definition or NULL if not found. /// @throw NotImplemented if server selector is "unassigned". - virtual OptionDefinitionPtr - getOptionDef6(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space) const; + virtual OptionDefinitionPtr getOptionDef6(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space) const; /// @brief Retrieves all option definitions. /// /// @param server_selector Server selector. /// @return Collection of option definitions or empty collection if /// no option definition found. - virtual OptionDefContainer - getAllOptionDefs6(const db::ServerSelector& server_selector) const; + virtual OptionDefContainer getAllOptionDefs6(const db::ServerSelector& server_selector) const; /// @brief Retrieves option definitions modified after specified time. /// @@ -148,17 +145,16 @@ public: /// @return Pointer to the retrieved option descriptor or null if /// no option was found. /// @throw NotImplemented if server selector is "unassigned". - virtual OptionDescriptorPtr - getOption6(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space) const; + virtual OptionDescriptorPtr getOption6(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space) const; /// @brief Retrieves all global options. /// /// @param server_selector Server selector. /// @return Collection of global options or empty collection if no /// option found. - virtual OptionContainer - getAllOptions6(const db::ServerSelector& server_selector) const; + virtual OptionContainer getAllOptions6(const db::ServerSelector& server_selector) const; /// @brief Retrieves option modified after specified time. /// @@ -181,8 +177,7 @@ public: /// @return Value of the global parameter. /// @throw NotImplemented if server selector is "unassigned". virtual data::StampedValuePtr - getGlobalParameter6(const db::ServerSelector& server_selector, - const std::string& name) const; + getGlobalParameter6(const db::ServerSelector& server_selector, const std::string& name) const; /// @brief Retrieves all global parameters. /// @@ -237,8 +232,7 @@ public: /// /// @param selector Server selector. /// @return Collection of client classes. - virtual ClientClassDictionary - getAllClientClasses6(const db::ServerSelector& selector) const; + virtual ClientClassDictionary getAllClientClasses6(const db::ServerSelector& selector) const; /// @brief Retrieves client classes modified after specified time. /// @@ -269,16 +263,14 @@ public: /// 'all'. /// /// @return Collection of servers from the backend. - virtual db::ServerCollection - getAllServers6() const; + virtual db::ServerCollection getAllServers6() const; /// @brief Retrieves a server. /// /// @param server_tag Tag of the server to be retrieved. /// @return Pointer to the server instance or null pointer if no server /// with the particular tag was found. - virtual db::ServerPtr - getServer6(const data::ServerTag& server_tag) const; + virtual db::ServerPtr getServer6(const data::ServerTag& server_tag) const; /// @brief Creates or updates a subnet. /// @@ -286,35 +278,31 @@ public: /// @param subnet Subnet to be added or updated. /// @throw NotImplemented if server selector is "unassigned". virtual void - createUpdateSubnet6(const db::ServerSelector& server_selector, - const Subnet6Ptr& subnet); + createUpdateSubnet6(const db::ServerSelector& server_selector, const Subnet6Ptr& subnet); /// @brief Creates or updates a shared network. /// /// @param server_selector Server selector. /// @param shared_network Shared network to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateSharedNetwork6(const db::ServerSelector& server_selector, - const SharedNetwork6Ptr& shared_network); + virtual void createUpdateSharedNetwork6(const db::ServerSelector& server_selector, + const SharedNetwork6Ptr& shared_network); /// @brief Creates or updates an option definition. /// /// @param server_selector Server selector. /// @param option_def Option definition to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOptionDef6(const db::ServerSelector& server_selector, - const OptionDefinitionPtr& option_def); + virtual void createUpdateOptionDef6(const db::ServerSelector& server_selector, + const OptionDefinitionPtr& option_def); /// @brief Creates or updates global option. /// /// @param server_selector Server selector. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption6(const db::ServerSelector& server_selector, - const OptionDescriptorPtr& option); + virtual void createUpdateOption6(const db::ServerSelector& server_selector, + const OptionDescriptorPtr& option); /// @brief Creates or updates shared network level option. /// @@ -323,10 +311,9 @@ public: /// belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption6(const db::ServerSelector& server_selector, - const std::string& shared_network_name, - const OptionDescriptorPtr& option); + virtual void createUpdateOption6(const db::ServerSelector& server_selector, + const std::string& shared_network_name, + const OptionDescriptorPtr& option); /// @brief Creates or updates subnet level option. /// @@ -334,10 +321,9 @@ public: /// @param subnet_id Identifier of a subnet to which option belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption6(const db::ServerSelector& server_selector, - const SubnetID& subnet_id, - const OptionDescriptorPtr& option); + virtual void createUpdateOption6(const db::ServerSelector& server_selector, + const SubnetID& subnet_id, + const OptionDescriptorPtr& option); /// @brief Creates or updates pool level option. /// @@ -348,11 +334,10 @@ public: /// option belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption6(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pool_start_address, - const asiolink::IOAddress& pool_end_address, - const OptionDescriptorPtr& option); + virtual void createUpdateOption6(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pool_start_address, + const asiolink::IOAddress& pool_end_address, + const OptionDescriptorPtr& option); /// @brief Creates or updates prefix delegation pool level option. /// @@ -363,11 +348,10 @@ public: /// delegation pool to which the option belongs. /// @param option Option to be added or updated. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateOption6(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pd_pool_prefix, - const uint8_t pd_pool_prefix_length, - const OptionDescriptorPtr& option); + virtual void createUpdateOption6(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pd_pool_prefix, + const uint8_t pd_pool_prefix_length, + const OptionDescriptorPtr& option); /// @brief Creates or updates global parameter. /// @@ -375,9 +359,8 @@ public: /// @param name Name of the global parameter. /// @param value Value of the global parameter. /// @throw NotImplemented if server selector is "unassigned". - virtual void - createUpdateGlobalParameter6(const db::ServerSelector& server_selector, - const data::StampedValuePtr& value); + virtual void createUpdateGlobalParameter6(const db::ServerSelector& server_selector, + const data::StampedValuePtr& value); /// @brief Creates or updates a client class. /// @@ -387,18 +370,16 @@ public: /// new or updated class should be positioned. An empty value /// causes the class to be appended at the end of the class /// hierarchy. - virtual void - createUpdateClientClass6(const db::ServerSelector& server_selector, - const ClientClassDefPtr& client_class, - const std::string& follow_class_name); + virtual void createUpdateClientClass6(const db::ServerSelector& server_selector, + const ClientClassDefPtr& client_class, + const std::string& follow_class_name); /// @brief Creates or updates a server. /// /// @param server Instance of the server to be stored. /// @throw InvalidOperation when trying to create a duplicate or /// update the logical server 'all'. - virtual void - createUpdateServer6(const db::ServerPtr& server); + virtual void createUpdateServer6(const db::ServerPtr& server); /// @brief Deletes subnet by prefix. /// @@ -407,8 +388,7 @@ public: /// @return Number of deleted subnets. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteSubnet6(const db::ServerSelector& server_selector, - const std::string& subnet_prefix); + deleteSubnet6(const db::ServerSelector& server_selector, const std::string& subnet_prefix); /// @brief Deletes subnet by identifier. /// @@ -424,8 +404,7 @@ public: /// @param server_selector Server selector. /// @return Number of deleted subnets. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllSubnets6(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllSubnets6(const db::ServerSelector& server_selector); /// @brief Deletes all subnets belonging to a specified shared network. /// @@ -433,9 +412,8 @@ public: /// @param shared_network_name Name of the shared network for which the /// subnets should be deleted. /// @return Number of deleted subnets. - virtual uint64_t - deleteSharedNetworkSubnets6(const db::ServerSelector& server_selector, - const std::string& shared_network_name); + virtual uint64_t deleteSharedNetworkSubnets6(const db::ServerSelector& server_selector, + const std::string& shared_network_name); /// @brief Deletes shared network by name. /// @@ -444,15 +422,13 @@ public: /// @return Number of deleted shared networks. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteSharedNetwork6(const db::ServerSelector& server_selector, - const std::string& name); + deleteSharedNetwork6(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all shared networks. /// /// @param server_selector Server selector. /// @return Number of deleted shared networks. - virtual uint64_t - deleteAllSharedNetworks6(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllSharedNetworks6(const db::ServerSelector& server_selector); /// @brief Deletes option definition. /// @@ -461,17 +437,16 @@ public: /// @param space Option space of the option to be deleted. /// @return Number of deleted option definitions. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOptionDef6(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space); + virtual uint64_t deleteOptionDef6(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space); /// @brief Deletes all option definitions. /// /// @param server_selector Server selector. /// @return Number of deleted option definitions. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllOptionDefs6(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllOptionDefs6(const db::ServerSelector& server_selector); /// @brief Deletes global option. /// @@ -480,9 +455,9 @@ public: /// @param space Option space of the option to be deleted. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption6(const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption6(const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space); /// @brief Deletes shared network level option. /// @@ -492,11 +467,10 @@ public: /// @param code Code of the deleted option. /// @param space Option space of the deleted option. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption6(const db::ServerSelector& server_selector, - const std::string& shared_network_name, - const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption6(const db::ServerSelector& server_selector, + const std::string& shared_network_name, + const uint16_t code, + const std::string& space); /// @brief Deletes subnet level option. /// @@ -507,9 +481,10 @@ public: /// @param space Option space of the deleted option. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption6(const db::ServerSelector& server_selector, const SubnetID& subnet_id, - const uint16_t code, const std::string& space); + virtual uint64_t deleteOption6(const db::ServerSelector& server_selector, + const SubnetID& subnet_id, + const uint16_t code, + const std::string& space); /// @brief Deletes pool level option. /// @@ -522,12 +497,11 @@ public: /// @param space Option space of the deleted option. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption6(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pool_start_address, - const asiolink::IOAddress& pool_end_address, - const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption6(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pool_start_address, + const asiolink::IOAddress& pool_end_address, + const uint16_t code, + const std::string& space); /// @brief Deletes prefix delegation pool level option. /// @@ -540,12 +514,11 @@ public: /// @param space Option space of the deleted option. /// @return Number of deleted options. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteOption6(const db::ServerSelector& server_selector, - const asiolink::IOAddress& pd_pool_prefix, - const uint8_t pd_pool_prefix_length, - const uint16_t code, - const std::string& space); + virtual uint64_t deleteOption6(const db::ServerSelector& server_selector, + const asiolink::IOAddress& pd_pool_prefix, + const uint8_t pd_pool_prefix_length, + const uint16_t code, + const std::string& space); /// @brief Deletes global parameter. /// @@ -554,16 +527,14 @@ public: /// @return Number of deleted global parameters. /// @throw NotImplemented if server selector is "unassigned". virtual uint64_t - deleteGlobalParameter6(const db::ServerSelector& server_selector, - const std::string& name); + deleteGlobalParameter6(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all global parameters. /// /// @param server_selector Server selector. /// @return Number of deleted global parameters. /// @throw NotImplemented if server selector is "unassigned". - virtual uint64_t - deleteAllGlobalParameters6(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllGlobalParameters6(const db::ServerSelector& server_selector); /// @brief Deletes a client class. /// @@ -571,15 +542,13 @@ public: /// @param name Name of the class to be deleted. /// @return Number of deleted client classes. virtual uint64_t - deleteClientClass6(const db::ServerSelector& server_selector, - const std::string& name); + deleteClientClass6(const db::ServerSelector& server_selector, const std::string& name); /// @brief Deletes all client classes. /// /// @param server_selector Server selector. /// @return Number of deleted client classes. - virtual uint64_t - deleteAllClientClasses6(const db::ServerSelector& server_selector); + virtual uint64_t deleteAllClientClasses6(const db::ServerSelector& server_selector); /// @brief Deletes a server from the backend. /// @@ -587,15 +556,13 @@ public: /// @return Number of deleted servers. /// @throw isc::InvalidOperation when trying to delete the logical /// server 'all'. - virtual uint64_t - deleteServer6(const data::ServerTag& server_tag); + virtual uint64_t deleteServer6(const data::ServerTag& server_tag); /// @brief Deletes all servers from the backend except the logical /// server 'all'. /// /// @return Number of deleted servers. - virtual uint64_t - deleteAllServers6(); + virtual uint64_t deleteAllServers6(); /// @brief Returns backend type in the textual format. /// @@ -637,7 +604,6 @@ public: virtual bool isUnusable(); protected: - /// @brief Pointer to the implementation of the @c PgSqlConfigBackendDHCPv6 /// class. boost::shared_ptr impl_; @@ -650,7 +616,7 @@ protected: /// @brief Pointer to the @c PgSqlConfigBackendDHCPv6 class. typedef boost::shared_ptr PgSqlConfigBackendDHCPv6Ptr; -} // end of namespace isc::cb -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc -#endif // PGSQL_CONFIG_BACKEND_DHCP6_H +#endif // PGSQL_CONFIG_BACKEND_DHCP6_H diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc index 288c26e2b2..774ede1f0f 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc @@ -5,12 +5,14 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include -#include "pgsql_cb_impl.h" + #include #include -#include #include +#include #include + +#include "pgsql_cb_impl.h" #include #include @@ -25,39 +27,37 @@ namespace dhcp { isc::asiolink::IOServicePtr PgSqlConfigBackendImpl::io_service_ = isc::asiolink::IOServicePtr(); -PgSqlConfigBackendImpl:: -ScopedAuditRevision::ScopedAuditRevision(PgSqlConfigBackendImpl* impl, - const int index, - const ServerSelector& server_selector, - const std::string& log_message, - bool cascade_transaction) +PgSqlConfigBackendImpl::ScopedAuditRevision::ScopedAuditRevision( + PgSqlConfigBackendImpl* impl, + const int index, + const ServerSelector& server_selector, + const std::string& log_message, + bool cascade_transaction) : impl_(impl) { impl_->createAuditRevision(index, server_selector, - boost::posix_time::microsec_clock::local_time(), - log_message, + boost::posix_time::microsec_clock::local_time(), log_message, cascade_transaction); } -PgSqlConfigBackendImpl:: -ScopedAuditRevision::~ScopedAuditRevision() { +PgSqlConfigBackendImpl::ScopedAuditRevision::~ScopedAuditRevision() { impl_->clearAuditRevision(); } -PgSqlConfigBackendImpl:: -PgSqlConfigBackendImpl(const DatabaseConnection::ParameterMap& parameters, - const DbCallback db_reconnect_callback) +PgSqlConfigBackendImpl::PgSqlConfigBackendImpl(const DatabaseConnection::ParameterMap& parameters, + const DbCallback db_reconnect_callback) : conn_(parameters, IOServiceAccessorPtr(new IOServiceAccessor(PgSqlConfigBackendImpl::getIOService)), - db_reconnect_callback), timer_name_(""), audit_revision_created_(false), - parameters_(parameters) { + db_reconnect_callback), + timer_name_(""), audit_revision_created_(false), parameters_(parameters) { // Test schema version first. std::pair code_version(PG_SCHEMA_VERSION_MAJOR, PG_SCHEMA_VERSION_MINOR); std::pair db_version = PgSqlConnection::getVersion(parameters); if (code_version != db_version) { isc_throw(DbOpenError, "Postgres schema version mismatch: need version: " - << code_version.first << "." << code_version.second - << " found version: " << db_version.first << "." << db_version.second); + << code_version.first << "." << code_version.second + << " found version: " << db_version.first << "." + << db_version.second); } // Open the database. @@ -159,7 +159,7 @@ PgSqlConfigBackendImpl::deleteFromTable(const int index, // When deleting multiple objects we must not use ANY server. if (server_selector.amAny()) { isc_throw(InvalidOperation, "deleting multiple objects for ANY server is not" - " supported"); + " supported"); } PsqlBindArray in_bindings; @@ -174,7 +174,6 @@ PgSqlConfigBackendImpl::deleteFromTable(const int index, isc_throw(NotImplemented, "todo"); } - void PgSqlConfigBackendImpl::getGlobalParameters(const int index, const PsqlBindArray& in_bindings, @@ -268,7 +267,7 @@ PgSqlConfigBackendImpl::getOptionDef(const int index, if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } auto tag = getServerTag(server_selector, "fetching option definition"); @@ -287,8 +286,8 @@ PgSqlConfigBackendImpl::getOptionDef(const int index, void PgSqlConfigBackendImpl::getAllOptionDefs(const int index, - const ServerSelector& server_selector, - OptionDefContainer& option_defs) { + const ServerSelector& server_selector, + OptionDefContainer& option_defs) { auto tags = server_selector.getTags(); #if 0 for (auto tag : tags) { @@ -465,7 +464,7 @@ PgSqlConfigBackendImpl::createUpdateOptionDef(const db::ServerSelector& server_s if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } auto tag = getServerTag(server_selector, "creating or updating option definition"); @@ -532,7 +531,7 @@ PgSqlConfigBackendImpl::getOption(const int index, if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } auto tag = getServerTag(server_selector, "fetching global option"); @@ -603,7 +602,7 @@ PgSqlConfigBackendImpl::getOption(const int index, if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } auto tag = getServerTag(server_selector, "fetching subnet level option"); @@ -622,8 +621,7 @@ PgSqlConfigBackendImpl::getOption(const int index, in_bindings.push_back(PsqlBindArray::createString(space)); #endif getOptions(index, in_bindings, universe, options); - return (options.empty() ? OptionDescriptorPtr() : - OptionDescriptor::create(*options.begin())); + return (options.empty() ? OptionDescriptorPtr() : OptionDescriptor::create(*options.begin())); } OptionDescriptorPtr @@ -636,7 +634,7 @@ PgSqlConfigBackendImpl::getOption(const int index, if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } std::string msg = "fetching "; @@ -663,8 +661,7 @@ PgSqlConfigBackendImpl::getOption(const int index, in_bindings.push_back(PsqlBindArray::createString(space)); #endif getOptions(index, in_bindings, universe, options); - return (options.empty() ? OptionDescriptorPtr() : - OptionDescriptor::create(*options.begin())); + return (options.empty() ? OptionDescriptorPtr() : OptionDescriptor::create(*options.begin())); } OptionDescriptorPtr @@ -677,7 +674,7 @@ PgSqlConfigBackendImpl::getOption(const int index, if (server_selector.amUnassigned()) { isc_throw(NotImplemented, "managing configuration for no particular server" - " (unassigned) is unsupported at the moment"); + " (unassigned) is unsupported at the moment"); } auto tag = getServerTag(server_selector, "fetching shared network level option"); @@ -695,8 +692,7 @@ PgSqlConfigBackendImpl::getOption(const int index, in_bindings.push_back(PsqlBindArray::createString(space)); #endif getOptions(index, in_bindings, universe, options); - return (options.empty() ? OptionDescriptorPtr() : - OptionDescriptor::create(*options.begin())); + return (options.empty() ? OptionDescriptorPtr() : OptionDescriptor::create(*options.begin())); } void @@ -875,7 +871,6 @@ PgSqlConfigBackendImpl::attachElementToServers(const int index, } #endif - PsqlBindArrayPtr PgSqlConfigBackendImpl::createInputRelayBinding(const NetworkPtr& network) { ElementPtr relay_element = Element::createList(); @@ -901,8 +896,7 @@ PgSqlConfigBackendImpl::createOptionValueBinding(const OptionDescriptorPtr& opti OutputBuffer buf(opt->len()); opt->pack(buf); const char* buf_ptr = static_cast(buf.getData()); - std::vector blob(buf_ptr + opt->getHeaderLen(), - buf_ptr + buf.getLength()); + std::vector blob(buf_ptr + opt->getHeaderLen(), buf_ptr + buf.getLength()); // return (PsqlBindArray::createBlob(blob.begin(), blob.end())); } @@ -971,18 +965,16 @@ PgSqlConfigBackendImpl::createUpdateServer(const int& create_audit_revision, const ServerPtr& server) { // The server tag 'all' is reserved. if (server->getServerTag().amAll()) { - isc_throw(InvalidOperation, "'all' is a name reserved for the server tag which" + isc_throw(InvalidOperation, + "'all' is a name reserved for the server tag which" " associates the configuration elements with all servers connecting" " to the database and a server with this name may not be created"); } // Create scoped audit revision. As long as this instance exists // no new audit revisions are created in any subsequent calls. - ScopedAuditRevision audit_revision(this, - create_audit_revision, - ServerSelector::ALL(), - "server set", - true); + ScopedAuditRevision audit_revision(this, create_audit_revision, ServerSelector::ALL(), + "server set", true); PgSqlTransaction transaction(conn_); @@ -1031,5 +1023,5 @@ PgSqlConfigBackendImpl::getPort() const { return (0); } -} // end of namespace isc::dhcp -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.h b/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.h index 57a114fa5f..f0a046d283 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.h +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.h @@ -22,6 +22,7 @@ #include #include #include + #include #include #include @@ -39,7 +40,6 @@ namespace dhcp { /// class must be local times. class PgSqlConfigBackendImpl { protected: - /// @brief RAII object used to protect against creating multiple /// audit revisions during cascade configuration updates. /// @@ -65,7 +65,6 @@ protected: /// transaction with the database. class ScopedAuditRevision { public: - /// @brief Constructor. /// /// Creates new audit revision and sets the flag in the @@ -96,13 +95,11 @@ protected: ~ScopedAuditRevision(); private: - /// @brief Pointer to the Postgres CB implementation. PgSqlConfigBackendImpl* impl_; }; public: - /// @brief Constructor. /// /// @param parameters A data structure relating keywords and values @@ -135,13 +132,14 @@ public: /// @return Server tag. /// @throw InvalidOperation if the server selector is unassigned or if there /// is more than one server tag associated with the selector. - std::string getServerTag(const db::ServerSelector& server_selector, - const std::string& operation) const { + std::string + getServerTag(const db::ServerSelector& server_selector, const std::string& operation) const { auto tags = server_selector.getTags(); if (tags.size() != 1) { isc_throw(InvalidOperation, "expected exactly one server tag to be specified" - " while " << operation << ". Got: " - << getServerTagsAsText(server_selector)); + " while " + << operation + << ". Got: " << getServerTagsAsText(server_selector)); } return (tags.begin()->get()); @@ -290,10 +288,9 @@ public: /// if the query contains no WHERE clause. /// @param [out] option_defs Reference to the container where fetched /// option definitions will be inserted. - void - getOptionDefs(const int index, - const db::PsqlBindArray& in_bindings, - OptionDefContainer& option_defs); + void getOptionDefs(const int index, + const db::PsqlBindArray& in_bindings, + OptionDefContainer& option_defs); /// @brief Creates or updates an option definition. /// @@ -328,10 +325,11 @@ public: /// /// @return Pointer to the returned option or NULL if such option /// doesn't exist. - OptionDescriptorPtr - getOption(const int index, const Option::Universe& universe, - const db::ServerSelector& server_selector, const uint16_t code, - const std::string& space); + OptionDescriptorPtr getOption(const int index, + const Option::Universe& universe, + const db::ServerSelector& server_selector, + const uint16_t code, + const std::string& space); /// @brief Sends query to retrieve all global options. /// @@ -339,9 +337,9 @@ public: /// @param universe Option universe, i.e. V4 or V6. /// @param server_selector Server selector. /// @return Container holding returned options. - OptionContainer - getAllOptions(const int index, const Option::Universe& universe, - const db::ServerSelector& server_selector); + OptionContainer getAllOptions(const int index, + const Option::Universe& universe, + const db::ServerSelector& server_selector); /// @brief Sends query to retrieve global options with modification /// time later than specified timestamp. @@ -350,10 +348,10 @@ public: /// @param universe Option universe, i.e. V4 or V6. /// @param server_selector Server selector. /// @return Container holding returned options. - OptionContainer - getModifiedOptions(const int index, const Option::Universe& universe, - const db::ServerSelector& server_selector, - const boost::posix_time::ptime& modification_time); + OptionContainer getModifiedOptions(const int index, + const Option::Universe& universe, + const db::ServerSelector& server_selector, + const boost::posix_time::ptime& modification_time); /// @brief Sends query to retrieve single option by code and option space /// for a given subnet id. @@ -439,7 +437,8 @@ public: /// @todo implement db::PsqlBindArrayPtr createInputRelayBinding(const NetworkPtr& network); - /// @todo implement template db::MySqlBindingPtr createInputRequiredClassesBinding(const T& object) + /// @todo implement template db::MySqlBindingPtr + /// createInputRequiredClassesBinding(const T& object) /// @todo implement db::MySqlBindingPtr createInputContextBinding(const T& config_element) { @@ -468,9 +467,8 @@ public: /// @param bindings Reference to the MySQL input bindings. /// @param [out] servers Reference to the container where fetched servers /// will be inserted. - void getServers(const int index, - const db::PsqlBindArray& bindings, - db::ServerCollection& servers); + void + getServers(const int index, const db::PsqlBindArray& bindings, db::ServerCollection& servers); /// @brief Creates or updates a server. /// @@ -492,7 +490,8 @@ public: const int& update_index, const db::ServerPtr& server); - /// @todo implement template void multipleUpdateDeleteQueries(T first_index, R... other_indexes) + /// @todo implement template void multipleUpdateDeleteQueries(T + /// first_index, R... other_indexes) /// @brief Removes configuration elements from the index which don't match /// the specified server selector. @@ -510,9 +509,9 @@ public: /// @param server_selector Server selector. /// @param index Reference to the index holding the returned configuration /// elements to be processed. - template - void tossNonMatchingElements(const db::ServerSelector& server_selector, - CollectionIndex& index) { + template + void + tossNonMatchingElements(const db::ServerSelector& server_selector, CollectionIndex& index) { // Don't filter the matching server tags if the server selector is // set to ANY. if (server_selector.amAny()) { @@ -520,7 +519,7 @@ public: } // Go over the collection of elements. - for (auto elem = index.begin(); elem != index.end(); ) { + for (auto elem = index.begin(); elem != index.end();) { // If we're asking for shared networks matching all servers, // we have to make sure that the fetched element has "all" @@ -547,8 +546,7 @@ public: auto tags = server_selector.getTags(); bool tag_found = false; for (auto tag : tags) { - if ((*elem)->hasServerTag(tag) || - (*elem)->hasAllServerTag()) { + if ((*elem)->hasServerTag(tag) || (*elem)->hasAllServerTag()) { tag_found = true; break; } @@ -613,12 +611,10 @@ public: db::PgSqlConnection conn_; protected: - /// @brief Timer name used to register database reconnect timer. std::string timer_name_; private: - /// @brief Boolean flag indicating if audit revision has been created /// using @c ScopedAuditRevision object. bool audit_revision_created_; @@ -630,7 +626,7 @@ private: static isc::asiolink::IOServicePtr io_service_; }; -} // end of namespace isc::dhcp -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc #endif diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_log.h b/src/hooks/dhcp/pgsql_cb/pgsql_cb_log.h index 4e2abdf37c..8bb6dc5687 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_log.h +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_log.h @@ -9,6 +9,7 @@ #include #include + #include namespace isc { @@ -19,5 +20,4 @@ extern isc::log::Logger pgsql_cb_logger; } // namespace dhcp } // namespace isc - #endif diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_macros.h b/src/hooks/dhcp/pgsql_cb/pgsql_macros.h index 50bd94ba58..05f61ac5aa 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_macros.h +++ b/src/hooks/dhcp/pgsql_cb/pgsql_macros.h @@ -30,826 +30,776 @@ namespace dhcp { namespace { #ifndef PGSQL_GET_GLOBAL_PARAMETER -#define PGSQL_GET_GLOBAL_PARAMETER(table_prefix, ...) \ - "SELECT" \ - " g.id," \ - " g.name," \ - " g.value," \ - " g.parameter_type," \ - " g.modification_ts," \ - " s.tag " \ - "FROM " #table_prefix "_global_parameter AS g " \ +#define PGSQL_GET_GLOBAL_PARAMETER(table_prefix, ...) \ + "SELECT" \ + " g.id," \ + " g.name," \ + " g.value," \ + " g.parameter_type," \ + " g.modification_ts," \ + " s.tag " \ + "FROM " #table_prefix "_global_parameter AS g " \ "INNER JOIN " #table_prefix "_global_parameter_server AS a " \ - " ON g.id = a.parameter_id " \ - "INNER JOIN " #table_prefix "_server AS s " \ - " ON (a.server_id = s.id) " \ - "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ \ - " ORDER BY g.id, s.id" + " ON g.id = a.parameter_id " \ + "INNER JOIN " #table_prefix "_server AS s " \ + " ON (a.server_id = s.id) " \ + "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ " ORDER BY g.id, s.id" #endif #ifndef PGSQL_GET_SUBNET4 -#define PGSQL_GET_SUBNET4_COMMON(server_join, ...) \ - "SELECT" \ - " s.subnet_id," \ - " s.subnet_prefix," \ - " s.4o6_interface," \ - " s.4o6_interface_id," \ - " s.4o6_subnet," \ - " s.boot_file_name," \ - " s.client_class," \ - " s.interface," \ - " s.match_client_id," \ - " s.modification_ts," \ - " s.next_server," \ - " s.rebind_timer," \ - " s.relay," \ - " s.renew_timer," \ - " s.require_client_classes," \ - " s.reservations_global," \ - " s.server_hostname," \ - " s.shared_network_name," \ - " s.user_context," \ - " s.valid_lifetime," \ - " p.id," \ - " p.start_address," \ - " p.end_address," \ - " p.subnet_id," \ - " p.modification_ts," \ - " x.option_id," \ - " x.code," \ - " x.value," \ - " x.formatted_value," \ - " x.space," \ - " x.persistent," \ - " x.dhcp4_subnet_id," \ - " x.scope_id," \ - " x.user_context," \ - " x.shared_network_name," \ - " x.pool_id," \ - " x.modification_ts," \ - " o.option_id," \ - " o.code," \ - " o.value," \ - " o.formatted_value," \ - " o.space," \ - " o.persistent," \ - " o.dhcp4_subnet_id," \ - " o.scope_id," \ - " o.user_context," \ - " o.shared_network_name," \ - " o.pool_id," \ - " o.modification_ts," \ - " s.calculate_tee_times," \ - " s.t1_percent," \ - " s.t2_percent," \ - " s.authoritative," \ - " s.min_valid_lifetime," \ - " s.max_valid_lifetime," \ - " p.client_class," \ - " p.require_client_classes," \ - " p.user_context," \ - " s.ddns_send_updates," \ - " s.ddns_override_no_update," \ - " s.ddns_override_client_update," \ - " s.ddns_replace_client_name," \ - " s.ddns_generated_prefix," \ - " s.ddns_qualifying_suffix," \ - " s.reservations_in_subnet," \ - " s.reservations_out_of_pool," \ - " s.cache_threshold," \ - " s.cache_max_age," \ - " srv.tag " \ - "FROM dhcp4_subnet AS s " \ - server_join \ - "LEFT JOIN dhcp4_pool AS p ON s.subnet_id = p.subnet_id " \ +#define PGSQL_GET_SUBNET4_COMMON(server_join, ...) \ + "SELECT" \ + " s.subnet_id," \ + " s.subnet_prefix," \ + " s.4o6_interface," \ + " s.4o6_interface_id," \ + " s.4o6_subnet," \ + " s.boot_file_name," \ + " s.client_class," \ + " s.interface," \ + " s.match_client_id," \ + " s.modification_ts," \ + " s.next_server," \ + " s.rebind_timer," \ + " s.relay," \ + " s.renew_timer," \ + " s.require_client_classes," \ + " s.reservations_global," \ + " s.server_hostname," \ + " s.shared_network_name," \ + " s.user_context," \ + " s.valid_lifetime," \ + " p.id," \ + " p.start_address," \ + " p.end_address," \ + " p.subnet_id," \ + " p.modification_ts," \ + " x.option_id," \ + " x.code," \ + " x.value," \ + " x.formatted_value," \ + " x.space," \ + " x.persistent," \ + " x.dhcp4_subnet_id," \ + " x.scope_id," \ + " x.user_context," \ + " x.shared_network_name," \ + " x.pool_id," \ + " x.modification_ts," \ + " o.option_id," \ + " o.code," \ + " o.value," \ + " o.formatted_value," \ + " o.space," \ + " o.persistent," \ + " o.dhcp4_subnet_id," \ + " o.scope_id," \ + " o.user_context," \ + " o.shared_network_name," \ + " o.pool_id," \ + " o.modification_ts," \ + " s.calculate_tee_times," \ + " s.t1_percent," \ + " s.t2_percent," \ + " s.authoritative," \ + " s.min_valid_lifetime," \ + " s.max_valid_lifetime," \ + " p.client_class," \ + " p.require_client_classes," \ + " p.user_context," \ + " s.ddns_send_updates," \ + " s.ddns_override_no_update," \ + " s.ddns_override_client_update," \ + " s.ddns_replace_client_name," \ + " s.ddns_generated_prefix," \ + " s.ddns_qualifying_suffix," \ + " s.reservations_in_subnet," \ + " s.reservations_out_of_pool," \ + " s.cache_threshold," \ + " s.cache_max_age," \ + " srv.tag " \ + "FROM dhcp4_subnet AS s " server_join \ + "LEFT JOIN dhcp4_pool AS p ON s.subnet_id = p.subnet_id " \ "LEFT JOIN dhcp4_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " \ - "LEFT JOIN dhcp4_options AS o ON o.scope_id = 1 AND s.subnet_id = o.dhcp4_subnet_id " \ - #__VA_ARGS__ \ - " ORDER BY s.subnet_id, p.id, x.option_id, o.option_id" - -#define PGSQL_GET_SUBNET4_NO_TAG(...) \ - PGSQL_GET_SUBNET4_COMMON( \ - "INNER JOIN dhcp4_subnet_server AS a " \ - " ON s.subnet_id = a.subnet_id " \ - "INNER JOIN dhcp4_server AS srv " \ - " ON (a.server_id = srv.id) ", \ - __VA_ARGS__) - -#define PGSQL_GET_SUBNET4_ANY(...) \ - PGSQL_GET_SUBNET4_COMMON( \ - "LEFT JOIN dhcp4_subnet_server AS a "\ - " ON s.subnet_id = a.subnet_id " \ - "LEFT JOIN dhcp4_server AS srv " \ - " ON a.server_id = srv.id ", \ - __VA_ARGS__) - -#define PGSQL_GET_SUBNET4_UNASSIGNED(...) \ - PGSQL_GET_SUBNET4_COMMON( \ - "LEFT JOIN dhcp4_subnet_server AS a "\ - " ON s.subnet_id = a.subnet_id " \ - "LEFT JOIN dhcp4_server AS srv " \ - " ON a.server_id = srv.id ", \ - WHERE a.subnet_id IS NULL __VA_ARGS__) + "LEFT JOIN dhcp4_options AS o ON o.scope_id = 1 AND s.subnet_id = " \ + "o.dhcp4_subnet_id " #__VA_ARGS__ " ORDER BY s.subnet_id, p.id, x.option_id, o.option_id" + +#define PGSQL_GET_SUBNET4_NO_TAG(...) \ + PGSQL_GET_SUBNET4_COMMON("INNER JOIN dhcp4_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "INNER JOIN dhcp4_server AS srv " \ + " ON (a.server_id = srv.id) ", \ + __VA_ARGS__) + +#define PGSQL_GET_SUBNET4_ANY(...) \ + PGSQL_GET_SUBNET4_COMMON("LEFT JOIN dhcp4_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "LEFT JOIN dhcp4_server AS srv " \ + " ON a.server_id = srv.id ", \ + __VA_ARGS__) + +#define PGSQL_GET_SUBNET4_UNASSIGNED(...) \ + PGSQL_GET_SUBNET4_COMMON("LEFT JOIN dhcp4_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "LEFT JOIN dhcp4_server AS srv " \ + " ON a.server_id = srv.id ", \ + WHERE a.subnet_id IS NULL __VA_ARGS__) #endif #ifndef PGSQL_GET_SUBNET6 -#define PGSQL_GET_SUBNET6_COMMON(server_join, ...) \ - "SELECT" \ - " s.subnet_id," \ - " s.subnet_prefix," \ - " s.client_class," \ - " s.interface," \ - " s.modification_ts," \ - " s.preferred_lifetime," \ - " s.rapid_commit," \ - " s.rebind_timer," \ - " s.relay," \ - " s.renew_timer," \ - " s.require_client_classes," \ - " s.reservations_global," \ - " s.shared_network_name," \ - " s.user_context," \ - " s.valid_lifetime," \ - " p.id," \ - " p.start_address," \ - " p.end_address," \ - " p.subnet_id," \ - " p.modification_ts," \ - " d.id," \ - " d.prefix," \ - " d.prefix_length," \ - " d.delegated_prefix_length," \ - " d.subnet_id," \ - " d.modification_ts," \ - " x.option_id," \ - " x.code," \ - " x.value," \ - " x.formatted_value," \ - " x.space," \ - " x.persistent," \ - " x.dhcp6_subnet_id," \ - " x.scope_id," \ - " x.user_context," \ - " x.shared_network_name," \ - " x.pool_id," \ - " x.modification_ts," \ - " x.pd_pool_id," \ - " y.option_id," \ - " y.code," \ - " y.value," \ - " y.formatted_value," \ - " y.space," \ - " y.persistent," \ - " y.dhcp6_subnet_id," \ - " y.scope_id," \ - " y.user_context," \ - " y.shared_network_name," \ - " y.pool_id," \ - " y.modification_ts," \ - " y.pd_pool_id," \ - " o.option_id," \ - " o.code," \ - " o.value," \ - " o.formatted_value," \ - " o.space," \ - " o.persistent," \ - " o.dhcp6_subnet_id," \ - " o.scope_id," \ - " o.user_context," \ - " o.shared_network_name," \ - " o.pool_id," \ - " o.modification_ts," \ - " o.pd_pool_id, " \ - " s.calculate_tee_times," \ - " s.t1_percent," \ - " s.t2_percent," \ - " s.interface_id," \ - " s.min_preferred_lifetime," \ - " s.max_preferred_lifetime," \ - " s.min_valid_lifetime," \ - " s.max_valid_lifetime," \ - " p.client_class," \ - " p.require_client_classes," \ - " p.user_context," \ - " d.excluded_prefix," \ - " d.excluded_prefix_length," \ - " d.client_class," \ - " d.require_client_classes," \ - " d.user_context," \ - " s.ddns_send_updates," \ - " s.ddns_override_no_update," \ - " s.ddns_override_client_update," \ - " s.ddns_replace_client_name," \ - " s.ddns_generated_prefix," \ - " s.ddns_qualifying_suffix," \ - " s.reservations_in_subnet," \ - " s.reservations_out_of_pool," \ - " s.cache_threshold," \ - " s.cache_max_age," \ - " srv.tag " \ - "FROM dhcp6_subnet AS s " \ - server_join \ - "LEFT JOIN dhcp6_pool AS p ON s.subnet_id = p.subnet_id " \ - "LEFT JOIN dhcp6_pd_pool AS d ON s.subnet_id = d.subnet_id " \ - "LEFT JOIN dhcp6_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " \ +#define PGSQL_GET_SUBNET6_COMMON(server_join, ...) \ + "SELECT" \ + " s.subnet_id," \ + " s.subnet_prefix," \ + " s.client_class," \ + " s.interface," \ + " s.modification_ts," \ + " s.preferred_lifetime," \ + " s.rapid_commit," \ + " s.rebind_timer," \ + " s.relay," \ + " s.renew_timer," \ + " s.require_client_classes," \ + " s.reservations_global," \ + " s.shared_network_name," \ + " s.user_context," \ + " s.valid_lifetime," \ + " p.id," \ + " p.start_address," \ + " p.end_address," \ + " p.subnet_id," \ + " p.modification_ts," \ + " d.id," \ + " d.prefix," \ + " d.prefix_length," \ + " d.delegated_prefix_length," \ + " d.subnet_id," \ + " d.modification_ts," \ + " x.option_id," \ + " x.code," \ + " x.value," \ + " x.formatted_value," \ + " x.space," \ + " x.persistent," \ + " x.dhcp6_subnet_id," \ + " x.scope_id," \ + " x.user_context," \ + " x.shared_network_name," \ + " x.pool_id," \ + " x.modification_ts," \ + " x.pd_pool_id," \ + " y.option_id," \ + " y.code," \ + " y.value," \ + " y.formatted_value," \ + " y.space," \ + " y.persistent," \ + " y.dhcp6_subnet_id," \ + " y.scope_id," \ + " y.user_context," \ + " y.shared_network_name," \ + " y.pool_id," \ + " y.modification_ts," \ + " y.pd_pool_id," \ + " o.option_id," \ + " o.code," \ + " o.value," \ + " o.formatted_value," \ + " o.space," \ + " o.persistent," \ + " o.dhcp6_subnet_id," \ + " o.scope_id," \ + " o.user_context," \ + " o.shared_network_name," \ + " o.pool_id," \ + " o.modification_ts," \ + " o.pd_pool_id, " \ + " s.calculate_tee_times," \ + " s.t1_percent," \ + " s.t2_percent," \ + " s.interface_id," \ + " s.min_preferred_lifetime," \ + " s.max_preferred_lifetime," \ + " s.min_valid_lifetime," \ + " s.max_valid_lifetime," \ + " p.client_class," \ + " p.require_client_classes," \ + " p.user_context," \ + " d.excluded_prefix," \ + " d.excluded_prefix_length," \ + " d.client_class," \ + " d.require_client_classes," \ + " d.user_context," \ + " s.ddns_send_updates," \ + " s.ddns_override_no_update," \ + " s.ddns_override_client_update," \ + " s.ddns_replace_client_name," \ + " s.ddns_generated_prefix," \ + " s.ddns_qualifying_suffix," \ + " s.reservations_in_subnet," \ + " s.reservations_out_of_pool," \ + " s.cache_threshold," \ + " s.cache_max_age," \ + " srv.tag " \ + "FROM dhcp6_subnet AS s " server_join \ + "LEFT JOIN dhcp6_pool AS p ON s.subnet_id = p.subnet_id " \ + "LEFT JOIN dhcp6_pd_pool AS d ON s.subnet_id = d.subnet_id " \ + "LEFT JOIN dhcp6_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " \ "LEFT JOIN dhcp6_options AS y ON y.scope_id = 6 AND d.id = y.pd_pool_id " \ - "LEFT JOIN dhcp6_options AS o ON o.scope_id = 1 AND s.subnet_id = o.dhcp6_subnet_id " \ - #__VA_ARGS__ \ + "LEFT JOIN dhcp6_options AS o ON o.scope_id = 1 AND s.subnet_id = " \ + "o.dhcp6_subnet_id " #__VA_ARGS__ \ " ORDER BY s.subnet_id, p.id, d.id, x.option_id, y.option_id, o.option_id" -#define PGSQL_GET_SUBNET6_NO_TAG(...) \ - PGSQL_GET_SUBNET6_COMMON( \ - "INNER JOIN dhcp6_subnet_server AS a " \ - " ON s.subnet_id = a.subnet_id " \ - "INNER JOIN dhcp6_server AS srv " \ - " ON (a.server_id = srv.id) ", \ - __VA_ARGS__) - -#define PGSQL_GET_SUBNET6_ANY(...) \ - PGSQL_GET_SUBNET6_COMMON( \ - "LEFT JOIN dhcp6_subnet_server AS a "\ - " ON s.subnet_id = a.subnet_id " \ - "LEFT JOIN dhcp6_server AS srv " \ - " ON a.server_id = srv.id ", \ - __VA_ARGS__) - -#define PGSQL_GET_SUBNET6_UNASSIGNED(...) \ - PGSQL_GET_SUBNET6_COMMON( \ - "LEFT JOIN dhcp6_subnet_server AS a "\ - " ON s.subnet_id = a.subnet_id " \ - "LEFT JOIN dhcp6_server AS srv " \ - " ON a.server_id = srv.id ", \ - WHERE a.subnet_id IS NULL __VA_ARGS__) +#define PGSQL_GET_SUBNET6_NO_TAG(...) \ + PGSQL_GET_SUBNET6_COMMON("INNER JOIN dhcp6_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "INNER JOIN dhcp6_server AS srv " \ + " ON (a.server_id = srv.id) ", \ + __VA_ARGS__) + +#define PGSQL_GET_SUBNET6_ANY(...) \ + PGSQL_GET_SUBNET6_COMMON("LEFT JOIN dhcp6_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "LEFT JOIN dhcp6_server AS srv " \ + " ON a.server_id = srv.id ", \ + __VA_ARGS__) + +#define PGSQL_GET_SUBNET6_UNASSIGNED(...) \ + PGSQL_GET_SUBNET6_COMMON("LEFT JOIN dhcp6_subnet_server AS a " \ + " ON s.subnet_id = a.subnet_id " \ + "LEFT JOIN dhcp6_server AS srv " \ + " ON a.server_id = srv.id ", \ + WHERE a.subnet_id IS NULL __VA_ARGS__) #endif #ifndef PGSQL_GET_POOL4_COMMON -#define PGSQL_GET_POOL4_COMMON(server_join, ...) \ - "SELECT" \ - " p.id," \ - " p.start_address," \ - " p.end_address," \ - " p.subnet_id," \ - " p.client_class," \ - " p.require_client_classes," \ - " p.user_context," \ - " p.modification_ts," \ - " x.option_id," \ - " x.code," \ - " x.value," \ - " x.formatted_value," \ - " x.space," \ - " x.persistent," \ - " x.dhcp4_subnet_id," \ - " x.scope_id," \ - " x.user_context," \ - " x.shared_network_name," \ - " x.pool_id," \ - " x.modification_ts " \ - "FROM dhcp4_pool AS p " \ - server_join \ - "LEFT JOIN dhcp4_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " \ - #__VA_ARGS__ \ - " ORDER BY p.id, x.option_id" - -#define PGSQL_GET_POOL4_RANGE_WITH_TAG(...) \ - PGSQL_GET_POOL4_COMMON( \ - "INNER JOIN dhcp4_subnet_server AS s ON p.subnet_id = s.subnet_id " \ - "INNER JOIN dhcp4_server AS srv " \ - " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ - __VA_ARGS__) - -#define PGSQL_GET_POOL4_RANGE_NO_TAG(...) \ - PGSQL_GET_POOL4_COMMON("", __VA_ARGS__) +#define PGSQL_GET_POOL4_COMMON(server_join, ...) \ + "SELECT" \ + " p.id," \ + " p.start_address," \ + " p.end_address," \ + " p.subnet_id," \ + " p.client_class," \ + " p.require_client_classes," \ + " p.user_context," \ + " p.modification_ts," \ + " x.option_id," \ + " x.code," \ + " x.value," \ + " x.formatted_value," \ + " x.space," \ + " x.persistent," \ + " x.dhcp4_subnet_id," \ + " x.scope_id," \ + " x.user_context," \ + " x.shared_network_name," \ + " x.pool_id," \ + " x.modification_ts " \ + "FROM dhcp4_pool AS p " server_join \ + "LEFT JOIN dhcp4_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " #__VA_ARGS__ \ + " ORDER BY p.id, x.option_id" + +#define PGSQL_GET_POOL4_RANGE_WITH_TAG(...) \ + PGSQL_GET_POOL4_COMMON("INNER JOIN dhcp4_subnet_server AS s ON p.subnet_id = s.subnet_id " \ + "INNER JOIN dhcp4_server AS srv " \ + " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ + __VA_ARGS__) + +#define PGSQL_GET_POOL4_RANGE_NO_TAG(...) PGSQL_GET_POOL4_COMMON("", __VA_ARGS__) #endif #ifndef PGSQL_GET_POOL6_COMMON -#define PGSQL_GET_POOL6_COMMON(server_join, ...) \ - "SELECT" \ - " p.id," \ - " p.start_address," \ - " p.end_address," \ - " p.subnet_id," \ - " p.client_class," \ - " p.require_client_classes," \ - " p.user_context," \ - " p.modification_ts," \ - " x.option_id," \ - " x.code," \ - " x.value," \ - " x.formatted_value," \ - " x.space," \ - " x.persistent," \ - " x.dhcp6_subnet_id," \ - " x.scope_id," \ - " x.user_context," \ - " x.shared_network_name," \ - " x.pool_id," \ - " x.modification_ts," \ - " x.pd_pool_id " \ - "FROM dhcp6_pool AS p " \ - server_join \ - "LEFT JOIN dhcp6_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " \ - #__VA_ARGS__ \ +#define PGSQL_GET_POOL6_COMMON(server_join, ...) \ + "SELECT" \ + " p.id," \ + " p.start_address," \ + " p.end_address," \ + " p.subnet_id," \ + " p.client_class," \ + " p.require_client_classes," \ + " p.user_context," \ + " p.modification_ts," \ + " x.option_id," \ + " x.code," \ + " x.value," \ + " x.formatted_value," \ + " x.space," \ + " x.persistent," \ + " x.dhcp6_subnet_id," \ + " x.scope_id," \ + " x.user_context," \ + " x.shared_network_name," \ + " x.pool_id," \ + " x.modification_ts," \ + " x.pd_pool_id " \ + "FROM dhcp6_pool AS p " server_join \ + "LEFT JOIN dhcp6_options AS x ON x.scope_id = 5 AND p.id = x.pool_id " #__VA_ARGS__ \ " ORDER BY p.id, x.option_id" -#define PGSQL_GET_POOL6_RANGE_WITH_TAG(...) \ - PGSQL_GET_POOL6_COMMON( \ - "INNER JOIN dhcp6_subnet_server AS s ON p.subnet_id = s.subnet_id " \ - "INNER JOIN dhcp6_server AS srv " \ - " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ - __VA_ARGS__) +#define PGSQL_GET_POOL6_RANGE_WITH_TAG(...) \ + PGSQL_GET_POOL6_COMMON("INNER JOIN dhcp6_subnet_server AS s ON p.subnet_id = s.subnet_id " \ + "INNER JOIN dhcp6_server AS srv " \ + " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ + __VA_ARGS__) -#define PGSQL_GET_POOL6_RANGE_NO_TAG(...) \ - PGSQL_GET_POOL6_COMMON("", __VA_ARGS__) +#define PGSQL_GET_POOL6_RANGE_NO_TAG(...) PGSQL_GET_POOL6_COMMON("", __VA_ARGS__) #endif #ifndef PGSQL_GET_PD_POOL_COMMON -#define PGSQL_GET_PD_POOL_COMMON(server_join, ...) \ - "SELECT" \ - " p.id," \ - " p.prefix," \ - " p.prefix_length," \ - " p.delegated_prefix_length," \ - " p.subnet_id," \ - " p.excluded_prefix," \ - " p.excluded_prefix_length," \ - " p.client_class," \ - " p.require_client_classes," \ - " p.user_context," \ - " p.modification_ts," \ - " x.option_id," \ - " x.code," \ - " x.value," \ - " x.formatted_value," \ - " x.space," \ - " x.persistent," \ - " x.dhcp6_subnet_id," \ - " x.scope_id," \ - " x.user_context," \ - " x.shared_network_name," \ - " x.pool_id," \ - " x.modification_ts," \ - " x.pd_pool_id " \ - "FROM dhcp6_pd_pool AS p " \ - server_join \ - "LEFT JOIN dhcp6_options AS x ON x.scope_id = 6 AND p.id = x.pd_pool_id " \ - #__VA_ARGS__ \ - " ORDER BY p.id, x.option_id" \ - -#define PGSQL_GET_PD_POOL_WITH_TAG(...) \ - PGSQL_GET_PD_POOL_COMMON( \ - "INNER JOIN dhcp6_subnet_server AS s ON p.subnet_id = s.subnet_id " \ - "INNER JOIN dhcp6_server AS srv " \ - " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ - __VA_ARGS__) - -#define PGSQL_GET_PD_POOL_NO_TAG(...) \ - PGSQL_GET_PD_POOL_COMMON("", __VA_ARGS__) +#define PGSQL_GET_PD_POOL_COMMON(server_join, ...) \ + "SELECT" \ + " p.id," \ + " p.prefix," \ + " p.prefix_length," \ + " p.delegated_prefix_length," \ + " p.subnet_id," \ + " p.excluded_prefix," \ + " p.excluded_prefix_length," \ + " p.client_class," \ + " p.require_client_classes," \ + " p.user_context," \ + " p.modification_ts," \ + " x.option_id," \ + " x.code," \ + " x.value," \ + " x.formatted_value," \ + " x.space," \ + " x.persistent," \ + " x.dhcp6_subnet_id," \ + " x.scope_id," \ + " x.user_context," \ + " x.shared_network_name," \ + " x.pool_id," \ + " x.modification_ts," \ + " x.pd_pool_id " \ + "FROM dhcp6_pd_pool AS p " server_join \ + "LEFT JOIN dhcp6_options AS x ON x.scope_id = 6 AND p.id = x.pd_pool_id " #__VA_ARGS__ \ + " ORDER BY p.id, x.option_id" + +#define PGSQL_GET_PD_POOL_WITH_TAG(...) \ + PGSQL_GET_PD_POOL_COMMON("INNER JOIN dhcp6_subnet_server AS s ON p.subnet_id = s.subnet_id " \ + "INNER JOIN dhcp6_server AS srv " \ + " ON (s.server_id = srv.id) OR (s.server_id = 1) ", \ + __VA_ARGS__) + +#define PGSQL_GET_PD_POOL_NO_TAG(...) PGSQL_GET_PD_POOL_COMMON("", __VA_ARGS__) #endif #ifndef PGSQL_GET_SHARED_NETWORK4 -#define PGSQL_GET_SHARED_NETWORK4_COMMON(server_join, ...) \ - "SELECT" \ - " n.id," \ - " n.name," \ - " n.client_class," \ - " n.interface," \ - " n.match_client_id," \ - " n.modification_ts," \ - " n.rebind_timer," \ - " n.relay," \ - " n.renew_timer," \ - " n.require_client_classes," \ - " n.reservations_global," \ - " n.user_context," \ - " n.valid_lifetime," \ - " o.option_id," \ - " o.code," \ - " o.value," \ - " o.formatted_value," \ - " o.space," \ - " o.persistent," \ - " o.dhcp4_subnet_id," \ - " o.scope_id," \ - " o.user_context," \ - " o.shared_network_name," \ - " o.pool_id," \ - " o.modification_ts," \ - " n.calculate_tee_times," \ - " n.t1_percent," \ - " n.t2_percent," \ - " n.authoritative," \ - " n.boot_file_name," \ - " n.next_server," \ - " n.server_hostname," \ - " n.min_valid_lifetime," \ - " n.max_valid_lifetime," \ - " n.ddns_send_updates," \ - " n.ddns_override_no_update," \ - " n.ddns_override_client_update," \ - " n.ddns_replace_client_name," \ - " n.ddns_generated_prefix," \ - " n.ddns_qualifying_suffix," \ - " n.reservations_in_subnet," \ - " n.reservations_out_of_pool," \ - " n.cache_threshold," \ - " n.cache_max_age," \ - " s.tag " \ - "FROM dhcp4_shared_network AS n " \ - server_join \ - "LEFT JOIN dhcp4_options AS o ON o.scope_id = 4 AND n.name = o.shared_network_name " \ - #__VA_ARGS__ \ - " ORDER BY n.id, s.id, o.option_id" - -#define PGSQL_GET_SHARED_NETWORK4_NO_TAG(...) \ - PGSQL_GET_SHARED_NETWORK4_COMMON( \ - "INNER JOIN dhcp4_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "INNER JOIN dhcp4_server AS s " \ - " ON (a.server_id = s.id) ", \ - __VA_ARGS__) - -#define PGSQL_GET_SHARED_NETWORK4_ANY(...) \ - PGSQL_GET_SHARED_NETWORK4_COMMON( \ - "LEFT JOIN dhcp4_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "LEFT JOIN dhcp4_server AS s " \ - " ON a.server_id = s.id ", \ - __VA_ARGS__) - -#define PGSQL_GET_SHARED_NETWORK4_UNASSIGNED(...) \ - PGSQL_GET_SHARED_NETWORK4_COMMON( \ - "LEFT JOIN dhcp4_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "LEFT JOIN dhcp4_server AS s " \ - " ON a.server_id = s.id ", \ - WHERE a.shared_network_id IS NULL __VA_ARGS__) +#define PGSQL_GET_SHARED_NETWORK4_COMMON(server_join, ...) \ + "SELECT" \ + " n.id," \ + " n.name," \ + " n.client_class," \ + " n.interface," \ + " n.match_client_id," \ + " n.modification_ts," \ + " n.rebind_timer," \ + " n.relay," \ + " n.renew_timer," \ + " n.require_client_classes," \ + " n.reservations_global," \ + " n.user_context," \ + " n.valid_lifetime," \ + " o.option_id," \ + " o.code," \ + " o.value," \ + " o.formatted_value," \ + " o.space," \ + " o.persistent," \ + " o.dhcp4_subnet_id," \ + " o.scope_id," \ + " o.user_context," \ + " o.shared_network_name," \ + " o.pool_id," \ + " o.modification_ts," \ + " n.calculate_tee_times," \ + " n.t1_percent," \ + " n.t2_percent," \ + " n.authoritative," \ + " n.boot_file_name," \ + " n.next_server," \ + " n.server_hostname," \ + " n.min_valid_lifetime," \ + " n.max_valid_lifetime," \ + " n.ddns_send_updates," \ + " n.ddns_override_no_update," \ + " n.ddns_override_client_update," \ + " n.ddns_replace_client_name," \ + " n.ddns_generated_prefix," \ + " n.ddns_qualifying_suffix," \ + " n.reservations_in_subnet," \ + " n.reservations_out_of_pool," \ + " n.cache_threshold," \ + " n.cache_max_age," \ + " s.tag " \ + "FROM dhcp4_shared_network AS n " server_join \ + "LEFT JOIN dhcp4_options AS o ON o.scope_id = 4 AND n.name = " \ + "o.shared_network_name " #__VA_ARGS__ " ORDER BY n.id, s.id, o.option_id" + +#define PGSQL_GET_SHARED_NETWORK4_NO_TAG(...) \ + PGSQL_GET_SHARED_NETWORK4_COMMON("INNER JOIN dhcp4_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "INNER JOIN dhcp4_server AS s " \ + " ON (a.server_id = s.id) ", \ + __VA_ARGS__) + +#define PGSQL_GET_SHARED_NETWORK4_ANY(...) \ + PGSQL_GET_SHARED_NETWORK4_COMMON("LEFT JOIN dhcp4_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "LEFT JOIN dhcp4_server AS s " \ + " ON a.server_id = s.id ", \ + __VA_ARGS__) + +#define PGSQL_GET_SHARED_NETWORK4_UNASSIGNED(...) \ + PGSQL_GET_SHARED_NETWORK4_COMMON("LEFT JOIN dhcp4_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "LEFT JOIN dhcp4_server AS s " \ + " ON a.server_id = s.id ", \ + WHERE a.shared_network_id IS NULL __VA_ARGS__) #endif #ifndef PGSQL_GET_SHARED_NETWORK6 -#define PGSQL_GET_SHARED_NETWORK6_COMMON(server_join, ...) \ - "SELECT" \ - " n.id," \ - " n.name," \ - " n.client_class," \ - " n.interface," \ - " n.modification_ts," \ - " n.preferred_lifetime," \ - " n.rapid_commit," \ - " n.rebind_timer," \ - " n.relay," \ - " n.renew_timer," \ - " n.require_client_classes," \ - " n.reservations_global," \ - " n.user_context," \ - " n.valid_lifetime," \ - " o.option_id," \ - " o.code," \ - " o.value," \ - " o.formatted_value," \ - " o.space," \ - " o.persistent," \ - " o.dhcp6_subnet_id," \ - " o.scope_id," \ - " o.user_context," \ - " o.shared_network_name," \ - " o.pool_id," \ - " o.modification_ts," \ - " o.pd_pool_id, " \ - " n.calculate_tee_times," \ - " n.t1_percent," \ - " n.t2_percent," \ - " n.interface_id," \ - " n.min_preferred_lifetime," \ - " n.max_preferred_lifetime," \ - " n.min_valid_lifetime," \ - " n.max_valid_lifetime," \ - " n.ddns_send_updates," \ - " n.ddns_override_no_update," \ - " n.ddns_override_client_update," \ - " n.ddns_replace_client_name," \ - " n.ddns_generated_prefix," \ - " n.ddns_qualifying_suffix," \ - " n.reservations_in_subnet," \ - " n.reservations_out_of_pool," \ - " n.cache_threshold," \ - " n.cache_max_age," \ - " s.tag " \ - "FROM dhcp6_shared_network AS n " \ - server_join \ - "LEFT JOIN dhcp6_options AS o ON o.scope_id = 4 AND n.name = o.shared_network_name " \ - #__VA_ARGS__ \ - " ORDER BY n.id, s.id, o.option_id" - -#define PGSQL_GET_SHARED_NETWORK6_NO_TAG(...) \ - PGSQL_GET_SHARED_NETWORK6_COMMON( \ - "INNER JOIN dhcp6_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "INNER JOIN dhcp6_server AS s " \ - " ON (a.server_id = s.id) ", \ - __VA_ARGS__) - -#define PGSQL_GET_SHARED_NETWORK6_ANY(...) \ - PGSQL_GET_SHARED_NETWORK6_COMMON( \ - "LEFT JOIN dhcp6_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "LEFT JOIN dhcp6_server AS s " \ - " ON a.server_id = s.id ", \ - __VA_ARGS__) - -#define PGSQL_GET_SHARED_NETWORK6_UNASSIGNED(...) \ - PGSQL_GET_SHARED_NETWORK6_COMMON( \ - "LEFT JOIN dhcp6_shared_network_server AS a " \ - " ON n.id = a.shared_network_id " \ - "LEFT JOIN dhcp6_server AS s " \ - " ON a.server_id = s.id ", \ - WHERE a.shared_network_id IS NULL __VA_ARGS__) +#define PGSQL_GET_SHARED_NETWORK6_COMMON(server_join, ...) \ + "SELECT" \ + " n.id," \ + " n.name," \ + " n.client_class," \ + " n.interface," \ + " n.modification_ts," \ + " n.preferred_lifetime," \ + " n.rapid_commit," \ + " n.rebind_timer," \ + " n.relay," \ + " n.renew_timer," \ + " n.require_client_classes," \ + " n.reservations_global," \ + " n.user_context," \ + " n.valid_lifetime," \ + " o.option_id," \ + " o.code," \ + " o.value," \ + " o.formatted_value," \ + " o.space," \ + " o.persistent," \ + " o.dhcp6_subnet_id," \ + " o.scope_id," \ + " o.user_context," \ + " o.shared_network_name," \ + " o.pool_id," \ + " o.modification_ts," \ + " o.pd_pool_id, " \ + " n.calculate_tee_times," \ + " n.t1_percent," \ + " n.t2_percent," \ + " n.interface_id," \ + " n.min_preferred_lifetime," \ + " n.max_preferred_lifetime," \ + " n.min_valid_lifetime," \ + " n.max_valid_lifetime," \ + " n.ddns_send_updates," \ + " n.ddns_override_no_update," \ + " n.ddns_override_client_update," \ + " n.ddns_replace_client_name," \ + " n.ddns_generated_prefix," \ + " n.ddns_qualifying_suffix," \ + " n.reservations_in_subnet," \ + " n.reservations_out_of_pool," \ + " n.cache_threshold," \ + " n.cache_max_age," \ + " s.tag " \ + "FROM dhcp6_shared_network AS n " server_join \ + "LEFT JOIN dhcp6_options AS o ON o.scope_id = 4 AND n.name = " \ + "o.shared_network_name " #__VA_ARGS__ " ORDER BY n.id, s.id, o.option_id" + +#define PGSQL_GET_SHARED_NETWORK6_NO_TAG(...) \ + PGSQL_GET_SHARED_NETWORK6_COMMON("INNER JOIN dhcp6_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "INNER JOIN dhcp6_server AS s " \ + " ON (a.server_id = s.id) ", \ + __VA_ARGS__) + +#define PGSQL_GET_SHARED_NETWORK6_ANY(...) \ + PGSQL_GET_SHARED_NETWORK6_COMMON("LEFT JOIN dhcp6_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "LEFT JOIN dhcp6_server AS s " \ + " ON a.server_id = s.id ", \ + __VA_ARGS__) + +#define PGSQL_GET_SHARED_NETWORK6_UNASSIGNED(...) \ + PGSQL_GET_SHARED_NETWORK6_COMMON("LEFT JOIN dhcp6_shared_network_server AS a " \ + " ON n.id = a.shared_network_id " \ + "LEFT JOIN dhcp6_server AS s " \ + " ON a.server_id = s.id ", \ + WHERE a.shared_network_id IS NULL __VA_ARGS__) #endif #ifndef PGSQL_GET_OPTION_DEF -#define PGSQL_GET_OPTION_DEF(table_prefix, ...) \ - "SELECT" \ - " d.id," \ - " d.code," \ - " d.name," \ - " d.space," \ - " d.type," \ - " d.modification_ts," \ - " d.is_array," \ - " d.encapsulate," \ - " d.record_types," \ - " d.user_context," \ - " s.tag " \ - "FROM " #table_prefix "_option_def AS d " \ +#define PGSQL_GET_OPTION_DEF(table_prefix, ...) \ + "SELECT" \ + " d.id," \ + " d.code," \ + " d.name," \ + " d.space," \ + " d.type," \ + " d.modification_ts," \ + " d.is_array," \ + " d.encapsulate," \ + " d.record_types," \ + " d.user_context," \ + " s.tag " \ + "FROM " #table_prefix "_option_def AS d " \ "INNER JOIN " #table_prefix "_option_def_server AS a" \ - " ON d.id = a.option_def_id " \ - "INNER JOIN " #table_prefix "_server AS s " \ - " ON a.server_id = s.id " \ - "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ \ - " ORDER BY d.id" + " ON d.id = a.option_def_id " \ + "INNER JOIN " #table_prefix "_server AS s " \ + " ON a.server_id = s.id " \ + "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ " ORDER BY d.id" #endif #ifndef PGSQL_GET_OPTION_COMMON -#define PGSQL_GET_OPTION_COMMON(table_prefix, pd_pool_id, ...) \ - "SELECT" \ - " o.option_id," \ - " o.code," \ - " o.value," \ - " o.formatted_value," \ - " o.space," \ - " o.persistent," \ - " o." #table_prefix "_subnet_id," \ - " o.scope_id," \ - " o.user_context," \ - " o.shared_network_name," \ - " o.pool_id," \ - " o.modification_ts," \ - " s.tag " \ - pd_pool_id \ - "FROM " #table_prefix "_options AS o " \ - "INNER JOIN " #table_prefix "_options_server AS a" \ - " ON o.option_id = a.option_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ - "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ \ - " ORDER BY o.option_id, s.id" - -#define PGSQL_GET_OPTION4(...) \ - PGSQL_GET_OPTION_COMMON(dhcp4, "", __VA_ARGS__) -#define PGSQL_GET_OPTION6(...) \ - PGSQL_GET_OPTION_COMMON(dhcp6, ", o.pd_pool_id ", __VA_ARGS__) +#define PGSQL_GET_OPTION_COMMON(table_prefix, pd_pool_id, ...) \ + "SELECT" \ + " o.option_id," \ + " o.code," \ + " o.value," \ + " o.formatted_value," \ + " o.space," \ + " o.persistent," \ + " o." #table_prefix "_subnet_id," \ + " o.scope_id," \ + " o.user_context," \ + " o.shared_network_name," \ + " o.pool_id," \ + " o.modification_ts," \ + " s.tag " pd_pool_id "FROM " #table_prefix "_options AS o " \ + "INNER JOIN " #table_prefix "_options_server AS a" \ + " ON o.option_id = a.option_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " \ + "WHERE (s.tag = ? OR s.id = 1) " #__VA_ARGS__ " ORDER BY o.option_id, s.id" + +#define PGSQL_GET_OPTION4(...) PGSQL_GET_OPTION_COMMON(dhcp4, "", __VA_ARGS__) +#define PGSQL_GET_OPTION6(...) PGSQL_GET_OPTION_COMMON(dhcp6, ", o.pd_pool_id ", __VA_ARGS__) #endif #ifndef PGSQL_GET_AUDIT_ENTRIES_TIME -#define PGSQL_GET_AUDIT_ENTRIES_TIME(table_prefix) \ - "SELECT" \ - " a.id," \ - " a.object_type," \ - " a.object_id," \ - " a.modification_type," \ - " r.modification_ts," \ - " r.id, " \ - " r.log_message " \ - "FROM " #table_prefix "_audit AS a " \ - "INNER JOIN " #table_prefix "_audit_revision AS r " \ - " ON a.revision_id = r.id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON r.server_id = s.id " \ +#define PGSQL_GET_AUDIT_ENTRIES_TIME(table_prefix) \ + "SELECT" \ + " a.id," \ + " a.object_type," \ + " a.object_id," \ + " a.modification_type," \ + " r.modification_ts," \ + " r.id, " \ + " r.log_message " \ + "FROM " #table_prefix "_audit AS a " \ + "INNER JOIN " #table_prefix "_audit_revision AS r " \ + " ON a.revision_id = r.id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON r.server_id = s.id " \ "WHERE (s.tag = ? OR s.id = 1) AND ((r.modification_ts, r.id) > (?, ?))" \ " ORDER BY r.modification_ts, r.id" #endif #ifndef PGSQL_GET_SERVERS_COMMON #define PGSQL_GET_SERVERS_COMMON(table_prefix, ...) \ - "SELECT" \ - " s.id," \ - " s.tag," \ - " s.description," \ - " s.modification_ts " \ - "FROM " #table_prefix "_server AS s " \ - "WHERE s.id > 1 " \ - __VA_ARGS__ \ - "ORDER BY s.id" -#define PGSQL_GET_ALL_SERVERS(table_prefix) \ - PGSQL_GET_SERVERS_COMMON(table_prefix, "") -#define PGSQL_GET_SERVER(table_prefix) \ - PGSQL_GET_SERVERS_COMMON(table_prefix, "AND s.tag = ? ") + "SELECT" \ + " s.id," \ + " s.tag," \ + " s.description," \ + " s.modification_ts " \ + "FROM " #table_prefix "_server AS s " \ + "WHERE s.id > 1 " __VA_ARGS__ "ORDER BY s.id" +#define PGSQL_GET_ALL_SERVERS(table_prefix) PGSQL_GET_SERVERS_COMMON(table_prefix, "") +#define PGSQL_GET_SERVER(table_prefix) PGSQL_GET_SERVERS_COMMON(table_prefix, "AND s.tag = ? ") #endif #ifndef PGSQL_INSERT_GLOBAL_PARAMETER -#define PGSQL_INSERT_GLOBAL_PARAMETER(table_prefix) \ +#define PGSQL_INSERT_GLOBAL_PARAMETER(table_prefix) \ "INSERT INTO " #table_prefix "_global_parameter(" \ - " name," \ - " value," \ - " parameter_type," \ - " modification_ts" \ + " name," \ + " value," \ + " parameter_type," \ + " modification_ts" \ ") VALUES (?, ?, ?, ?)" #endif #ifndef PGSQL_INSERT_GLOBAL_PARAMETER_SERVER -#define PGSQL_INSERT_GLOBAL_PARAMETER_SERVER(table_prefix) \ +#define PGSQL_INSERT_GLOBAL_PARAMETER_SERVER(table_prefix) \ "INSERT INTO " #table_prefix "_global_parameter_server(" \ - " parameter_id," \ - " modification_ts," \ - " server_id" \ + " parameter_id," \ + " modification_ts," \ + " server_id" \ ") VALUES (?, ?, (SELECT id FROM " #table_prefix "_server WHERE tag = ?))" #endif #ifndef PGSQL_INSERT_SUBNET_SERVER -#define PGSQL_INSERT_SUBNET_SERVER(table_prefix) \ +#define PGSQL_INSERT_SUBNET_SERVER(table_prefix) \ "INSERT INTO " #table_prefix "_subnet_server(" \ - " subnet_id," \ - " modification_ts," \ - " server_id" \ + " subnet_id," \ + " modification_ts," \ + " server_id" \ ") VALUES (?, ?, (SELECT id FROM " #table_prefix "_server WHERE tag = ?))" #endif #ifndef PGSQL_INSERT_POOL -#define PGSQL_INSERT_POOL(table_prefix) \ +#define PGSQL_INSERT_POOL(table_prefix) \ "INSERT INTO " #table_prefix "_pool(" \ - " start_address," \ - " end_address," \ - " subnet_id," \ - " client_class," \ - " require_client_classes," \ - " user_context," \ - " modification_ts" \ + " start_address," \ + " end_address," \ + " subnet_id," \ + " client_class," \ + " require_client_classes," \ + " user_context," \ + " modification_ts" \ ") VALUES (?, ?, ?, ?, ?, ?, ?)" #endif #ifndef PGSQL_INSERT_PD_POOL -#define PGSQL_INSERT_PD_POOL() \ +#define PGSQL_INSERT_PD_POOL() \ "INSERT INTO dhcp6_pd_pool(" \ - " prefix," \ - " prefix_length," \ + " prefix," \ + " prefix_length," \ " delegated_prefix_length," \ - " subnet_id," \ - " excluded_prefix," \ - " excluded_prefix_length," \ - " client_class," \ - " require_client_classes," \ - " user_context," \ - " modification_ts" \ + " subnet_id," \ + " excluded_prefix," \ + " excluded_prefix_length," \ + " client_class," \ + " require_client_classes," \ + " user_context," \ + " modification_ts" \ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" #endif #ifndef PGSQL_INSERT_SHARED_NETWORK_SERVER -#define PGSQL_INSERT_SHARED_NETWORK_SERVER(table_prefix) \ - "INSERT INTO " #table_prefix "_shared_network_server(" \ - " shared_network_id," \ - " modification_ts," \ - " server_id" \ - ") VALUES (" \ +#define PGSQL_INSERT_SHARED_NETWORK_SERVER(table_prefix) \ + "INSERT INTO " #table_prefix "_shared_network_server(" \ + " shared_network_id," \ + " modification_ts," \ + " server_id" \ + ") VALUES (" \ " (SELECT id FROM " #table_prefix "_shared_network WHERE name = ?), ?," \ - " (SELECT id FROM " #table_prefix "_server WHERE tag = ?)" \ + " (SELECT id FROM " #table_prefix "_server WHERE tag = ?)" \ ")" #endif #ifndef PGSQL_INSERT_OPTION_DEF -#define PGSQL_INSERT_OPTION_DEF(table_prefix) \ +#define PGSQL_INSERT_OPTION_DEF(table_prefix) \ "INSERT INTO " #table_prefix "_option_def (" \ - " code," \ - " name," \ - " space," \ - " type," \ - " modification_ts," \ - " is_array," \ - " encapsulate," \ - " record_types," \ - " user_context" \ + " code," \ + " name," \ + " space," \ + " type," \ + " modification_ts," \ + " is_array," \ + " encapsulate," \ + " record_types," \ + " user_context" \ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)" #endif #ifndef PGSQL_INSERT_OPTION_DEF_SERVER -#define PGSQL_INSERT_OPTION_DEF_SERVER(table_prefix) \ +#define PGSQL_INSERT_OPTION_DEF_SERVER(table_prefix) \ "INSERT INTO " #table_prefix "_option_def_server(" \ - " option_def_id," \ - " modification_ts," \ - " server_id" \ + " option_def_id," \ + " modification_ts," \ + " server_id" \ ") VALUES (?, ?, (SELECT id FROM " #table_prefix "_server WHERE tag = ?))" #endif #ifndef PGSQL_INSERT_OPTION_COMMON #define PGSQL_INSERT_OPTION_COMMON(table_prefix, pd_pool_id, last) \ - "INSERT INTO " #table_prefix "_options (" \ - " code," \ - " value," \ - " formatted_value," \ - " space," \ - " persistent," \ - " dhcp_client_class," \ - " " #table_prefix "_subnet_id," \ - " scope_id," \ - " user_context," \ - " shared_network_name," \ - " pool_id," \ - " modification_ts" \ - pd_pool_id \ - ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?" last ")" - -#define PGSQL_INSERT_OPTION4() \ - PGSQL_INSERT_OPTION_COMMON(dhcp4, "", "") -#define PGSQL_INSERT_OPTION6() \ - PGSQL_INSERT_OPTION_COMMON(dhcp6, ", pd_pool_id ", ", ?") + "INSERT INTO " #table_prefix "_options (" \ + " code," \ + " value," \ + " formatted_value," \ + " space," \ + " persistent," \ + " dhcp_client_class," \ + " " #table_prefix "_subnet_id," \ + " scope_id," \ + " user_context," \ + " shared_network_name," \ + " pool_id," \ + " modification_ts" pd_pool_id ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?" last ")" + +#define PGSQL_INSERT_OPTION4() PGSQL_INSERT_OPTION_COMMON(dhcp4, "", "") +#define PGSQL_INSERT_OPTION6() PGSQL_INSERT_OPTION_COMMON(dhcp6, ", pd_pool_id ", ", ?") #endif #ifndef PGSQL_INSERT_OPTION_SERVER -#define PGSQL_INSERT_OPTION_SERVER(table_prefix) \ +#define PGSQL_INSERT_OPTION_SERVER(table_prefix) \ "INSERT INTO " #table_prefix "_options_server (" \ - " option_id," \ - " modification_ts," \ - " server_id" \ + " option_id," \ + " modification_ts," \ + " server_id" \ ") VALUES (?, ?, (SELECT id FROM " #table_prefix "_server WHERE tag = ?))" #endif #ifndef PGSQL_INSERT_SERVER -#define PGSQL_INSERT_SERVER(table_prefix) \ +#define PGSQL_INSERT_SERVER(table_prefix) \ "INSERT INTO " #table_prefix "_server (" \ - " tag," \ - " description," \ - " modification_ts" \ + " tag," \ + " description," \ + " modification_ts" \ ") VALUES (?, ?, ?)" #endif #ifndef PGSQL_UPDATE_GLOBAL_PARAMETER -#define PGSQL_UPDATE_GLOBAL_PARAMETER(table_prefix) \ - "UPDATE " #table_prefix "_global_parameter AS g " \ +#define PGSQL_UPDATE_GLOBAL_PARAMETER(table_prefix) \ + "UPDATE " #table_prefix "_global_parameter AS g " \ "INNER JOIN " #table_prefix "_global_parameter_server AS a" \ - " ON g.id = a.parameter_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ - "SET" \ - " g.name = ?," \ - " g.value = ?," \ - " g.parameter_type = ?," \ - " g.modification_ts = ? " \ + " ON g.id = a.parameter_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " \ + "SET" \ + " g.name = ?," \ + " g.value = ?," \ + " g.parameter_type = ?," \ + " g.modification_ts = ? " \ "WHERE s.tag = ? AND g.name = ?" #endif #ifndef PGSQL_UPDATE_OPTION_DEF -#define PGSQL_UPDATE_OPTION_DEF(table_prefix) \ - "UPDATE " #table_prefix "_option_def AS d " \ +#define PGSQL_UPDATE_OPTION_DEF(table_prefix) \ + "UPDATE " #table_prefix "_option_def AS d " \ "INNER JOIN " #table_prefix "_option_def_server AS a" \ - " ON d.id = a.option_def_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ - "SET" \ - " d.code = ?," \ - " d.name = ?," \ - " d.space = ?," \ - " d.type = ?," \ - " d.modification_ts = ?," \ - " d.is_array = ?," \ - " d.encapsulate = ?," \ - " d.record_types = ?," \ - " d.user_context = ? " \ + " ON d.id = a.option_def_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " \ + "SET" \ + " d.code = ?," \ + " d.name = ?," \ + " d.space = ?," \ + " d.type = ?," \ + " d.modification_ts = ?," \ + " d.is_array = ?," \ + " d.encapsulate = ?," \ + " d.record_types = ?," \ + " d.user_context = ? " \ "WHERE s.tag = ? AND d.code = ? AND d.space = ?" #endif #ifndef PGSQL_UPDATE_OPTION_COMMON #define PGSQL_UPDATE_OPTION_COMMON(table_prefix, server_join, pd_pool_id, ...) \ - "UPDATE " #table_prefix "_options AS o " \ - server_join \ - "SET" \ - " o.code = ?," \ - " o.value = ?," \ - " o.formatted_value = ?," \ - " o.space = ?," \ - " o.persistent = ?," \ - " o.dhcp_client_class = ?," \ - " o." #table_prefix "_subnet_id = ?," \ - " o.scope_id = ?," \ - " o.user_context = ?," \ - " o.shared_network_name = ?," \ - " o.pool_id = ?," \ - " o.modification_ts = ? " \ - pd_pool_id \ - "WHERE " #__VA_ARGS__ + "UPDATE " #table_prefix "_options AS o " server_join "SET" \ + " o.code = ?," \ + " o.value = ?," \ + " o.formatted_value = ?," \ + " o.space = ?," \ + " o.persistent = ?," \ + " o.dhcp_client_class = ?," \ + " o." #table_prefix "_subnet_id = ?," \ + " o.scope_id = ?," \ + " o.user_context = ?," \ + " o.shared_network_name = ?," \ + " o.pool_id = ?," \ + " o.modification_ts = ? " pd_pool_id "WHERE " #__VA_ARGS__ #define PGSQL_UPDATE_OPTION4_WITH_TAG(...) \ PGSQL_UPDATE_OPTION_COMMON(dhcp4, \ @@ -859,8 +809,7 @@ namespace { " ON a.server_id = s.id ", \ "", s.tag = ? __VA_ARGS__) -#define PGSQL_UPDATE_OPTION4_NO_TAG(...) \ - PGSQL_UPDATE_OPTION_COMMON(dhcp4, "", "", __VA_ARGS__) +#define PGSQL_UPDATE_OPTION4_NO_TAG(...) PGSQL_UPDATE_OPTION_COMMON(dhcp4, "", "", __VA_ARGS__) #define PGSQL_UPDATE_OPTION6_WITH_TAG(...) \ PGSQL_UPDATE_OPTION_COMMON(dhcp6, \ @@ -876,73 +825,71 @@ namespace { #ifndef PGSQL_UPDATE_SERVER #define PGSQL_UPDATE_SERVER(table_prefix) \ - "UPDATE " #table_prefix "_server " \ - "SET" \ - " tag = ?," \ - " description = ?," \ - " modification_ts = ? " \ + "UPDATE " #table_prefix "_server " \ + "SET" \ + " tag = ?," \ + " description = ?," \ + " modification_ts = ? " \ "WHERE tag = ?" #endif #ifndef PGSQL_DELETE_GLOBAL_PARAMETER -#define PGSQL_DELETE_GLOBAL_PARAMETER(table_prefix, ...) \ - "DELETE g FROM " #table_prefix "_global_parameter AS g " \ +#define PGSQL_DELETE_GLOBAL_PARAMETER(table_prefix, ...) \ + "DELETE g FROM " #table_prefix "_global_parameter AS g " \ "INNER JOIN " #table_prefix "_global_parameter_server AS a " \ - " ON g.id = a.parameter_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON (a.server_id = s.id) " \ + " ON g.id = a.parameter_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON (a.server_id = s.id) " \ "WHERE s.tag = ? " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_GLOBAL_PARAMETER_UNASSIGNED #define PGSQL_DELETE_GLOBAL_PARAMETER_UNASSIGNED(table_prefix, ...) \ - "DELETE g FROM " #table_prefix "_global_parameter AS g " \ - "LEFT JOIN " #table_prefix "_global_parameter_server AS a " \ - " ON g.id = a.parameter_id " \ + "DELETE g FROM " #table_prefix "_global_parameter AS g " \ + "LEFT JOIN " #table_prefix "_global_parameter_server AS a " \ + " ON g.id = a.parameter_id " \ "WHERE a.parameter_id IS NULL " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_SUBNET -#define PGSQL_DELETE_SUBNET_COMMON(table_prefix, ...) \ - "DELETE s FROM " #table_prefix "_subnet AS s " \ +#define PGSQL_DELETE_SUBNET_COMMON(table_prefix, ...) \ + "DELETE s FROM " #table_prefix "_subnet AS s " \ "INNER JOIN " #table_prefix "_subnet_server AS a " \ - " ON s.subnet_id = a.subnet_id " \ - "INNER JOIN " #table_prefix "_server AS srv" \ - " ON a.server_id = srv.id " \ - #__VA_ARGS__ + " ON s.subnet_id = a.subnet_id " \ + "INNER JOIN " #table_prefix "_server AS srv" \ + " ON a.server_id = srv.id " #__VA_ARGS__ #define PGSQL_DELETE_SUBNET_WITH_TAG(table_prefix, ...) \ PGSQL_DELETE_SUBNET_COMMON(table_prefix, WHERE srv.tag = ? __VA_ARGS__) #define PGSQL_DELETE_SUBNET_ANY(table_prefix, ...) \ - "DELETE s FROM " #table_prefix "_subnet AS s " \ - #__VA_ARGS__ + "DELETE s FROM " #table_prefix "_subnet AS s " #__VA_ARGS__ #define PGSQL_DELETE_SUBNET_UNASSIGNED(table_prefix, ...) \ - "DELETE s FROM " #table_prefix "_subnet AS s " \ - "LEFT JOIN " #table_prefix "_subnet_server AS a" \ - " ON s.subnet_id = a.subnet_id " \ + "DELETE s FROM " #table_prefix "_subnet AS s " \ + "LEFT JOIN " #table_prefix "_subnet_server AS a" \ + " ON s.subnet_id = a.subnet_id " \ "WHERE a.subnet_id IS NULL " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_SUBNET_SERVER -#define PGSQL_DELETE_SUBNET_SERVER(table_prefix) \ +#define PGSQL_DELETE_SUBNET_SERVER(table_prefix) \ "DELETE FROM " #table_prefix "_subnet_server " \ "WHERE subnet_id = ?" #endif #ifndef PGSQL_DELETE_POOLS -#define PGSQL_DELETE_POOLS(table_prefix) \ - "DELETE FROM " #table_prefix "_pool " \ - "WHERE subnet_id = ? OR subnet_id = " \ +#define PGSQL_DELETE_POOLS(table_prefix) \ + "DELETE FROM " #table_prefix "_pool " \ + "WHERE subnet_id = ? OR subnet_id = " \ "(SELECT subnet_id FROM " #table_prefix "_subnet" \ " WHERE subnet_prefix = ?)" #endif #ifndef PGSQL_DELETE_PD_POOLS -#define PGSQL_DELETE_PD_POOLS() \ - "DELETE FROM dhcp6_pd_pool " \ +#define PGSQL_DELETE_PD_POOLS() \ + "DELETE FROM dhcp6_pd_pool " \ "WHERE subnet_id = ? OR subnet_id = " \ "(SELECT subnet_id FROM dhcp6_subnet" \ " WHERE subnet_prefix = ?)" @@ -950,118 +897,113 @@ namespace { #ifndef PGSQL_DELETE_SHARED_NETWORK_COMMON #define PGSQL_DELETE_SHARED_NETWORK_COMMON(table_prefix, ...) \ - "DELETE n FROM " #table_prefix "_shared_network AS n " \ + "DELETE n FROM " #table_prefix "_shared_network AS n " \ "INNER JOIN " #table_prefix "_shared_network_server AS a" \ - " ON n.id = a.shared_network_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ - #__VA_ARGS__ + " ON n.id = a.shared_network_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " #__VA_ARGS__ #define PGSQL_DELETE_SHARED_NETWORK_WITH_TAG(table_prefix, ...) \ PGSQL_DELETE_SHARED_NETWORK_COMMON(table_prefix, WHERE s.tag = ? __VA_ARGS__) #define PGSQL_DELETE_SHARED_NETWORK_ANY(table_prefix, ...) \ - "DELETE n FROM " #table_prefix "_shared_network AS n " \ - #__VA_ARGS__ + "DELETE n FROM " #table_prefix "_shared_network AS n " #__VA_ARGS__ #define PGSQL_DELETE_SHARED_NETWORK_UNASSIGNED(table_prefix, ...) \ - "DELETE n FROM " #table_prefix "_shared_network AS n " \ - "LEFT JOIN " #table_prefix "_shared_network_server AS a" \ - " ON n.id = a.shared_network_id " \ + "DELETE n FROM " #table_prefix "_shared_network AS n " \ + "LEFT JOIN " #table_prefix "_shared_network_server AS a" \ + " ON n.id = a.shared_network_id " \ "WHERE a.shared_network_id IS NULL " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_SHARED_NETWORK_SERVER -#define PGSQL_DELETE_SHARED_NETWORK_SERVER(table_prefix) \ +#define PGSQL_DELETE_SHARED_NETWORK_SERVER(table_prefix) \ "DELETE FROM " #table_prefix "_shared_network_server " \ - "WHERE shared_network_id = " \ + "WHERE shared_network_id = " \ "(SELECT id FROM " #table_prefix "_shared_network WHERE name = ?)" #endif #ifndef PGSQL_DELETE_OPTION_DEF -#define PGSQL_DELETE_OPTION_DEF(table_prefix, ...) \ - "DELETE d FROM " #table_prefix "_option_def AS d " \ +#define PGSQL_DELETE_OPTION_DEF(table_prefix, ...) \ + "DELETE d FROM " #table_prefix "_option_def AS d " \ "INNER JOIN " #table_prefix "_option_def_server AS a" \ - " ON d.id = a.option_def_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ + " ON d.id = a.option_def_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " \ "WHERE s.tag = ? " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_OPTION_DEF_UNASSIGNED #define PGSQL_DELETE_OPTION_DEF_UNASSIGNED(table_prefix, ...) \ - "DELETE d FROM " #table_prefix "_option_def AS d " \ - "LEFT JOIN " #table_prefix "_option_def_server AS a " \ - " ON d.id = a.option_def_id " \ + "DELETE d FROM " #table_prefix "_option_def AS d " \ + "LEFT JOIN " #table_prefix "_option_def_server AS a " \ + " ON d.id = a.option_def_id " \ "WHERE a.option_def_id IS NULL " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_OPTION_WITH_TAG #define PGSQL_DELETE_OPTION_WITH_TAG(table_prefix, ...) \ - "DELETE o FROM " #table_prefix "_options AS o " \ - "INNER JOIN " #table_prefix "_options_server AS a" \ - " ON o.option_id = a.option_id " \ - "INNER JOIN " #table_prefix "_server AS s" \ - " ON a.server_id = s.id " \ + "DELETE o FROM " #table_prefix "_options AS o " \ + "INNER JOIN " #table_prefix "_options_server AS a" \ + " ON o.option_id = a.option_id " \ + "INNER JOIN " #table_prefix "_server AS s" \ + " ON a.server_id = s.id " \ "WHERE s.tag = ? " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_OPTION_NO_TAG #define PGSQL_DELETE_OPTION_NO_TAG(table_prefix, ...) \ - "DELETE o FROM " #table_prefix "_options AS o " \ - #__VA_ARGS__ + "DELETE o FROM " #table_prefix "_options AS o " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_OPTION_SUBNET_ID_PREFIX #define PGSQL_DELETE_OPTION_SUBNET_ID_PREFIX(table_prefix) \ - "DELETE o FROM " #table_prefix "_options AS o " \ - "INNER JOIN " #table_prefix "_subnet AS s " \ - " ON s.subnet_id = o." #table_prefix "_subnet_id " \ + "DELETE o FROM " #table_prefix "_options AS o " \ + "INNER JOIN " #table_prefix "_subnet AS s " \ + " ON s.subnet_id = o." #table_prefix "_subnet_id " \ "WHERE o.scope_id = 1 AND (s.subnet_id = ? OR s.subnet_prefix = ?)" #endif #ifndef PGSQL_DELETE_OPTION_UNASSIGNED #define PGSQL_DELETE_OPTION_UNASSIGNED(table_prefix, ...) \ - "DELETE o FROM " #table_prefix "_options AS o " \ - "LEFT JOIN " #table_prefix "_options_server AS a " \ - " ON o.option_id = a.option_id " \ + "DELETE o FROM " #table_prefix "_options AS o " \ + "LEFT JOIN " #table_prefix "_options_server AS a " \ + " ON o.option_id = a.option_id " \ "WHERE a.option_id IS NULL " #__VA_ARGS__ #endif #ifndef PGSQL_DELETE_OPTION_POOL_RANGE #define PGSQL_DELETE_OPTION_POOL_RANGE(table_prefix, ...) \ - "DELETE o FROM " #table_prefix "_options AS o " \ - "WHERE " #__VA_ARGS__ \ - " AND o.pool_id = " \ - " (SELECT id FROM " #table_prefix "_pool" \ + "DELETE o FROM " #table_prefix "_options AS o " \ + "WHERE " #__VA_ARGS__ " AND o.pool_id = " \ + " (SELECT id FROM " #table_prefix "_pool" \ " WHERE start_address = ? AND end_address = ?)" #endif #ifndef PGSQL_DELETE_OPTION_PD_POOL -#define PGSQL_DELETE_OPTION_PD_POOL(...) \ - "DELETE o FROM dhcp6_options AS o " \ - "WHERE " #__VA_ARGS__ \ - " AND o.pd_pool_id = " \ - " (SELECT id FROM dhcp6_pd_pool" \ +#define PGSQL_DELETE_OPTION_PD_POOL(...) \ + "DELETE o FROM dhcp6_options AS o " \ + "WHERE " #__VA_ARGS__ " AND o.pd_pool_id = " \ + " (SELECT id FROM dhcp6_pd_pool" \ " WHERE prefix = ? AND prefix_length = ?)" #endif #ifndef PGSQL_DELETE_SERVER -#define PGSQL_DELETE_SERVER(table_prefix) \ +#define PGSQL_DELETE_SERVER(table_prefix) \ "DELETE FROM " #table_prefix "_server " \ "WHERE tag = ?" #endif #ifndef PGSQL_DELETE_ALL_SERVERS #define PGSQL_DELETE_ALL_SERVERS(table_prefix) \ - "DELETE FROM " #table_prefix "_server " \ + "DELETE FROM " #table_prefix "_server " \ "WHERE id > 1" #endif -} // end of anonymous namespace +} // end of anonymous namespace -} // end of namespace isc::dhcp -} // end of namespace isc +} // namespace dhcp +} // end of namespace isc #endif diff --git a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_mgr_unittest.cc b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_mgr_unittest.cc index 4d0bdd2153..b75fc986ef 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_mgr_unittest.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_mgr_unittest.cc @@ -5,13 +5,16 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include + #include #include -#include -#include #include +#include + #include + #include +#include using namespace isc::data; using namespace isc::dhcp; @@ -64,8 +67,8 @@ TEST_F(PgSqlConfigBackendDHCPv4MgrTest, factoryRegistration) { // Should be able to create a global parameter. StampedValuePtr server_tag = StampedValue::create("server-tag", "whale"); - ASSERT_NO_THROW(mgr.getPool()->createUpdateGlobalParameter4(pgsql, ServerSelector::ALL(), - server_tag)); + ASSERT_NO_THROW( + mgr.getPool()->createUpdateGlobalParameter4(pgsql, ServerSelector::ALL(), server_tag)); // Verify parameter can be fetched. server_tag.reset(); ASSERT_NO_THROW(server_tag = mgr.getPool()->getGlobalParameter4(pgsql, ServerSelector::ALL(), @@ -85,4 +88,4 @@ TEST_F(PgSqlConfigBackendDHCPv4MgrTest, factoryRegistration) { NoSuchDatabase); } -} +} // namespace diff --git a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_unittest.cc b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_unittest.cc index fa93da794f..bdd2153b45 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_unittest.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp4_unittest.cc @@ -5,8 +5,7 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include -#include -#include + #include #include #include @@ -27,8 +26,11 @@ #include #include + #include #include +#include +#include #include using namespace isc; @@ -49,7 +51,6 @@ namespace { /// It exposes protected members of the @c PgSqlConfigBackendDHCPv4. class TestPgSqlConfigBackendDHCPv4 : public PgSqlConfigBackendDHCPv4 { public: - /// @brief Constructor. /// /// @param parameters A data structure relating keywords and values @@ -59,7 +60,6 @@ public: } using PgSqlConfigBackendDHCPv4::base_impl_; - }; /// @brief Test fixture class for @c PgSqlConfigBackendDHCPv4. @@ -74,12 +74,10 @@ public: /// database. class PgSqlConfigBackendDHCPv4Test : public PgSqlGenericBackendTest { public: - /// @brief Constructor. PgSqlConfigBackendDHCPv4Test() - : test_subnets_(), test_networks_(), test_option_defs_(), - test_options_(), test_servers_(), timestamps_(), cbptr_(), - audit_entries_() { + : test_subnets_(), test_networks_(), test_option_defs_(), test_options_(), test_servers_(), + timestamps_(), cbptr_(), audit_entries_() { // Ensure we have the proper schema with no transient data. createPgSQLSchema(); @@ -156,8 +154,8 @@ public: Subnet4Ptr subnet(new Subnet4(IOAddress("192.0.2.0"), 24, 30, 40, 60, 1024)); subnet->get4o6().setIface4o6("eth0"); - subnet->get4o6().setInterfaceId(OptionPtr(new Option(Option::V6, D6O_INTERFACE_ID, - interface_id))); + subnet->get4o6().setInterfaceId( + OptionPtr(new Option(Option::V6, D6O_INTERFACE_ID, interface_id))); subnet->get4o6().setSubnet4o6(IOAddress("2001:db8:1::"), 64); subnet->setFilename("/tmp/filename"); subnet->allowClientClass("home"); @@ -188,16 +186,13 @@ public: subnet->addPool(pool2); // Add several options to the subnet. - subnet->getCfgOption()->add(test_options_[0]->option_, - test_options_[0]->persistent_, + subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, test_options_[0]->space_name_); - subnet->getCfgOption()->add(test_options_[1]->option_, - test_options_[1]->persistent_, + subnet->getCfgOption()->add(test_options_[1]->option_, test_options_[1]->persistent_, test_options_[1]->space_name_); - subnet->getCfgOption()->add(test_options_[2]->option_, - test_options_[2]->persistent_, + subnet->getCfgOption()->add(test_options_[2]->option_, test_options_[2]->persistent_, test_options_[2]->space_name_); test_subnets_.push_back(subnet); @@ -210,12 +205,10 @@ public: pool1.reset(new Pool4(IOAddress("10.0.0.10"), IOAddress("10.0.0.20"))); subnet->addPool(pool1); - pool1->getCfgOption()->add(test_options_[3]->option_, - test_options_[3]->persistent_, + pool1->getCfgOption()->add(test_options_[3]->option_, test_options_[3]->persistent_, test_options_[3]->space_name_); - pool1->getCfgOption()->add(test_options_[4]->option_, - test_options_[4]->persistent_, + pool1->getCfgOption()->add(test_options_[4]->option_, test_options_[4]->persistent_, test_options_[4]->space_name_); pool2.reset(new Pool4(IOAddress("10.0.0.50"), IOAddress("10.0.0.60"))); @@ -239,12 +232,12 @@ public: subnet->setDdnsSendUpdates(true); subnet->setDdnsOverrideNoUpdate(true); subnet->setDdnsOverrideClientUpdate(false); - subnet->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + subnet->setDdnsReplaceClientNameMode( + D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); subnet->setDdnsGeneratedPrefix("myhost"); subnet->setDdnsQualifyingSuffix("example.org"); - subnet->getCfgOption()->add(test_options_[0]->option_, - test_options_[0]->persistent_, + subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, test_options_[0]->space_name_); test_subnets_.push_back(subnet); @@ -313,7 +306,8 @@ public: shared_network->setDdnsSendUpdates(true); shared_network->setDdnsOverrideNoUpdate(true); shared_network->setDdnsOverrideClientUpdate(false); - shared_network->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + shared_network->setDdnsReplaceClientNameMode( + D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); shared_network->setDdnsGeneratedPrefix("myhost"); shared_network->setDdnsQualifyingSuffix("example.org"); @@ -331,18 +325,14 @@ public: ElementPtr user_context = Element::createMap(); user_context->set("foo", Element::create("bar")); - OptionDefinitionPtr option_def(new OptionDefinition("foo", 234, - DHCP4_OPTION_SPACE, - "string", - "espace")); + OptionDefinitionPtr option_def( + new OptionDefinition("foo", 234, DHCP4_OPTION_SPACE, "string", "espace")); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("bar", 234, DHCP4_OPTION_SPACE, - "uint32", true)); + option_def.reset(new OptionDefinition("bar", 234, DHCP4_OPTION_SPACE, "uint32", true)); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("fish", 235, DHCP4_OPTION_SPACE, - "record", true)); + option_def.reset(new OptionDefinition("fish", 235, DHCP4_OPTION_SPACE, "record", true)); option_def->addRecordField("uint32"); option_def->addRecordField("string"); test_option_defs_.push_back(option_def); @@ -350,8 +340,7 @@ public: option_def.reset(new OptionDefinition("whale", 236, "xyz", "string")); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("foobar", 234, DHCP4_OPTION_SPACE, - "uint64", true)); + option_def.reset(new OptionDefinition("foobar", 234, DHCP4_OPTION_SPACE, "uint64", true)); test_option_defs_.push_back(option_def); } @@ -362,15 +351,13 @@ public: OptionDefSpaceContainer defs; - OptionDescriptor desc = - createOption(Option::V4, DHO_BOOT_FILE_NAME, - true, false, "my-boot-file"); + OptionDescriptor desc = createOption(Option::V4, DHO_BOOT_FILE_NAME, true, + false, "my-boot-file"); desc.space_name_ = DHCP4_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V4, DHO_DEFAULT_IP_TTL, - false, true, 64); + desc = createOption(Option::V4, DHO_DEFAULT_IP_TTL, false, true, 64); desc.space_name_ = DHCP4_OPTION_SPACE; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -378,8 +365,7 @@ public: desc.space_name_ = "vendor-encapsulated-options"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createAddressOption(254, true, true, - "192.0.2.3"); + desc = createAddressOption(254, true, true, "192.0.2.3"); desc.space_name_ = DHCP4_OPTION_SPACE; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -387,19 +373,19 @@ public: desc.space_name_ = "isc"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createAddressOption(2, false, true, "10.0.0.5", - "10.0.0.3", "10.0.3.4"); + desc = createAddressOption(2, false, true, "10.0.0.5", "10.0.0.3", + "10.0.3.4"); desc.space_name_ = "isc"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V4, DHO_BOOT_FILE_NAME, - true, false, "my-boot-file-2"); + desc = createOption(Option::V4, DHO_BOOT_FILE_NAME, true, false, + "my-boot-file-2"); desc.space_name_ = DHCP4_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V4, DHO_BOOT_FILE_NAME, - true, false, "my-boot-file-3"); + desc = createOption(Option::V4, DHO_BOOT_FILE_NAME, true, false, + "my-boot-file-3"); desc.space_name_ = DHCP4_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -408,14 +394,14 @@ public: // compare subnets, networks and pools in JSON format. In that case, // the @c toElement functions require option definitions to generate the // proper output. - defs.addItem(OptionDefinitionPtr(new OptionDefinition( - "vendor-encapsulated-1", 1, - "vendor-encapsulated-options", "uint32"))); - defs.addItem(OptionDefinitionPtr(new OptionDefinition( - "option-254", 254, DHCP4_OPTION_SPACE, - "ipv4-address", true))); + defs.addItem( + OptionDefinitionPtr(new OptionDefinition("vendor-encapsulated-1", 1, + "vendor-encapsulated-options", "uint32"))); + defs.addItem(OptionDefinitionPtr( + new OptionDefinition("option-254", 254, DHCP4_OPTION_SPACE, "ipv4-address", true))); defs.addItem(OptionDefinitionPtr(new OptionDefinition("isc-1", 1, "isc", "empty"))); - defs.addItem(OptionDefinitionPtr(new OptionDefinition("isc-2", 2, "isc", "ipv4-address", true))); + defs.addItem( + OptionDefinitionPtr(new OptionDefinition("isc-2", 2, "isc", "ipv4-address", true))); // Register option definitions. LibDHCP::setRuntimeOptionDefs(defs); @@ -424,8 +410,8 @@ public: /// @brief Initialize posix time values used in tests. void initTimestamps() { // Current time minus 1 hour to make sure it is in the past. - timestamps_["today"] = boost::posix_time::second_clock::local_time() - - boost::posix_time::hours(1); + timestamps_["today"] = boost::posix_time::second_clock::local_time() - + boost::posix_time::hours(1); // One second after today. timestamps_["after today"] = timestamps_["today"] + boost::posix_time::seconds(1); // Yesterday. @@ -450,17 +436,13 @@ public: auto& mod_time_idx = audit_entries_[server_tag].get(); - for (auto audit_entry_it = mod_time_idx.begin(); - audit_entry_it != mod_time_idx.end(); + for (auto audit_entry_it = mod_time_idx.begin(); audit_entry_it != mod_time_idx.end(); ++audit_entry_it) { auto audit_entry = *audit_entry_it; - s << audit_entry->getObjectType() << ", " - << audit_entry->getObjectId() << ", " + s << audit_entry->getObjectType() << ", " << audit_entry->getObjectId() << ", " << static_cast(audit_entry->getModificationType()) << ", " - << audit_entry->getModificationTime() << ", " - << audit_entry->getRevisionId() << ", " - << audit_entry->getLogMessage() - << std::endl; + << audit_entry->getModificationTime() << ", " << audit_entry->getRevisionId() << ", " + << audit_entry->getLogMessage() << std::endl; } return (s.str()); @@ -600,9 +582,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteServer) { { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } // It should not be possible to create a duplicate of the logical @@ -629,9 +609,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteServer) { { SCOPED_TRACE("UPDATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::UPDATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::UPDATE, "server set"); } // Verify that the server has been updated. @@ -641,7 +619,6 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteServer) { EXPECT_EQ("this is server 1 bis", returned_server->getDescription()); EXPECT_EQ(timestamps_["today"], returned_server->getModificationTime()); - uint64_t servers_deleted = 0; // Try to delete non-existing server. @@ -661,8 +638,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteServer) { { SCOPED_TRACE("DELETE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::DELETE, "deleting a server"); } @@ -718,19 +694,17 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteGlobalParameter4) { // Explicitly set modification time to make sure that the time // returned from the database is correct. global_parameter->setModificationTime(timestamps_["yesterday"]); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - global_parameter); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), global_parameter); { SCOPED_TRACE("CREATE audit entry for global parameter"); - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::CREATE, "global parameter set"); } // Verify returned parameter and the modification time. - StampedValuePtr returned_global_parameter = - cbptr_->getGlobalParameter4(ServerSelector::ALL(), "global"); + StampedValuePtr returned_global_parameter = cbptr_->getGlobalParameter4(ServerSelector::ALL(), + "global"); ASSERT_TRUE(returned_global_parameter); EXPECT_EQ("global", returned_global_parameter->getName()); EXPECT_EQ("whale", returned_global_parameter->getValue()); @@ -753,10 +727,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteGlobalParameter4) { // Check that the parameter is updated when selector is specified correctly. global_parameter = StampedValue::create("global", "fish"); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - global_parameter); - returned_global_parameter = cbptr_->getGlobalParameter4(ServerSelector::ALL(), - "global"); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), global_parameter); + returned_global_parameter = cbptr_->getGlobalParameter4(ServerSelector::ALL(), "global"); ASSERT_TRUE(returned_global_parameter); EXPECT_EQ("global", returned_global_parameter->getName()); EXPECT_EQ("fish", returned_global_parameter->getValue()); @@ -767,26 +739,22 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteGlobalParameter4) { { SCOPED_TRACE("UPDATE audit entry for the global parameter"); - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::UPDATE, "global parameter set"); } // Should not delete parameter specified for all servers if explicit // server name is provided. - EXPECT_EQ(0, cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server1"), - "global")); + EXPECT_EQ(0, cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server1"), "global")); // Delete parameter and make sure it is gone. cbptr_->deleteGlobalParameter4(ServerSelector::ALL(), "global"); - returned_global_parameter = cbptr_->getGlobalParameter4(ServerSelector::ALL(), - "global"); + returned_global_parameter = cbptr_->getGlobalParameter4(ServerSelector::ALL(), "global"); EXPECT_FALSE(returned_global_parameter); { SCOPED_TRACE("DELETE audit entry for the global parameter"); - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::DELETE, "global parameter deleted"); } } @@ -810,70 +778,52 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } // This time inserting the global parameters for the server1 and server2 should // be successful. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server1"), - global_parameter1)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server1"), global_parameter1)); { SCOPED_TRACE("Global parameter for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the global value. - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ONE("server1"), - 3, 1); + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ONE("server1"), 3, 1); } - - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server2"), - global_parameter2)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server2"), global_parameter2)); { SCOPED_TRACE("Global parameter for server2 is set"); // Same as in case of the server2, there should be 3 audit entries of // which one we validate. - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ONE("server2"), - 3, 1); + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ONE("server2"), 3, 1); } // The last parameter is associated with all servers. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - global_parameter3)); + EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), global_parameter3)); { SCOPED_TRACE("Global parameter for all servers is set"); // There should be one new audit entry for all servers. It indicates // the insertion of the global value. - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ALL(), - 1, 1); + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ALL(), 1, 1); } StampedValuePtr returned_global; // Try to fetch the value specified for all servers. - EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter4(ServerSelector::ALL(), - "global") - ); + EXPECT_NO_THROW(returned_global = cbptr_->getGlobalParameter4(ServerSelector::ALL(), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter3->getValue(), returned_global->getValue()); ASSERT_EQ(1, returned_global->getServerTags().size()); @@ -882,9 +832,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // Try to fetch the value specified for the server1. This should override the // value specified for all servers. EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter4(ServerSelector::ONE("server1"), - "global") - ); + returned_global = cbptr_->getGlobalParameter4(ServerSelector::ONE("server1"), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter1->getValue(), returned_global->getValue()); @@ -893,9 +841,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // The same in case of the server2. EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter4(ServerSelector::ONE("server2"), - "global") - ); + returned_global = cbptr_->getGlobalParameter4(ServerSelector::ONE("server2"), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter2->getValue(), returned_global->getValue()); ASSERT_EQ(1, returned_global->getServerTags().size()); @@ -906,11 +852,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // Try to fetch the collection of globals for the server1, server2 and server3. // The server3 does not have an explicit value so for this server we should get /// the value for 'all'. - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters4( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_globals.size()); // Capture the returned values into the map so as we can check the @@ -929,9 +872,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // Try to fetch the collection of global parameters specified for all servers. // This excludes the values specific to server1 and server2. It returns only the // common ones. - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ALL()) - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ALL())); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); EXPECT_EQ(global_parameter3->getValue(), returned_global->getValue()); @@ -942,8 +883,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // global parameter and the global parameter itself. EXPECT_NO_THROW(cbptr_->deleteServer4(ServerTag("server1"))); EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ONE("server1")) - ); + returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ONE("server1"))); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); // As a result, the value fetched for the server1 should be the one available for @@ -958,34 +898,30 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // We expect two new audit entries for the server1, one indicating that the // server has been deleted and another one indicating that the corresponding // global value has been deleted. We check the latter entry. - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete global parameter for server1. uint64_t deleted_num = 0; - EXPECT_NO_THROW(deleted_num = cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server1"), - "global")); + EXPECT_NO_THROW( + deleted_num = cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server1"), "global")); // No parameters should be deleted. In particular, the parameter for the logical // server 'all' should not be deleted. EXPECT_EQ(0, deleted_num); // Deleting the existing value for server2 should succeed. - EXPECT_NO_THROW(deleted_num = cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server2"), - "global")); + EXPECT_NO_THROW( + deleted_num = cbptr_->deleteGlobalParameter4(ServerSelector::ONE("server2"), "global")); EXPECT_EQ(1, deleted_num); // Create it again to test that deletion of all server removes this too. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server2"), - global_parameter2)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server2"), global_parameter2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers4()); - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ALL()) - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters4(ServerSelector::ALL())); EXPECT_EQ(1, deleted_num); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); @@ -1001,10 +937,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { // There should be 4 new audit entries. One for deleting the global, one for // re-creating it, one for deleting the server2 and one for deleting the // global again as a result of deleting the server2. - testNewAuditEntry("dhcp4_global_parameter", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp4_global_parameter", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } @@ -1012,14 +946,17 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalParameters4WithServerTags) { TEST_F(PgSqlConfigBackendDHCPv4Test, getAllGlobalParameters4) { // Create 3 parameters and put them into the database. cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - StampedValue::create("name1", "value1")); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), + StampedValue::create("name1", "value1")); + cbptr_->createUpdateGlobalParameter4( + ServerSelector::ALL(), StampedValue::create("name2", Element::create(static_cast(65)))); cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - StampedValue::create("name3", "value3")); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), + StampedValue::create("name3", "value3")); + cbptr_->createUpdateGlobalParameter4( + ServerSelector::ALL(), StampedValue::create("name4", Element::create(static_cast(true)))); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), + cbptr_->createUpdateGlobalParameter4( + ServerSelector::ALL(), StampedValue::create("name5", Element::create(static_cast(1.65)))); // Fetch all parameters. @@ -1035,8 +972,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllGlobalParameters4) { EXPECT_TRUE((*parameters_index.find("name4"))->getBoolValue()); EXPECT_EQ(1.65, (*parameters_index.find("name5"))->getDoubleValue()); - for (auto param = parameters_index.begin(); param != parameters_index.end(); - ++param) { + for (auto param = parameters_index.begin(); param != parameters_index.end(); ++param) { ASSERT_EQ(1, (*param)->getServerTags().size()); EXPECT_EQ("all", (*param)->getServerTags().begin()->get()); } @@ -1062,18 +998,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedGlobalParameters4) { // "yesterday", "today" and "tomorrow" respectively. StampedValuePtr value = StampedValue::create("name1", "value1"); value->setModificationTime(timestamps_["yesterday"]); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), value); value = StampedValue::create("name2", Element::create(static_cast(65))); value->setModificationTime(timestamps_["today"]); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), value); value = StampedValue::create("name3", "value3"); value->setModificationTime(timestamps_["tomorrow"]); - cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ALL(), value); // Get parameters modified after "today". auto parameters = cbptr_->getModifiedGlobalParameters4(ServerSelector::ALL(), @@ -1105,8 +1038,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, nullKeyError) { // Try to insert it and associate with non-existing server. std::string msg; try { - cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server1"), - global_parameter); + cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server1"), global_parameter); msg = "got no exception"; } catch (const NullKeyError& ex) { msg = ex.what(); @@ -1124,22 +1056,18 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateSubnet4Selectors) { // Supported selectors. Subnet4Ptr subnet = test_subnets_[0]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), - subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet)); subnet = test_subnets_[2]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), - subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet)); subnet = test_subnets_[3]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet)); + EXPECT_NO_THROW( + cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet)); // Not supported server selectors. - EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ANY(), subnet), - isc::InvalidOperation); + EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ANY(), subnet), isc::InvalidOperation); // Not implemented server selectors. - EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::UNASSIGNED(), - subnet), + EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::UNASSIGNED(), subnet), isc::NotImplemented); } @@ -1149,57 +1077,50 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } auto subnet = test_subnets_[0]; auto subnet2 = test_subnets_[2]; // An attempt to add a subnet to a non-existing server (server1) should fail. - EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet2), NullKeyError); // The subnet shouldn't have been added, even though one of the servers exists. Subnet4Ptr returned_subnet; - ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server2"), - subnet2->getID())); + ASSERT_NO_THROW( + returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server2"), subnet2->getID())); EXPECT_FALSE(returned_subnet); // Insert two subnets, one for all servers and one for server2. EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set", ServerSelector::ONE("subnet2"), - 2, 1); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set", + ServerSelector::ONE("subnet2"), 2, 1); } // We are not going to support selection of a single entry for multiple servers. - EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet->getID()), isc::InvalidOperation); - EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet->toText()), isc::InvalidOperation); // Test that this subnet will be fetched for various server selectors. - auto test_get_subnet = [this, &subnet] (const std::string& test_case_name, - const ServerSelector& server_selector, - const std::string& expected_tag = ServerTag::ALL) { + auto test_get_subnet = [this, &subnet](const std::string& test_case_name, + const ServerSelector& server_selector, + const std::string& expected_tag = ServerTag::ALL) { SCOPED_TRACE(test_case_name); // Test fetching subnet by id. @@ -1213,8 +1134,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4) { EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); // Test fetching subnet by prefix. - ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet4(server_selector, - subnet->toText())); + ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet4(server_selector, subnet->toText())); ASSERT_TRUE(returned_subnet); ASSERT_EQ(1, returned_subnet->getServerTags().size()); @@ -1242,9 +1162,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4) { EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "subnet set"); } { @@ -1263,7 +1181,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4) { // Update the subnet in the database (both use the same prefix). subnet2.reset(new Subnet4(IOAddress("192.0.3.0"), 24, 30, 40, 60, 8192)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2)); // Fetch again and verify. returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server2"), subnet2->toText()); @@ -1274,7 +1192,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4) { // with different subnets. This should throw. // Subnets are 10.0.0.0/8 id 1024 and 192.0.3.0/24 id 8192 subnet2.reset(new Subnet4(IOAddress("10.0.0.0"), 8, 30, 40, 60, 8192)); - EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2), + EXPECT_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2), DuplicateEntry); } @@ -1288,8 +1206,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4byIdSelectors) { EXPECT_NO_THROW(cbptr_->getSubnet4(ServerSelector::ONE("server1"), SubnetID(1))); // Not supported selectors. - EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - SubnetID(1)), + EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), SubnetID(1)), isc::InvalidOperation); } @@ -1310,8 +1227,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4WithOptionalUnspecified) { cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier. - Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); EXPECT_TRUE(returned_subnet->getIface().unspecified()); @@ -1395,7 +1311,6 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4WithOptionalUnspecified) { EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); } - // Test that subnet can be associated with a shared network. TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4SharedNetwork) { Subnet4Ptr subnet = test_subnets_[0]; @@ -1405,8 +1320,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4SharedNetwork) { shared_network->add(subnet); // Store shared network in the database. - cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network); // Store subnet associated with the shared network in the database. cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); @@ -1432,8 +1346,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4ByPrefix) { cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); // Fetch the subnet by prefix. - Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - "192.0.2.0/24"); + Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), "192.0.2.0/24"); ASSERT_TRUE(returned_subnet); ASSERT_EQ(1, returned_subnet->getServerTags().size()); EXPECT_EQ("all", returned_subnet->getServerTags().begin()->get()); @@ -1443,8 +1356,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4ByPrefix) { // Fetching the subnet for an explicitly specified server tag should // succeed too. - returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), - "192.0.2.0/24"); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), "192.0.2.0/24"); EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); } @@ -1458,7 +1370,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSubnet4byPrefixSelectors) { EXPECT_NO_THROW(cbptr_->getSubnet4(ServerSelector::ONE("server1"), "192.0.2.0/24")); // Not supported selectors. - EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), "192.0.2.0/24"), isc::InvalidOperation); } @@ -1474,15 +1386,11 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4) { // indicate an update. if (subnet->toText() == "10.0.0.0/8") { SCOPED_TRACE("UPDATE audit entry for the subnet " + subnet->toText()); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "subnet set"); } else { SCOPED_TRACE("CREATE audit entry for the subnet " + subnet->toText()); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } } @@ -1499,54 +1407,44 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4) { for (auto i = 0; i < subnets.size(); ++i, ++subnet_it) { ASSERT_EQ(1, (*subnet_it)->getServerTags().size()); EXPECT_EQ("all", (*subnet_it)->getServerTags().begin()->get()); - EXPECT_EQ(test_subnets_[i + 1]->toElement()->str(), - (*subnet_it)->toElement()->str()); + EXPECT_EQ(test_subnets_[i + 1]->toElement()->str(), (*subnet_it)->toElement()->str()); } // Attempt to remove the non existing subnet should return 0. EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ALL(), 22)); - EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ALL(), - "155.0.3.0/24")); + EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ALL(), "155.0.3.0/24")); // All subnets should be still there. ASSERT_EQ(test_subnets_.size() - 1, subnets.size()); // Should not delete the subnet for explicit server tag because // our subnet is for all servers. - EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), - test_subnets_[1]->getID())); + EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), test_subnets_[1]->getID())); // Also, verify that behavior when deleting by prefix. - EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), - test_subnets_[2]->toText())); + EXPECT_EQ(0, cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), test_subnets_[2]->toText())); // Same for all subnets. EXPECT_EQ(0, cbptr_->deleteAllSubnets4(ServerSelector::ONE("server1"))); // Delete first subnet by id and verify that it is gone. - EXPECT_EQ(1, cbptr_->deleteSubnet4(ServerSelector::ALL(), - test_subnets_[1]->getID())); + EXPECT_EQ(1, cbptr_->deleteSubnet4(ServerSelector::ALL(), test_subnets_[1]->getID())); { SCOPED_TRACE("DELETE first subnet audit entry"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::DELETE, - "subnet deleted"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::DELETE, "subnet deleted"); } subnets = cbptr_->getAllSubnets4(ServerSelector::ALL()); ASSERT_EQ(test_subnets_.size() - 2, subnets.size()); // Delete second subnet by prefix and verify it is gone. - EXPECT_EQ(1, cbptr_->deleteSubnet4(ServerSelector::ALL(), - test_subnets_[2]->toText())); + EXPECT_EQ(1, cbptr_->deleteSubnet4(ServerSelector::ALL(), test_subnets_[2]->toText())); subnets = cbptr_->getAllSubnets4(ServerSelector::ALL()); ASSERT_EQ(test_subnets_.size() - 3, subnets.size()); { SCOPED_TRACE("DELETE second subnet audit entry"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::DELETE, - "subnet deleted"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::DELETE, "subnet deleted"); } // Delete all. @@ -1556,8 +1454,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4) { { SCOPED_TRACE("DELETE all subnets audit entry"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::DELETE, "deleted all subnets"); } } @@ -1569,7 +1466,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4Selectors) { EXPECT_NO_THROW(cbptr_->getAllSubnets4(ServerSelector::UNASSIGNED())); EXPECT_NO_THROW(cbptr_->getAllSubnets4(ServerSelector::ALL())); EXPECT_NO_THROW(cbptr_->getAllSubnets4(ServerSelector::ONE("server1"))); - EXPECT_NO_THROW(cbptr_->getAllSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" }))); + EXPECT_NO_THROW(cbptr_->getAllSubnets4(ServerSelector::MULTIPLE({"server1", "server2"}))); // Not supported selectors. EXPECT_THROW(cbptr_->getAllSubnets4(ServerSelector::ANY()), isc::InvalidOperation); @@ -1584,12 +1481,10 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[0])); EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), - subnet1)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), - subnet2)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet3)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet1)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet2)); + EXPECT_NO_THROW( + cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet3)); Subnet4Collection subnets; @@ -1651,18 +1546,16 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSubnets4WithServerTags) { // server selectors. TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSubnets4Selectors) { // Supported selectors. - EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::UNASSIGNED(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::ALL(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::ONE("server1"), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_NO_THROW( + cbptr_->getModifiedSubnets4(ServerSelector::UNASSIGNED(), timestamps_["yesterday"])); + EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::ALL(), timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSubnets4(ServerSelector::ONE("server1"), timestamps_["yesterday"])); + EXPECT_NO_THROW(cbptr_->getModifiedSubnets4(ServerSelector::MULTIPLE({"server1", "server2"}), timestamps_["yesterday"])); // Not supported selectors. - EXPECT_THROW(cbptr_->getModifiedSubnets4(ServerSelector::ANY(), - timestamps_["yesterday"]), + EXPECT_THROW(cbptr_->getModifiedSubnets4(ServerSelector::ANY(), timestamps_["yesterday"]), isc::InvalidOperation); } @@ -1672,77 +1565,57 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSubnet4) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } auto subnet1 = test_subnets_[0]; auto subnet2 = test_subnets_[2]; auto subnet3 = test_subnets_[3]; - auto create_test_subnets = [&] () { + auto create_test_subnets = [&]() { // Insert three subnets, one for all servers, one for server2 and one for two // servers: server1 and server2. + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet1)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2)); EXPECT_NO_THROW( - cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet1) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet4(ServerSelector::ONE("server2"), subnet2) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet3) - ); + cbptr_->createUpdateSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), subnet3)); }; create_test_subnets(); // Test that subnet is not deleted for a specified server selector. - auto test_no_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet4Ptr& subnet) { + auto test_no_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, const Subnet4Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->getID())); EXPECT_EQ(0, deleted_count); deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->toText()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->toText())); EXPECT_EQ(0, deleted_count); }; { SCOPED_TRACE("Test valid but non matching server selectors"); - test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), - subnet1); - test_no_delete("selector: all, actual: one", ServerSelector::ALL(), - subnet2); - test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), - subnet3); + test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), subnet1); + test_no_delete("selector: all, actual: one", ServerSelector::ALL(), subnet2); + test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), subnet3); } // Test successful deletion of a subnet by ID. - auto test_delete_by_id = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet4Ptr& subnet) { + auto test_delete_by_id = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const Subnet4Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->getID())); EXPECT_EQ(1, deleted_count); EXPECT_FALSE(cbptr_->getSubnet4(server_selector, subnet->getID())); @@ -1756,14 +1629,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSubnet4) { create_test_subnets(); // Test successful deletion of a subnet by prefix. - auto test_delete_by_prefix = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet4Ptr& subnet) { + auto test_delete_by_prefix = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const Subnet4Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->toText()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet4(server_selector, subnet->toText())); EXPECT_EQ(1, deleted_count); EXPECT_FALSE(cbptr_->getSubnet4(server_selector, subnet->toText())); @@ -1783,8 +1654,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSubnet4ByIdSelectors) { EXPECT_NO_THROW(cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), SubnetID(1))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - SubnetID(1)), + EXPECT_THROW(cbptr_->deleteSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), + SubnetID(1)), isc::InvalidOperation); // Not implemented selectors. @@ -1801,8 +1672,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSubnet4ByPrefixSelectors) { EXPECT_NO_THROW(cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), "192.0.2.0/24")); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSubnet4(ServerSelector::MULTIPLE({ "server1", "server2" }), - "192.0.2.0/24"), + EXPECT_THROW(cbptr_->deleteSubnet4(ServerSelector::MULTIPLE({"server1", "server2"}), + "192.0.2.0/24"), isc::InvalidOperation); // Not implemented selectors. @@ -1819,9 +1690,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteAllSubnets4Selectors) { EXPECT_NO_THROW(cbptr_->deleteAllSubnets4(ServerSelector::ONE("server1"))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteAllSubnets4(ServerSelector::ANY()), - isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteAllSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" })), + EXPECT_THROW(cbptr_->deleteAllSubnets4(ServerSelector::ANY()), isc::InvalidOperation); + EXPECT_THROW(cbptr_->deleteAllSubnets4(ServerSelector::MULTIPLE({"server1", "server2"})), isc::InvalidOperation); } @@ -1833,12 +1703,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, unassignedSubnet4) { // Create the subnets and associate them with the server1. auto subnet = test_subnets_[0]; auto subnet2 = test_subnets_[2]; - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet2) - ); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ONE("server1"), subnet2)); // Delete the server. The subnets should be preserved but are considered orphaned, // i.e. do not belong to any server. @@ -1848,32 +1714,30 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, unassignedSubnet4) { // Trying to fetch the subnet by server tag should return no result. Subnet4Ptr returned_subnet; - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), - subnet->getID())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), subnet->getID())); EXPECT_FALSE(returned_subnet); // The same if we use other calls. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), - subnet->toText())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet4(ServerSelector::ONE("server1"), subnet->toText())); EXPECT_FALSE(returned_subnet); Subnet4Collection returned_subnets; EXPECT_NO_THROW(returned_subnets = cbptr_->getAllSubnets4(ServerSelector::ONE("server1"))); EXPECT_TRUE(returned_subnets.empty()); - EXPECT_NO_THROW( - returned_subnets = cbptr_->getModifiedSubnets4(ServerSelector::ONE("server1"), - timestamps_["two days ago"]) - ); + EXPECT_NO_THROW(returned_subnets = cbptr_->getModifiedSubnets4(ServerSelector::ONE("server1"), + timestamps_["two days ago"])); EXPECT_TRUE(returned_subnets.empty()); // We should get the subnet if we ask for unassigned. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::UNASSIGNED(), - subnet->getID())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet4(ServerSelector::UNASSIGNED(), subnet->getID())); ASSERT_TRUE(returned_subnet); - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::UNASSIGNED(), - subnet->toText())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet4(ServerSelector::UNASSIGNED(), subnet->toText())); ASSERT_TRUE(returned_subnet); // Also if we ask for all unassigned subnets it should be returned. @@ -1881,45 +1745,33 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, unassignedSubnet4) { ASSERT_EQ(2, returned_subnets.size()); // Same for modified subnets. - EXPECT_NO_THROW( - returned_subnets = cbptr_->getModifiedSubnets4(ServerSelector::UNASSIGNED(), - timestamps_["two days ago"]) - ); + EXPECT_NO_THROW(returned_subnets = cbptr_->getModifiedSubnets4(ServerSelector::UNASSIGNED(), + timestamps_["two days ago"])); ASSERT_EQ(2, returned_subnets.size()); // If we ask for any subnet by subnet id, it should be returned too. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), - subnet->getID())); + EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), subnet->getID())); ASSERT_TRUE(returned_subnet); - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), - subnet->toText())); + EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), subnet->toText())); ASSERT_TRUE(returned_subnet); // Deleting the subnet with the mismatched server tag should not affect our // subnet. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), - subnet->getID()) - ); + deleted_count = cbptr_->deleteSubnet4(ServerSelector::ONE("server1"), subnet->getID())); EXPECT_EQ(0, deleted_count); // Also, if we delete all subnets for server1. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSubnets4(ServerSelector::ONE("server1")) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteAllSubnets4(ServerSelector::ONE("server1"))); EXPECT_EQ(0, deleted_count); // We can delete this subnet when we specify ANY and the matching id. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet4(ServerSelector::ANY(), subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet4(ServerSelector::ANY(), subnet->getID())); EXPECT_EQ(1, deleted_count); // We can delete all subnets using UNASSIGNED selector. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSubnets4(ServerSelector::UNASSIGNED()); - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteAllSubnets4(ServerSelector::UNASSIGNED());); EXPECT_EQ(1, deleted_count); } @@ -1935,15 +1787,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSubnets4) { // Insert subnets into the database. for (int i = 1; i < test_subnets_.size(); ++i) { - cbptr_->createUpdateSubnet4(ServerSelector::ALL(), - test_subnets_[i]); + cbptr_->createUpdateSubnet4(ServerSelector::ALL(), test_subnets_[i]); } // Fetch subnets with timestamp later than today. Only one subnet // should be returned. - Subnet4Collection - subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), - timestamps_["after today"]); + Subnet4Collection subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, subnets.size()); // All subnets should also be returned for explicitly specified server tag. @@ -1953,14 +1803,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSubnets4) { // Fetch subnets with timestamp later than yesterday. We should get // two subnets. - subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), - timestamps_["after yesterday"]); + subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), timestamps_["after yesterday"]); ASSERT_EQ(2, subnets.size()); // Fetch subnets with timestamp later than tomorrow. Nothing should // be returned. - subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), - timestamps_["after tomorrow"]); + subnets = cbptr_->getModifiedSubnets4(ServerSelector::ALL(), timestamps_["after tomorrow"]); ASSERT_TRUE(subnets.empty()); } @@ -1968,21 +1816,19 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSubnets4) { TEST_F(PgSqlConfigBackendDHCPv4Test, subnetLifetime) { // Insert new subnet with unspecified valid lifetime Triplet unspecified; - Subnet4Ptr subnet(new Subnet4(IOAddress("192.0.2.0"), 24, 30, 40, - unspecified, 1111)); + Subnet4Ptr subnet(new Subnet4(IOAddress("192.0.2.0"), 24, 30, 40, unspecified, 1111)); subnet->setIface("eth1"); cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier - Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); // Verified returned and original subnets match. EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); // Update the valid lifetime. - subnet->setValid( Triplet(100, 200, 300)); + subnet->setValid(Triplet(100, 200, 300)); cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); // Fetch and verify again. @@ -2009,21 +1855,18 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetworkSubnets4) { } // Fetch all subnets belonging to shared network level1. - Subnet4Collection subnets = cbptr_->getSharedNetworkSubnets4(ServerSelector::ALL(), - "level1"); + Subnet4Collection subnets = cbptr_->getSharedNetworkSubnets4(ServerSelector::ALL(), "level1"); ASSERT_EQ(1, subnets.size()); // Returned subnet should match test subnet #1. - EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), - (*subnets.begin())->toElement())); + EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), (*subnets.begin())->toElement())); // All subnets should also be returned for ANY server. subnets = cbptr_->getSharedNetworkSubnets4(ServerSelector::ANY(), "level1"); ASSERT_EQ(1, subnets.size()); // Returned subnet should match test subnet #1. - EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), - (*subnets.begin())->toElement())); + EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), (*subnets.begin())->toElement())); // Check server tag ASSERT_EQ(1, (*subnets.begin())->getServerTags().size()); @@ -2059,18 +1902,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetworkSubnets4) { // Test that pools are properly updated as a result a subnet update. TEST_F(PgSqlConfigBackendDHCPv4Test, subnetUpdatePools) { - auto test_subnet_update = [this](const std::string& subnet_prefix, - const SubnetID& subnet_id) { + auto test_subnet_update = [this](const std::string& subnet_prefix, const SubnetID& subnet_id) { // Add the subnet with two pools. - EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), - test_subnets_[0])); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), test_subnets_[0])); // Make sure that the pools have been added to the database. EXPECT_EQ(2, countRows("dhcp4_pool")); // Create the subnet without options which updates the existing // subnet. - Subnet4Ptr subnet(new Subnet4(IOAddress(subnet_prefix), 24, 30, 40, 60, - subnet_id)); + Subnet4Ptr subnet(new Subnet4(IOAddress(subnet_prefix), 24, 30, 40, 60, subnet_id)); EXPECT_NO_THROW(cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet)); // Check that options are gone. EXPECT_EQ(0, countRows("dhcp4_pool")); @@ -2143,33 +1983,31 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetwork4) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } auto shared_network = test_networks_[0]; auto shared_network2 = test_networks_[2]; // Insert two shared networks, one for all servers, and one for server2. - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server2"), - shared_network2)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server2"), shared_network2)); // We are not going to support selection of a single entry for multiple servers. - EXPECT_THROW(cbptr_->getSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), test_networks_[0]->getName()), isc::InvalidOperation); // Test that this shared network will be fetched for various server selectors. - auto test_get_network = [this, &shared_network] (const std::string& test_case_name, - const ServerSelector& server_selector, - const std::string& expected_tag = ServerTag::ALL) { + auto test_get_network = [this, + &shared_network](const std::string& test_case_name, + const ServerSelector& server_selector, + const std::string& expected_tag = ServerTag::ALL) { SCOPED_TRACE(test_case_name); SharedNetwork4Ptr network; - ASSERT_NO_THROW(network = cbptr_->getSharedNetwork4(server_selector, - shared_network->getName())); + ASSERT_NO_THROW( + network = cbptr_->getSharedNetwork4(server_selector, shared_network->getName())); ASSERT_TRUE(network); EXPECT_GT(network->getId(), 0); @@ -2190,15 +2028,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetwork4) { { SCOPED_TRACE("CREATE audit entry for a shared network"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } // Update shared network in the database. shared_network = test_networks_[1]; - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network)); { SCOPED_TRACE("testing various server selectors after update"); @@ -2209,17 +2045,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetwork4) { { SCOPED_TRACE("UPDATE audit entry for a shared network"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } // The server2 specific shared network should not be returned if the // server selector is not matching. - EXPECT_FALSE(cbptr_->getSharedNetwork4(ServerSelector::ALL(), - shared_network2->getName())); - EXPECT_FALSE(cbptr_->getSharedNetwork4(ServerSelector::ONE("server1"), - shared_network2->getName())); + EXPECT_FALSE(cbptr_->getSharedNetwork4(ServerSelector::ALL(), shared_network2->getName())); + EXPECT_FALSE( + cbptr_->getSharedNetwork4(ServerSelector::ONE("server1"), shared_network2->getName())); { SCOPED_TRACE("testing selectors for server2 specific shared network"); @@ -2239,7 +2073,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetwork4Selectors) { EXPECT_NO_THROW(cbptr_->getSharedNetwork4(ServerSelector::ONE("server1"), "level1")); // Not supported selectors. - EXPECT_THROW(cbptr_->getSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), "level1"), isc::InvalidOperation); } @@ -2250,49 +2084,42 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateSharedNetwork4) { auto shared_network = test_networks_[0]; // An attempt to insert the shared network for non-existing server should fail. - EXPECT_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), - shared_network), + EXPECT_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network), NullKeyError); // Insert the server1 into the database. EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } // Insert the server2 into the database. EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network)); { SCOPED_TRACE("CREATE audit entry for shared network and ALL servers"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network)); { SCOPED_TRACE("CREATE audit entry for shared network and MULTIPLE servers"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } SharedNetwork4Ptr network; - ASSERT_NO_THROW(network = cbptr_->getSharedNetwork4(ServerSelector::ANY(), - shared_network->getName())); + ASSERT_NO_THROW( + network = cbptr_->getSharedNetwork4(ServerSelector::ANY(), shared_network->getName())); ASSERT_TRUE(network); EXPECT_TRUE(network->hasServerTag(ServerTag("server1"))); EXPECT_TRUE(network->hasServerTag(ServerTag("server2"))); @@ -2307,22 +2134,21 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateSharedNetwork4Selectors) { // Supported selectors. SharedNetwork4Ptr shared_network(new SharedNetwork4("all")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network)); shared_network.reset(new SharedNetwork4("one")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network)); shared_network.reset(new SharedNetwork4("multiple")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network)); // Not supported server selectors. EXPECT_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ANY(), shared_network), isc::InvalidOperation); // Not implemented server selectors. - EXPECT_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::UNASSIGNED(), - shared_network), + EXPECT_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::UNASSIGNED(), shared_network), isc::NotImplemented); } @@ -2334,9 +2160,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getSharedNetwork4WithOptionalUnspecified) { cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network); // Fetch this shared network by name. - SharedNetwork4Ptr - returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), - test_networks_[2]->getName()); + SharedNetwork4Ptr returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), + test_networks_[2]->getName()); ASSERT_TRUE(returned_network); EXPECT_TRUE(returned_network->getIface().unspecified()); @@ -2409,7 +2234,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetworkSubnets4) { EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ONE("server1"), test_networks_[1]->getName()), isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::MULTIPLE({"server1", "server" + "2"}), test_networks_[1]->getName()), isc::InvalidOperation); } @@ -2424,24 +2250,19 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4) { // That shared network overrides the first one so the audit entry should // indicate an update. if ((network->getName() == "level1") && (!audit_entries_["all"].empty())) { - SCOPED_TRACE("UPDATE audit entry for the shared network " + - network->getName()); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + SCOPED_TRACE("UPDATE audit entry for the shared network " + network->getName()); + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } else { - SCOPED_TRACE("CREATE audit entry for the shared network " + - network->getName()); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::CREATE, + SCOPED_TRACE("CREATE audit entry for the shared network " + network->getName()); + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } } // Fetch all shared networks. - SharedNetwork4Collection networks = - cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); + SharedNetwork4Collection networks = cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); ASSERT_EQ(test_networks_.size() - 1, networks.size()); // All shared networks should also be returned for explicitly specified @@ -2451,8 +2272,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4) { // See if shared networks are returned ok. for (auto i = 0; i < networks.size(); ++i) { - EXPECT_EQ(test_networks_[i + 1]->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(test_networks_[i + 1]->toElement()->str(), networks[i]->toElement()->str()); ASSERT_EQ(1, networks[i]->getServerTags().size()); EXPECT_EQ("all", networks[i]->getServerTags().begin()->get()); } @@ -2466,21 +2286,18 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4) { cbptr_->createUpdateSubnet4(ServerSelector::ALL(), test_subnets_[3]); // Both ways to attach a subnet are equivalent. - Subnet4Ptr subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - test_subnets_[0]->getID()); + Subnet4Ptr subnet = cbptr_->getSubnet4(ServerSelector::ALL(), test_subnets_[0]->getID()); ASSERT_TRUE(subnet); EXPECT_EQ("level1", subnet->getSharedNetworkName()); { SCOPED_TRACE("CREATE audit entry for subnets"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set", ServerSelector::ALL(), 3); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set", + ServerSelector::ALL(), 3); } // Deleting non-existing shared network should return 0. - EXPECT_EQ(0, cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), - "big-fish")); + EXPECT_EQ(0, cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), "big-fish")); // All shared networks should be still there. ASSERT_EQ(test_networks_.size() - 1, networks.size()); @@ -2499,26 +2316,22 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4) { { SCOPED_TRACE("DELETE audit entry for subnets of the first shared network"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::DELETE, "deleted all subnets for a shared network"); } // Check that the subnet is gone.. - subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - test_subnets_[0]->getID()); + subnet = cbptr_->getSubnet4(ServerSelector::ALL(), test_subnets_[0]->getID()); EXPECT_FALSE(subnet); // And after the shared network itself. - EXPECT_EQ(1, cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), - test_networks_[1]->getName())); + EXPECT_EQ(1, cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), test_networks_[1]->getName())); networks = cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); ASSERT_EQ(test_networks_.size() - 2, networks.size()); { SCOPED_TRACE("DELETE audit entry for the first shared network"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::DELETE, "shared network deleted"); } @@ -2530,18 +2343,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4) { { SCOPED_TRACE("DELETE audit entry for the remaining two shared networks"); // The last parameter indicates that we expect two new audit entries. - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::DELETE, "deleted all shared networks", ServerSelector::ALL(), 2); } // Check that subnets are still there but detached. - subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - test_subnets_[2]->getID()); + subnet = cbptr_->getSubnet4(ServerSelector::ALL(), test_subnets_[2]->getID()); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->getSharedNetworkName().empty()); - subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - test_subnets_[3]->getID()); + subnet = cbptr_->getSubnet4(ServerSelector::ALL(), test_subnets_[3]->getID()); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->getSharedNetworkName().empty()); } @@ -2553,11 +2363,11 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4Selectors) { EXPECT_NO_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::UNASSIGNED())); EXPECT_NO_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::ALL())); EXPECT_NO_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::ONE("server1"))); - EXPECT_NO_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::MULTIPLE({ "server1", "server2" }))); + EXPECT_NO_THROW( + cbptr_->getAllSharedNetworks4(ServerSelector::MULTIPLE({"server1", "server2"}))); // Not supported selectors. - EXPECT_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::ANY()), - isc::InvalidOperation); + EXPECT_THROW(cbptr_->getAllSharedNetworks4(ServerSelector::ANY()), isc::InvalidOperation); } // Test that shared networks with different server associations are returned. @@ -2569,12 +2379,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllSharedNetworks4WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[0])); EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network1)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), - shared_network2)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network3)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network1)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network2)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network3)); SharedNetwork4Collection networks; @@ -2645,21 +2455,19 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSharedNetworks4) { // Insert shared networks into the database. for (int i = 1; i < test_networks_.size(); ++i) { - cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - test_networks_[i]); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), test_networks_[i]); } // Fetch shared networks with timestamp later than today. Only one // shared network should be returned. - SharedNetwork4Collection - networks = cbptr_->getModifiedSharedNetworks4(ServerSelector::ALL(), - timestamps_["after today"]); + SharedNetwork4Collection networks = + cbptr_->getModifiedSharedNetworks4(ServerSelector::ALL(), timestamps_["after today"]); ASSERT_EQ(1, networks.size()); // Fetch shared networks with timestamp later than yesterday. We // should get two shared networks. networks = cbptr_->getModifiedSharedNetworks4(ServerSelector::ALL(), - timestamps_["after yesterday"]); + timestamps_["after yesterday"]); ASSERT_EQ(2, networks.size()); // Fetch shared networks with timestamp later than tomorrow. Nothing @@ -2673,14 +2481,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSharedNetworks4) { // server selectors. TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedSharedNetworks4Selectors) { // Supported selectors. - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks4(ServerSelector::UNASSIGNED(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks4(ServerSelector::ALL(), - timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks4(ServerSelector::UNASSIGNED(), timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks4(ServerSelector::ALL(), timestamps_["yesterday"])); EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks4(ServerSelector::ONE("server1"), timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks4(ServerSelector::MULTIPLE({ "server1", "server2" }), - timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks4(ServerSelector::MULTIPLE({"server1", "server2"}), + timestamps_["yesterday"])); // Not supported selectors. EXPECT_THROW(cbptr_->getModifiedSharedNetworks4(ServerSelector::ANY(), @@ -2694,17 +2503,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetwork4) { EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } auto shared_network1 = test_networks_[0]; @@ -2713,26 +2518,20 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetwork4) { // Insert three shared networks, one for all servers, one for server2 and // one for two servers: server1 and server2. + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network1)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network1) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server2"), shared_network2) - ); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server2"), shared_network2)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network3) - ); + cbptr_->createUpdateSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network3)); - auto test_no_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const SharedNetwork4Ptr& shared_network) { + auto test_no_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const SharedNetwork4Ptr& shared_network) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork4(server_selector, - shared_network->getName()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork4(server_selector, + shared_network->getName())); EXPECT_EQ(0, deleted_count); }; @@ -2740,14 +2539,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetwork4) { SCOPED_TRACE("Test valid but non matching server selectors"); test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), shared_network1); - test_no_delete("selector: all, actual: one", ServerSelector::ALL(), - shared_network2); - test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), - shared_network3); + test_no_delete("selector: all, actual: one", ServerSelector::ALL(), shared_network2); + test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), shared_network3); } // We are not going to support deletion of a single entry for multiple servers. - EXPECT_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), shared_network3->getName()), isc::InvalidOperation); @@ -2758,19 +2555,16 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetwork4) { isc::NotImplemented); // Test successful deletion of a shared network. - auto test_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const SharedNetwork4Ptr& shared_network) { + auto test_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const SharedNetwork4Ptr& shared_network) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork4(server_selector, - shared_network->getName()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork4(server_selector, + shared_network->getName())); EXPECT_EQ(1, deleted_count); - EXPECT_FALSE(cbptr_->getSharedNetwork4(server_selector, - shared_network->getName())); + EXPECT_FALSE(cbptr_->getSharedNetwork4(server_selector, shared_network->getName())); }; test_delete("all servers", ServerSelector::ALL(), shared_network1); @@ -2787,8 +2581,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteSharedNetwork4Selectors) { EXPECT_NO_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::ONE("server1"), "level1")); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::MULTIPLE({ "server1", "server2" }), - "level1"), + EXPECT_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::MULTIPLE({"server1", "server2"}), + "level1"), isc::InvalidOperation); // Not implemented selectors. @@ -2805,9 +2599,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, deleteAllSharedNetworks4Selectors) { EXPECT_NO_THROW(cbptr_->deleteAllSharedNetworks4(ServerSelector::ONE("server1"))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteAllSharedNetworks4(ServerSelector::ANY()), - isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteAllSharedNetworks4(ServerSelector::MULTIPLE({ "server1", "server2" })), + EXPECT_THROW(cbptr_->deleteAllSharedNetworks4(ServerSelector::ANY()), isc::InvalidOperation); + EXPECT_THROW(cbptr_->deleteAllSharedNetworks4(ServerSelector::MULTIPLE({"server1", "server2"})), isc::InvalidOperation); } @@ -2820,11 +2613,9 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, unassignedSharedNetwork) { auto shared_network = test_networks_[0]; auto shared_network2 = test_networks_[2]; EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network) - ); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network2) - ); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ONE("server1"), shared_network2)); // Delete the server. The shared networks should be preserved but are // considered orphaned, i.e. do not belong to any server. @@ -2834,68 +2625,59 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, unassignedSharedNetwork) { // Trying to fetch this shared network by server tag should return no result. SharedNetwork4Ptr returned_network; - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork4(ServerSelector::ONE("server1"), - "level1")); + EXPECT_NO_THROW( + returned_network = cbptr_->getSharedNetwork4(ServerSelector::ONE("server1"), "level1")); EXPECT_FALSE(returned_network); // The same if we use other calls. SharedNetwork4Collection returned_networks; EXPECT_NO_THROW( - returned_networks = cbptr_->getAllSharedNetworks4(ServerSelector::ONE("server1")) - ); + returned_networks = cbptr_->getAllSharedNetworks4(ServerSelector::ONE("server1"))); EXPECT_TRUE(returned_networks.empty()); EXPECT_NO_THROW( returned_networks = cbptr_->getModifiedSharedNetworks4(ServerSelector::ONE("server1"), - timestamps_["two days ago"]) - ); + timestamps_["two days ago"])); EXPECT_TRUE(returned_networks.empty()); // We should get the shared network if we ask for unassigned. - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork4(ServerSelector::UNASSIGNED(), - "level1")); + EXPECT_NO_THROW( + returned_network = cbptr_->getSharedNetwork4(ServerSelector::UNASSIGNED(), "level1")); ASSERT_TRUE(returned_network); // Also if we ask for all unassigned networks it should be returned. - EXPECT_NO_THROW(returned_networks = cbptr_->getAllSharedNetworks4(ServerSelector::UNASSIGNED())); + EXPECT_NO_THROW( + returned_networks = cbptr_->getAllSharedNetworks4(ServerSelector::UNASSIGNED())); ASSERT_EQ(2, returned_networks.size()); // And all modified. EXPECT_NO_THROW( returned_networks = cbptr_->getModifiedSharedNetworks4(ServerSelector::UNASSIGNED(), - timestamps_["two days ago"]) - ); + timestamps_["two days ago"])); ASSERT_EQ(2, returned_networks.size()); // If we ask for any network by name, it should be returned too. - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork4(ServerSelector::ANY(), - "level1")); + EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork4(ServerSelector::ANY(), "level1")); ASSERT_TRUE(returned_network); // Deleting a shared network with the mismatched server tag should not affect // our shared network. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork4(ServerSelector::ONE("server1"), - "level1") - ); + deleted_count = cbptr_->deleteSharedNetwork4(ServerSelector::ONE("server1"), "level1")); EXPECT_EQ(0, deleted_count); // Also, if we delete all shared networks for server1. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSharedNetworks4(ServerSelector::ONE("server1")) - ); + deleted_count = cbptr_->deleteAllSharedNetworks4(ServerSelector::ONE("server1"))); EXPECT_EQ(0, deleted_count); // We can delete this shared network when we specify ANY and the matching name. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork4(ServerSelector::ANY(), "level1") - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork4(ServerSelector::ANY(), "level1")); EXPECT_EQ(1, deleted_count); // We can delete all networks using UNASSIGNED selector. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSharedNetworks4(ServerSelector::UNASSIGNED()); - ); + deleted_count = cbptr_->deleteAllSharedNetworks4(ServerSelector::UNASSIGNED());); EXPECT_EQ(1, deleted_count); } @@ -2909,23 +2691,20 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkLifetime) { cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), network); // Fetch this shared network. - SharedNetwork4Ptr returned_network = - cbptr_->getSharedNetwork4(ServerSelector::ALL(), "foo"); + SharedNetwork4Ptr returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), "foo"); ASSERT_TRUE(returned_network); // Verified returned and original shared networks match. - EXPECT_EQ(network->toElement()->str(), - returned_network->toElement()->str()); + EXPECT_EQ(network->toElement()->str(), returned_network->toElement()->str()); // Update the preferred and valid lifetime. - network->setValid( Triplet(100, 200, 300)); + network->setValid(Triplet(100, 200, 300)); cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), network); // Fetch and verify again. returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), "foo"); ASSERT_TRUE(returned_network); - EXPECT_EQ(network->toElement()->str(), - returned_network->toElement()->str()); + EXPECT_EQ(network->toElement()->str(), returned_network->toElement()->str()); } // Test that deleting a shared network triggers deletion of the options @@ -2947,8 +2726,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOptions) { // Remove the shared network. This should not affect options assigned to the // other shared network. - EXPECT_NO_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), - test_networks_[1]->getName())); + EXPECT_NO_THROW( + cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), test_networks_[1]->getName())); EXPECT_EQ(1, countRows("dhcp4_shared_network")); EXPECT_EQ(1, countRows("dhcp4_options")); @@ -2959,8 +2738,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOptions) { // Delete this shared network. This should not affect the option associated // with the remaining shared network. - EXPECT_NO_THROW(cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), - test_networks_[0]->getName())); + EXPECT_NO_THROW( + cbptr_->deleteSharedNetwork4(ServerSelector::ALL(), test_networks_[0]->getName())); EXPECT_EQ(1, countRows("dhcp4_shared_network")); EXPECT_EQ(1, countRows("dhcp4_options")); } @@ -2974,8 +2753,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getOptionDef4) { // Fetch this option_definition by subnet identifier. OptionDefinitionPtr returned_option_def = - cbptr_->getOptionDef4(ServerSelector::ALL(), - test_option_defs_[0]->getCode(), + cbptr_->getOptionDef4(ServerSelector::ALL(), test_option_defs_[0]->getCode(), test_option_defs_[0]->getOptionSpaceName()); ASSERT_TRUE(returned_option_def); EXPECT_GT(returned_option_def->getId(), 0); @@ -2986,8 +2764,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getOptionDef4) { { SCOPED_TRACE("CREATE audit entry for an option definition"); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::CREATE, "option definition set"); } @@ -3010,8 +2787,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getOptionDef4) { { SCOPED_TRACE("UPDATE audit entry for an option definition"); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::UPDATE, "option definition set"); } } @@ -3027,99 +2803,76 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { // An attempt to create option definition for non-existing server should // fail. - EXPECT_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server1"), - option1), + EXPECT_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server1"), option1), NullKeyError); // Create two servers. EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } // This time creation of the option definition for the server1 should pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server1"), - option1)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server1"), option1)); { SCOPED_TRACE("option definition for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the option definition. - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ONE("server1"), - 3, 1); + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ONE("server1"), 3, 1); } // Creation of the option definition for the server2 should also pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server2"), - option2)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server2"), option2)); { SCOPED_TRACE("option definition for server2 is set"); // Same as in case of the server1, there should be 3 audit entries and // we validate one of them. - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ONE("server2"), - 3, 1); + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ONE("server2"), 3, 1); } // Finally, creation of the option definition for all servers should // also pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ALL(), - option3)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ALL(), option3)); { SCOPED_TRACE("option definition for server2 is set"); // There should be one new audit entry for all servers. It logs // the insertion of the option definition. - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ALL(), - 1, 1); + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ALL(), 1, 1); } OptionDefinitionPtr returned_option_def; // Try to fetch the option definition specified for all servers. It should // return the third one. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef4(ServerSelector::ALL(), - option3->getCode(), - option3->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef4(ServerSelector::ALL(), + option3->getCode(), + option3->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option3)); // Try to fetch the option definition specified for server1. It should // override the definition for all servers. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef4(ServerSelector::ONE("server1"), - option1->getCode(), - option1->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef4(ServerSelector::ONE("server1"), + option1->getCode(), + option1->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option1)); // The same in case of the server2. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef4(ServerSelector::ONE("server2"), - option2->getCode(), - option2->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef4(ServerSelector::ONE("server2"), + option2->getCode(), + option2->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option2)); @@ -3128,11 +2881,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { // Try to fetch the collection of the option definitions for server1, server2 // and server3. The server3 does not have an explicit option definition, so // for this server we should get the definition associated with "all" servers. - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs4(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs4( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_option_defs.size()); // Check that expected option definitions have been returned. @@ -3144,8 +2894,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { // Try to fetch the collection of options specified for all servers. // This excludes the options specific to server1 and server2. It returns // only the common ones. - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs4(ServerSelector::ALL()); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs4(ServerSelector::ALL()); ); ASSERT_EQ(1, returned_option_defs.size()); @@ -3163,10 +2912,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the option definition after server deletion"); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete option definition for server1. @@ -3184,14 +2931,11 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { // Create this option definition again to test that deletion of all servers // removes it too. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server2"), - option2)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef4(ServerSelector::ONE("server2"), option2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers4()); - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs4(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs4(ServerSelector::ALL());); EXPECT_EQ(1, deleted_num); EXPECT_EQ(1, returned_option_defs.size()); EXPECT_TRUE((*returned_option_defs.begin())->equals(*option3)); @@ -3199,10 +2943,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, optionDefs4WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the option definition after deletion of" " all servers"); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } @@ -3220,15 +2962,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptionDefs4) { auto name = option_def->getName(); if (name.find("bar") != std::string::npos) { SCOPED_TRACE("UPDATE audit entry for the option definition " + name); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::UPDATE, "option definition set"); ++updates_num; } else { SCOPED_TRACE("CREATE audit entry for the option definition " + name); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::CREATE, "option definition set"); } } @@ -3253,12 +2993,11 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptionDefs4) { } } ASSERT_TRUE(success) << "failed for option definition " << (*def)->getCode() - << ", option space " << (*def)->getOptionSpaceName(); + << ", option space " << (*def)->getOptionSpaceName(); } // Deleting non-existing option definition should return 0. - EXPECT_EQ(0, cbptr_->deleteOptionDef4(ServerSelector::ALL(), - 99, "non-exiting-space")); + EXPECT_EQ(0, cbptr_->deleteOptionDef4(ServerSelector::ALL(), 99, "non-exiting-space")); // All option definitions should be still there. ASSERT_EQ(test_option_defs_.size() - updates_num, option_defs.size()); @@ -3272,17 +3011,14 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptionDefs4) { EXPECT_EQ(0, cbptr_->deleteAllOptionDefs4(ServerSelector::ONE("server1"))); // Delete one of the option definitions and see if it is gone. - EXPECT_EQ(1, cbptr_->deleteOptionDef4(ServerSelector::ALL(), - test_option_defs_[2]->getCode(), + EXPECT_EQ(1, cbptr_->deleteOptionDef4(ServerSelector::ALL(), test_option_defs_[2]->getCode(), test_option_defs_[2]->getOptionSpaceName())); - ASSERT_FALSE(cbptr_->getOptionDef4(ServerSelector::ALL(), - test_option_defs_[2]->getCode(), + ASSERT_FALSE(cbptr_->getOptionDef4(ServerSelector::ALL(), test_option_defs_[2]->getCode(), test_option_defs_[2]->getOptionSpaceName())); { SCOPED_TRACE("DELETE audit entry for the first option definition"); - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::DELETE, "option definition deleted"); } @@ -3294,8 +3030,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptionDefs4) { { SCOPED_TRACE("DELETE audit entries for the remaining option definitions"); // The last parameter indicates that we expect two new audit entries. - testNewAuditEntry("dhcp4_option_def", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_option_def", AuditEntry::ModificationType::DELETE, "deleted all option definitions", ServerSelector::ALL(), 2); } } @@ -3313,15 +3048,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedOptionDefs4) { // Insert option definitions into the database. for (int i = 1; i < test_networks_.size(); ++i) { - cbptr_->createUpdateOptionDef4(ServerSelector::ALL(), - test_option_defs_[i]); + cbptr_->createUpdateOptionDef4(ServerSelector::ALL(), test_option_defs_[i]); } // Fetch option definitions with timestamp later than today. Only one // option definition should be returned. - OptionDefContainer - option_defs = cbptr_->getModifiedOptionDefs4(ServerSelector::ALL(), - timestamps_["after today"]); + OptionDefContainer option_defs = cbptr_->getModifiedOptionDefs4(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, option_defs.size()); // Fetch option definitions with timestamp later than yesterday. We @@ -3333,7 +3066,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedOptionDefs4) { // Fetch option definitions with timestamp later than tomorrow. Nothing // should be returned. option_defs = cbptr_->getModifiedOptionDefs4(ServerSelector::ALL(), - timestamps_["after tomorrow"]); + timestamps_["after tomorrow"]); ASSERT_TRUE(option_defs.empty()); } @@ -3341,14 +3074,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedOptionDefs4) { TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteOption4) { // Add option to the database. OptionDescriptorPtr opt_boot_file_name = test_options_[0]; - cbptr_->createUpdateOption4(ServerSelector::ALL(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ALL(), opt_boot_file_name); // Make sure we can retrieve this option and that it is equal to the // option we have inserted into the database. OptionDescriptorPtr returned_opt_boot_file_name = - cbptr_->getOption4(ServerSelector::ALL(), - opt_boot_file_name->option_->getType(), + cbptr_->getOption4(ServerSelector::ALL(), opt_boot_file_name->option_->getType(), opt_boot_file_name->space_name_); ASSERT_TRUE(returned_opt_boot_file_name); @@ -3359,15 +3090,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteOption4) { { SCOPED_TRACE("CREATE audit entry for an option"); - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::CREATE, "global option set"); } // Modify option and update it in the database. opt_boot_file_name->persistent_ = !opt_boot_file_name->persistent_; - cbptr_->createUpdateOption4(ServerSelector::ALL(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ALL(), opt_boot_file_name); // Retrieve the option again and make sure that updates were // properly propagated to the database. Use explicit server selector @@ -3384,8 +3113,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteOption4) { { SCOPED_TRACE("UPDATE audit entry for an option"); - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::UPDATE, "global option set"); } @@ -3395,18 +3123,16 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteOption4) { opt_boot_file_name->space_name_)); // Deleting option for all servers should succeed. - EXPECT_EQ(1, cbptr_->deleteOption4(ServerSelector::ALL(), - opt_boot_file_name->option_->getType(), - opt_boot_file_name->space_name_)); + EXPECT_EQ(1, + cbptr_->deleteOption4(ServerSelector::ALL(), opt_boot_file_name->option_->getType(), + opt_boot_file_name->space_name_)); - EXPECT_FALSE(cbptr_->getOption4(ServerSelector::ALL(), - opt_boot_file_name->option_->getType(), + EXPECT_FALSE(cbptr_->getOption4(ServerSelector::ALL(), opt_boot_file_name->option_->getType(), opt_boot_file_name->space_name_)); { SCOPED_TRACE("DELETE audit entry for an option"); - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::DELETE, "global option deleted"); } } @@ -3419,98 +3145,74 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalOptions4WithServerTags) { OptionDescriptorPtr opt_boot_file_name2 = test_options_[6]; OptionDescriptorPtr opt_boot_file_name3 = test_options_[7]; - EXPECT_THROW(cbptr_->createUpdateOption4(ServerSelector::ONE("server1"), - opt_boot_file_name1), + EXPECT_THROW(cbptr_->createUpdateOption4(ServerSelector::ONE("server1"), opt_boot_file_name1), NullKeyError); // Create two servers. EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer4(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp4_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp4_server", AuditEntry::ModificationType::CREATE, "server set"); } - EXPECT_NO_THROW(cbptr_->createUpdateOption4(ServerSelector::ONE("server1"), - opt_boot_file_name1)); + EXPECT_NO_THROW( + cbptr_->createUpdateOption4(ServerSelector::ONE("server1"), opt_boot_file_name1)); { SCOPED_TRACE("global option for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the global option. - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ONE("server1"), - 3, 1); - + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ONE("server1"), 3, 1); } - EXPECT_NO_THROW(cbptr_->createUpdateOption4(ServerSelector::ONE("server2"), - opt_boot_file_name2)); + EXPECT_NO_THROW( + cbptr_->createUpdateOption4(ServerSelector::ONE("server2"), opt_boot_file_name2)); { SCOPED_TRACE("global option for server2 is set"); // Same as in case of the server1, there should be 3 audit entries and // we validate one of them. - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ONE("server2"), - 3, 1); - + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ONE("server2"), 3, 1); } - EXPECT_NO_THROW(cbptr_->createUpdateOption4(ServerSelector::ALL(), - opt_boot_file_name3)); + EXPECT_NO_THROW(cbptr_->createUpdateOption4(ServerSelector::ALL(), opt_boot_file_name3)); { SCOPED_TRACE("global option for all servers is set"); // There should be one new audit entry for all servers. It logs // the insertion of the global option. - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ALL(), - 1, 1); - + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ALL(), 1, 1); } OptionDescriptorPtr returned_option; // Try to fetch the option specified for all servers. It should return // the third option. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption4(ServerSelector::ALL(), - opt_boot_file_name3->option_->getType(), - opt_boot_file_name3->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption4(ServerSelector::ALL(), + opt_boot_file_name3->option_->getType(), + opt_boot_file_name3->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_boot_file_name3, *returned_option); // Try to fetch the option specified for the server1. It should override the // option specified for all servers. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption4(ServerSelector::ONE("server1"), - opt_boot_file_name1->option_->getType(), - opt_boot_file_name1->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption4(ServerSelector::ONE("server1"), + opt_boot_file_name1->option_->getType(), + opt_boot_file_name1->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_boot_file_name1, *returned_option); // The same in case of the server2. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption4(ServerSelector::ONE("server2"), - opt_boot_file_name2->option_->getType(), - opt_boot_file_name2->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption4(ServerSelector::ONE("server2"), + opt_boot_file_name2->option_->getType(), + opt_boot_file_name2->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_boot_file_name2, *returned_option); @@ -3519,11 +3221,8 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalOptions4WithServerTags) { // Try to fetch the collection of global options for the server1, server2 // and server3. The server3 does not have an explicit value so for this server // we should get the option associated with "all" servers. - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions4(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions4( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_options.size()); // Check that expected options have been returned. @@ -3535,27 +3234,21 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalOptions4WithServerTags) { // Try to fetch the collection of options specified for all servers. // This excludes the options specific to server1 and server2. It returns // only the common ones. - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions4(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions4(ServerSelector::ALL());); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_boot_file_name3, *returned_options.begin()); // Delete the server1. It should remove associations of this server with the // option and the option itself. EXPECT_NO_THROW(cbptr_->deleteServer4(ServerTag("server1"))); - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions4(ServerSelector::ONE("server1")); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions4(ServerSelector::ONE("server1"));); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_boot_file_name3, *returned_options.begin()); { SCOPED_TRACE("DELETE audit entry for the global option after server deletion"); - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete global option for server1. @@ -3572,14 +3265,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalOptions4WithServerTags) { EXPECT_EQ(1, deleted_num); // Create this option again to test that deletion of all servers removes it too. - EXPECT_NO_THROW(cbptr_->createUpdateOption4(ServerSelector::ONE("server2"), - opt_boot_file_name2)); + EXPECT_NO_THROW( + cbptr_->createUpdateOption4(ServerSelector::ONE("server2"), opt_boot_file_name2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers4()); - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions4(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions4(ServerSelector::ALL());); EXPECT_EQ(1, deleted_num); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_boot_file_name3, *returned_options.begin()); @@ -3587,22 +3278,17 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, globalOptions4WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the global option after deletion of" " all servers"); - testNewAuditEntry("dhcp4_options", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp4_options", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } // This test verifies that all global options can be retrieved. TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptions4) { // Add three global options to the database. - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[0]); - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[1]); - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[5]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[0]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[1]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[5]); // Retrieve all these options. OptionContainer returned_options = cbptr_->getAllOptions4(ServerSelector::ALL()); @@ -3658,18 +3344,14 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, getModifiedOptions4) { test_options_[5]->setModificationTime(timestamps_["today"]); // Put options into the database. - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[0]); - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[1]); - cbptr_->createUpdateOption4(ServerSelector::ALL(), - test_options_[5]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[0]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[1]); + cbptr_->createUpdateOption4(ServerSelector::ALL(), test_options_[5]); // Get options with the timestamp later than today. Only // one option should be returned. - OptionContainer returned_options = - cbptr_->getModifiedOptions4(ServerSelector::ALL(), - timestamps_["after today"]); + OptionContainer returned_options = cbptr_->getModifiedOptions4(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, returned_options.size()); // Fetching modified options with explicitly specified server selector @@ -3697,26 +3379,21 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSubnetOption4) { cbptr_->createUpdateSubnet4(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier. - Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); { SCOPED_TRACE("CREATE audit entry for a new subnet"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } // The inserted subnet contains two options. ASSERT_EQ(2, countRows("dhcp4_options")); OptionDescriptorPtr opt_boot_file_name = test_options_[0]; - cbptr_->createUpdateOption4(ServerSelector::ANY(), subnet->getID(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ANY(), subnet->getID(), opt_boot_file_name); - returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); OptionDescriptor returned_opt_boot_file_name = @@ -3735,8 +3412,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSubnetOption4) { // entry for the entire subnet so as the server refreshes the // subnet with the new option. Note that the server doesn't // have means to retrieve only the newly added option. - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option set"); } @@ -3745,14 +3421,12 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSubnetOption4) { ASSERT_EQ(3, countRows("dhcp4_options")); opt_boot_file_name->persistent_ = !opt_boot_file_name->persistent_; - cbptr_->createUpdateOption4(ServerSelector::ANY(), subnet->getID(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ANY(), subnet->getID(), opt_boot_file_name); - returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ANY(), subnet->getID()); ASSERT_TRUE(returned_subnet); - returned_opt_boot_file_name = - returned_subnet->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME); + returned_opt_boot_file_name = returned_subnet->getCfgOption()->get(DHCP4_OPTION_SPACE, + DHO_BOOT_FILE_NAME); ASSERT_TRUE(returned_opt_boot_file_name.option_); { @@ -3762,8 +3436,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSubnetOption4) { { SCOPED_TRACE("UPDATE audit entry for an updated subnet option"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option set"); } @@ -3776,16 +3449,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSubnetOption4) { opt_boot_file_name->option_->getType(), opt_boot_file_name->space_name_)); - returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); - EXPECT_FALSE(returned_subnet->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME).option_); + EXPECT_FALSE( + returned_subnet->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME).option_); { SCOPED_TRACE("UPDATE audit entry for a deleted subnet option"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option deleted"); } @@ -3802,9 +3474,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { { SCOPED_TRACE("CREATE audit entry for a subnet"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } // Inserted subnet has two options. @@ -3814,19 +3484,15 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { const PoolPtr pool = subnet->getPool(Lease::TYPE_V4, IOAddress("192.0.2.10")); ASSERT_TRUE(pool); OptionDescriptorPtr opt_boot_file_name = test_options_[0]; - cbptr_->createUpdateOption4(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_boot_file_name); // Query for a subnet. - Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + Subnet4Ptr returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); // The returned subnet should include our pool. - const PoolPtr returned_pool = returned_subnet->getPool(Lease::TYPE_V4, - IOAddress("192.0.2.10")); + const PoolPtr returned_pool = returned_subnet->getPool(Lease::TYPE_V4, IOAddress("192.0.2.10")); ASSERT_TRUE(returned_pool); // The pool should contain option we added earlier. @@ -3843,8 +3509,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { { SCOPED_TRACE("UPDATE audit entry for a subnet after adding an option " "to the pool"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "pool specific option set"); } @@ -3853,22 +3518,19 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { // Modify the option and update it in the database. opt_boot_file_name->persistent_ = !opt_boot_file_name->persistent_; - cbptr_->createUpdateOption4(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_boot_file_name); + cbptr_->createUpdateOption4(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_boot_file_name); // Fetch the subnet and the corresponding pool. - returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); const PoolPtr returned_pool1 = returned_subnet->getPool(Lease::TYPE_V4, IOAddress("192.0.2.10")); ASSERT_TRUE(returned_pool1); // Test that the option has been correctly updated in the database. - returned_opt_boot_file_name = - returned_pool1->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME); + returned_opt_boot_file_name = returned_pool1->getCfgOption()->get(DHCP4_OPTION_SPACE, + DHO_BOOT_FILE_NAME); ASSERT_TRUE(returned_opt_boot_file_name.option_); { @@ -3879,8 +3541,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { { SCOPED_TRACE("UPDATE audit entry for a subnet when updating pool " "specific option"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "pool specific option set"); } @@ -3889,30 +3550,27 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { ASSERT_EQ(3, countRows("dhcp4_options")); // Delete option for any server should succeed. - EXPECT_EQ(1, cbptr_->deleteOption4(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_boot_file_name->option_->getType(), - opt_boot_file_name->space_name_)); + EXPECT_EQ(1, + cbptr_->deleteOption4(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_boot_file_name->option_->getType(), + opt_boot_file_name->space_name_)); // Fetch the subnet and the pool from the database again to make sure // that the option is really gone. - returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet4(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); const PoolPtr returned_pool2 = returned_subnet->getPool(Lease::TYPE_V4, IOAddress("192.0.2.10")); ASSERT_TRUE(returned_pool2); // Option should be gone. - EXPECT_FALSE(returned_pool2->getCfgOption()->get(DHCP4_OPTION_SPACE, - DHO_BOOT_FILE_NAME).option_); + EXPECT_FALSE( + returned_pool2->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME).option_); { SCOPED_TRACE("UPDATE audit entry for a subnet when deleting pool " "specific option"); - testNewAuditEntry("dhcp4_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_subnet", AuditEntry::ModificationType::UPDATE, "pool specific option deleted"); } @@ -3926,19 +3584,16 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeletePoolOption4) { TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { // Insert new shared network. SharedNetwork4Ptr shared_network = test_networks_[1]; - cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - shared_network); + cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), shared_network); // Fetch this shared network by name. - SharedNetwork4Ptr returned_network = - cbptr_->getSharedNetwork4(ServerSelector::ALL(), - shared_network->getName()); + SharedNetwork4Ptr returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), + shared_network->getName()); ASSERT_TRUE(returned_network); { SCOPED_TRACE("CREATE audit entry for the new shared network"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } @@ -3946,12 +3601,10 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { ASSERT_EQ(0, countRows("dhcp4_options")); OptionDescriptorPtr opt_boot_file_name = test_options_[0]; - cbptr_->createUpdateOption4(ServerSelector::ANY(), - shared_network->getName(), + cbptr_->createUpdateOption4(ServerSelector::ANY(), shared_network->getName(), opt_boot_file_name); - returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); OptionDescriptor returned_opt_boot_file_name = @@ -3970,8 +3623,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { // entry for the entire shared network so as the server refreshes the // shared network with the new option. Note that the server doesn't // have means to retrieve only the newly added option. - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option set"); } @@ -3979,15 +3631,13 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { ASSERT_EQ(1, countRows("dhcp4_options")); opt_boot_file_name->persistent_ = !opt_boot_file_name->persistent_; - cbptr_->createUpdateOption4(ServerSelector::ANY(), - shared_network->getName(), + cbptr_->createUpdateOption4(ServerSelector::ANY(), shared_network->getName(), opt_boot_file_name); - returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); - returned_opt_boot_file_name = - returned_network->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME); + returned_opt_boot_file_name = returned_network->getCfgOption()->get(DHCP4_OPTION_SPACE, + DHO_BOOT_FILE_NAME); ASSERT_TRUE(returned_opt_boot_file_name.option_); { @@ -3997,8 +3647,7 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { { SCOPED_TRACE("UPDATE audit entry for the updated shared network option"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option set"); } @@ -4007,19 +3656,17 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, createUpdateDeleteSharedNetworkOption4) { ASSERT_EQ(1, countRows("dhcp4_options")); // Deleting an option for any server should succeed. - EXPECT_EQ(1, cbptr_->deleteOption4(ServerSelector::ANY(), - shared_network->getName(), + EXPECT_EQ(1, cbptr_->deleteOption4(ServerSelector::ANY(), shared_network->getName(), opt_boot_file_name->option_->getType(), opt_boot_file_name->space_name_)); - returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork4(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); - EXPECT_FALSE(returned_network->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME).option_); + EXPECT_FALSE( + returned_network->getCfgOption()->get(DHCP4_OPTION_SPACE, DHO_BOOT_FILE_NAME).option_); { SCOPED_TRACE("UPDATE audit entry for the deleted shared network option"); - testNewAuditEntry("dhcp4_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp4_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option deleted"); } @@ -4079,14 +3726,11 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOptionIdOrder) { // Insert two shared networks. We insert level1 without options first, // then level2. - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - level1_no_options)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), level1_no_options)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - level2)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), level2)); // Fetch all shared networks. - SharedNetwork4Collection networks = - cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); + SharedNetwork4Collection networks = cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); ASSERT_EQ(2, networks.size()); @@ -4094,17 +3738,14 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOptionIdOrder) { for (auto i = 0; i < networks.size(); ++i) { if (i == 0) { // level1_no_options - EXPECT_EQ(level1_no_options->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level1_no_options->toElement()->str(), networks[i]->toElement()->str()); } else { // bar - EXPECT_EQ(level2->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level2->toElement()->str(), networks[i]->toElement()->str()); } } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), - level1_options)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork4(ServerSelector::ALL(), level1_options)); // Fetch all shared networks. networks = cbptr_->getAllSharedNetworks4(ServerSelector::ALL()); @@ -4114,12 +3755,10 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOptionIdOrder) { for (auto i = 0; i < networks.size(); ++i) { if (i == 0) { // level1_no_options - EXPECT_EQ(level1_options->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level1_options->toElement()->str(), networks[i]->toElement()->str()); } else { // bar - EXPECT_EQ(level2->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level2->toElement()->str(), networks[i]->toElement()->str()); } } } @@ -4146,18 +3785,17 @@ TEST_F(PgSqlConfigBackendDHCPv4Test, multipleAuditEntries) { } // Get all audit entries from now. - AuditEntryCollection audit_entries = - cbptr_->getRecentAuditEntries(server_selector, now, 0); + AuditEntryCollection audit_entries = cbptr_->getRecentAuditEntries(server_selector, now, 0); // Check that partial retrieves return the right count. auto& mod_time_idx = audit_entries.get(); for (auto it = mod_time_idx.begin(); it != mod_time_idx.end(); ++it) { - size_t partial_size = - cbptr_->getRecentAuditEntries(server_selector, - (*it)->getModificationTime(), - (*it)->getRevisionId()).size(); - EXPECT_EQ(partial_size + 1, - std::distance(it, mod_time_idx.end())); + size_t partial_size = cbptr_ + ->getRecentAuditEntries(server_selector, + (*it)->getModificationTime(), + (*it)->getRevisionId()) + .size(); + EXPECT_EQ(partial_size + 1, std::distance(it, mod_time_idx.end())); } } @@ -4216,8 +3854,8 @@ public: /// @brief Method which returns invalid back end specific connection /// string virtual std::string invalidConnectString() { - return (connectionString(PGSQL_VALID_TYPE, INVALID_NAME, VALID_HOST, - VALID_USER, VALID_PASSWORD)); + return (connectionString(PGSQL_VALID_TYPE, INVALID_NAME, VALID_HOST, VALID_USER, + VALID_PASSWORD)); } /// @brief Verifies open failures do NOT invoke db lost callback @@ -4366,13 +4004,15 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndRecoveredCallback() { // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4418,7 +4058,8 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndFailedCallback() { // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); access = invalidConnectString(); CfgMgr::instance().clear(); @@ -4427,14 +4068,16 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndFailedCallback() { config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4482,7 +4125,8 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndRecoveredAfterTimeoutCa // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); access = invalidConnectString(); access += extra; @@ -4492,14 +4136,16 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndRecoveredAfterTimeoutCa config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4572,7 +4218,8 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndFailedAfterTimeoutCallb // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector())); access = invalidConnectString(); access += extra; @@ -4582,14 +4229,16 @@ PgSqlConfigBackendDHCPv4DbLostCallbackTest::testDbLostAndFailedAfterTimeoutCallb config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv4Mgr::instance().getPool()->getAllServers4( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4661,7 +4310,8 @@ TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, testDbLostAndRecoveredAfterTi } /// @brief Verifies that loss of connectivity to Postgres is handled correctly. -TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, testDbLostAndRecoveredAfterTimeoutCallbackMultiThreading) { +TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, + testDbLostAndRecoveredAfterTimeoutCallbackMultiThreading) { MultiThreadingTest mt(true); testDbLostAndRecoveredAfterTimeoutCallback(); } @@ -4673,9 +4323,10 @@ TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, testDbLostAndFailedAfterTimeo } /// @brief Verifies that loss of connectivity to Postgres is handled correctly. -TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, testDbLostAndFailedAfterTimeoutCallbackMultiThreading) { +TEST_F(PgSqlConfigBackendDHCPv4DbLostCallbackTest, + testDbLostAndFailedAfterTimeoutCallbackMultiThreading) { MultiThreadingTest mt(true); testDbLostAndFailedAfterTimeoutCallback(); } -} +} // namespace diff --git a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_mgr_unittest.cc b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_mgr_unittest.cc index 9345bd366d..565dab12a2 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_mgr_unittest.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_mgr_unittest.cc @@ -5,13 +5,16 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include + #include #include -#include -#include #include +#include + #include + #include +#include using namespace isc::data; using namespace isc::dhcp; @@ -64,8 +67,8 @@ TEST_F(PgSqlConfigBackendDHCPv6MgrTest, factoryRegistration) { // Should be able to create a global parameter. StampedValuePtr server_tag = StampedValue::create("server-tag", "whale"); - ASSERT_NO_THROW(mgr.getPool()->createUpdateGlobalParameter6(pgsql, ServerSelector::ALL(), - server_tag)); + ASSERT_NO_THROW( + mgr.getPool()->createUpdateGlobalParameter6(pgsql, ServerSelector::ALL(), server_tag)); // Verify parameter can be fetched. server_tag.reset(); ASSERT_NO_THROW(server_tag = mgr.getPool()->getGlobalParameter6(pgsql, ServerSelector::ALL(), @@ -85,4 +88,4 @@ TEST_F(PgSqlConfigBackendDHCPv6MgrTest, factoryRegistration) { NoSuchDatabase); } -} +} // namespace diff --git a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_unittest.cc b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_unittest.cc index 92fdd34edc..3d36c589e9 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_unittest.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_dhcp6_unittest.cc @@ -5,7 +5,7 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include -#include + #include #include #include @@ -26,8 +26,10 @@ #include #include + #include #include +#include #include using namespace isc; @@ -48,7 +50,6 @@ namespace { /// It exposes protected members of the @c PgSqlConfigBackendDHCPv6. class TestPgSqlConfigBackendDHCPv6 : public PgSqlConfigBackendDHCPv6 { public: - /// @brief Constructor. /// /// @param parameters A data structure relating keywords and values @@ -58,7 +59,6 @@ public: } using PgSqlConfigBackendDHCPv6::base_impl_; - }; /// @brief Test fixture class for @c PgSqlConfigBackendDHCPv6. @@ -73,12 +73,10 @@ public: /// database. class PgSqlConfigBackendDHCPv6Test : public PgSqlGenericBackendTest { public: - /// @brief Constructor. PgSqlConfigBackendDHCPv6Test() - : test_subnets_(), test_networks_(), test_option_defs_(), - test_options_(), test_servers_(), timestamps_(), cbptr_(), - audit_entries_() { + : test_subnets_(), test_networks_(), test_option_defs_(), test_options_(), test_servers_(), + timestamps_(), cbptr_(), audit_entries_() { // Ensure we have the proper schema with no transient data. createPgSQLSchema(); @@ -150,13 +148,11 @@ public: // First subnet includes all parameters. std::string interface_id_text = "whale"; OptionBuffer interface_id(interface_id_text.begin(), interface_id_text.end()); - OptionPtr opt_interface_id(new Option(Option::V6, D6O_INTERFACE_ID, - interface_id)); + OptionPtr opt_interface_id(new Option(Option::V6, D6O_INTERFACE_ID, interface_id)); ElementPtr user_context = Element::createMap(); user_context->set("foo", Element::create("bar")); - Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8::"), - 64, 30, 40, 50, 60, 1024)); + Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8::"), 64, 30, 40, 50, 60, 1024)); subnet->allowClientClass("home"); subnet->setIface("eth1"); subnet->setInterfaceId(opt_interface_id); @@ -176,35 +172,28 @@ public: subnet->setT2Percent(0.444); subnet->setDdnsSendUpdates(false); - Pool6Ptr pool1(new Pool6(Lease::TYPE_NA, - IOAddress("2001:db8::10"), - IOAddress("2001:db8::20"))); + Pool6Ptr pool1( + new Pool6(Lease::TYPE_NA, IOAddress("2001:db8::10"), IOAddress("2001:db8::20"))); subnet->addPool(pool1); - Pool6Ptr pool2(new Pool6(Lease::TYPE_NA, - IOAddress("2001:db8::50"), - IOAddress("2001:db8::60"))); + Pool6Ptr pool2( + new Pool6(Lease::TYPE_NA, IOAddress("2001:db8::50"), IOAddress("2001:db8::60"))); subnet->addPool(pool2); - Pool6Ptr pdpool1(new Pool6(Lease::TYPE_PD, - IOAddress("2001:db8:a::"), 48, 64)); + Pool6Ptr pdpool1(new Pool6(Lease::TYPE_PD, IOAddress("2001:db8:a::"), 48, 64)); subnet->addPool(pdpool1); - Pool6Ptr pdpool2(new Pool6(Lease::TYPE_PD, - IOAddress("2001:db8:b::"), 48, 64)); + Pool6Ptr pdpool2(new Pool6(Lease::TYPE_PD, IOAddress("2001:db8:b::"), 48, 64)); subnet->addPool(pdpool2); // Add several options to the subnet. - subnet->getCfgOption()->add(test_options_[0]->option_, - test_options_[0]->persistent_, + subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, test_options_[0]->space_name_); - subnet->getCfgOption()->add(test_options_[1]->option_, - test_options_[1]->persistent_, + subnet->getCfgOption()->add(test_options_[1]->option_, test_options_[1]->persistent_, test_options_[1]->space_name_); - subnet->getCfgOption()->add(test_options_[2]->option_, - test_options_[2]->persistent_, + subnet->getCfgOption()->add(test_options_[2]->option_, test_options_[2]->persistent_, test_options_[2]->space_name_); test_subnets_.push_back(subnet); @@ -212,25 +201,20 @@ public: // Adding another subnet with the same subnet id to test // cases that this second instance can override existing // subnet instance. - subnet.reset(new Subnet6(IOAddress("2001:db8:1::"), - 48, 20, 30, 40, 50, 1024)); + subnet.reset(new Subnet6(IOAddress("2001:db8:1::"), 48, 20, 30, 40, 50, 1024)); - pool1.reset(new Pool6(Lease::TYPE_NA, - IOAddress("2001:db8:1::10"), - IOAddress("2001:db8:1::20"))); + pool1.reset( + new Pool6(Lease::TYPE_NA, IOAddress("2001:db8:1::10"), IOAddress("2001:db8:1::20"))); subnet->addPool(pool1); - pool1->getCfgOption()->add(test_options_[3]->option_, - test_options_[3]->persistent_, + pool1->getCfgOption()->add(test_options_[3]->option_, test_options_[3]->persistent_, test_options_[3]->space_name_); - pool1->getCfgOption()->add(test_options_[4]->option_, - test_options_[4]->persistent_, + pool1->getCfgOption()->add(test_options_[4]->option_, test_options_[4]->persistent_, test_options_[4]->space_name_); - pool2.reset(new Pool6(Lease::TYPE_NA, - IOAddress("2001:db8:1::50"), - IOAddress("2001:db8:1::60"))); + pool2.reset( + new Pool6(Lease::TYPE_NA, IOAddress("2001:db8:1::50"), IOAddress("2001:db8:1::60"))); subnet->addPool(pool2); pool2->allowClientClass("work"); @@ -240,21 +224,18 @@ public: user_context->set("bar", Element::create("foo")); pool2->setContext(user_context); - pdpool1.reset(new Pool6(IOAddress("2001:db8:c::"), 48, 64, - IOAddress("2001:db8:c::1"), 96)); + pdpool1.reset(new Pool6(IOAddress("2001:db8:c::"), 48, 64, IOAddress("2001:db8:c::1"), 96)); subnet->addPool(pdpool1); - pdpool1->getCfgOption()->add(test_options_[3]->option_, - test_options_[3]->persistent_, + pdpool1->getCfgOption()->add(test_options_[3]->option_, test_options_[3]->persistent_, test_options_[3]->space_name_); - pdpool1->getCfgOption()->add(test_options_[4]->option_, - test_options_[4]->persistent_, + pdpool1->getCfgOption()->add(test_options_[4]->option_, test_options_[4]->persistent_, test_options_[4]->space_name_); // Create the prefix delegation pool with an excluded prefix. - pdpool2.reset(new Pool6(IOAddress("2001:db8:d::"), 48, 64, - IOAddress("2001:db8:d::2000"), 120)); + pdpool2.reset( + new Pool6(IOAddress("2001:db8:d::"), 48, 64, IOAddress("2001:db8:d::2000"), 120)); subnet->addPool(pdpool2); @@ -267,8 +248,7 @@ public: test_subnets_.push_back(subnet); - subnet.reset(new Subnet6(IOAddress("2001:db8:3::"), - 64, 20, 30, 40, 50, 2048)); + subnet.reset(new Subnet6(IOAddress("2001:db8:3::"), 64, 20, 30, 40, 50, 2048)); Triplet null_timer; subnet->setPreferred(null_timer); subnet->setT1(null_timer); @@ -278,20 +258,19 @@ public: subnet->setDdnsSendUpdates(true); subnet->setDdnsOverrideNoUpdate(true); subnet->setDdnsOverrideClientUpdate(false); - subnet->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + subnet->setDdnsReplaceClientNameMode( + D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); subnet->setDdnsGeneratedPrefix("myhost"); subnet->setDdnsQualifyingSuffix("example.org"); - subnet->getCfgOption()->add(test_options_[0]->option_, - test_options_[0]->persistent_, + subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, test_options_[0]->space_name_); test_subnets_.push_back(subnet); // Add a subnet with all defaults. - subnet.reset(new Subnet6(IOAddress("2001:db8:4::"), 64, - Triplet(), Triplet(), - Triplet(), Triplet(), + subnet.reset(new Subnet6(IOAddress("2001:db8:4::"), 64, Triplet(), + Triplet(), Triplet(), Triplet(), 4096)); test_subnets_.push_back(subnet); } @@ -302,10 +281,8 @@ public: user_context->set("foo", Element::create("bar")); std::string interface_id_text = "fish"; - OptionBuffer interface_id(interface_id_text.begin(), - interface_id_text.end()); - OptionPtr opt_interface_id(new Option(Option::V6, D6O_INTERFACE_ID, - interface_id)); + OptionBuffer interface_id(interface_id_text.begin(), interface_id_text.end()); + OptionPtr opt_interface_id(new Option(Option::V6, D6O_INTERFACE_ID, interface_id)); SharedNetwork6Ptr shared_network(new SharedNetwork6("level1")); shared_network->allowClientClass("foo"); @@ -359,7 +336,8 @@ public: shared_network->setDdnsSendUpdates(true); shared_network->setDdnsOverrideNoUpdate(true); shared_network->setDdnsOverrideClientUpdate(false); - shared_network->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + shared_network->setDdnsReplaceClientNameMode( + D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); shared_network->setDdnsGeneratedPrefix("myhost"); shared_network->setDdnsQualifyingSuffix("example.org"); @@ -377,18 +355,14 @@ public: ElementPtr user_context = Element::createMap(); user_context->set("foo", Element::create("bar")); - OptionDefinitionPtr option_def(new OptionDefinition("foo", 1234, - DHCP6_OPTION_SPACE, - "string", - "espace")); + OptionDefinitionPtr option_def( + new OptionDefinition("foo", 1234, DHCP6_OPTION_SPACE, "string", "espace")); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("bar", 1234, DHCP6_OPTION_SPACE, - "uint32", true)); + option_def.reset(new OptionDefinition("bar", 1234, DHCP6_OPTION_SPACE, "uint32", true)); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("fish", 5235, DHCP6_OPTION_SPACE, - "record", true)); + option_def.reset(new OptionDefinition("fish", 5235, DHCP6_OPTION_SPACE, "record", true)); option_def->addRecordField("uint32"); option_def->addRecordField("string"); test_option_defs_.push_back(option_def); @@ -396,8 +370,7 @@ public: option_def.reset(new OptionDefinition("whale", 20236, "xyz", "string")); test_option_defs_.push_back(option_def); - option_def.reset(new OptionDefinition("bar", 1234, DHCP6_OPTION_SPACE, - "uint64", true)); + option_def.reset(new OptionDefinition("bar", 1234, DHCP6_OPTION_SPACE, "uint64", true)); test_option_defs_.push_back(option_def); } @@ -408,15 +381,13 @@ public: OptionDefSpaceContainer defs; - OptionDescriptor desc = - createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, - true, false, "my-timezone"); + OptionDescriptor desc = createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, true, + false, "my-timezone"); desc.space_name_ = DHCP6_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V6, D6O_PREFERENCE, - false, true, 64); + desc = createOption(Option::V6, D6O_PREFERENCE, false, true, 64); desc.space_name_ = DHCP6_OPTION_SPACE; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -424,8 +395,7 @@ public: desc.space_name_ = "vendor-encapsulated-options"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createAddressOption(1254, true, true, - "2001:db8::3"); + desc = createAddressOption(1254, true, true, "2001:db8::3"); desc.space_name_ = DHCP6_OPTION_SPACE; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -433,21 +403,19 @@ public: desc.space_name_ = "isc"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createAddressOption(2, false, true, - "2001:db8:1::5", - "2001:db8:1::3", + desc = createAddressOption(2, false, true, "2001:db8:1::5", "2001:db8:1::3", "2001:db8:3::4"); desc.space_name_ = "isc"; test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, - true, false, "my-timezone-2"); + desc = createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, true, false, + "my-timezone-2"); desc.space_name_ = DHCP6_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); - desc = createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, - true, false, "my-timezone-3"); + desc = createOption(Option::V6, D6O_NEW_POSIX_TIMEZONE, true, false, + "my-timezone-3"); desc.space_name_ = DHCP6_OPTION_SPACE; desc.setContext(user_context); test_options_.push_back(OptionDescriptorPtr(new OptionDescriptor(desc))); @@ -456,14 +424,14 @@ public: // compare subnets, networks and pools in JSON format. In that case, // the @c toElement functions require option definitions to generate the // proper output. - defs.addItem(OptionDefinitionPtr(new OptionDefinition( - "vendor-encapsulated-1", 1, - "vendor-encapsulated-options", "uint32"))); - defs.addItem(OptionDefinitionPtr(new OptionDefinition( - "option-1254", 1254, DHCP6_OPTION_SPACE, - "ipv6-address", true))); + defs.addItem( + OptionDefinitionPtr(new OptionDefinition("vendor-encapsulated-1", 1, + "vendor-encapsulated-options", "uint32"))); + defs.addItem(OptionDefinitionPtr( + new OptionDefinition("option-1254", 1254, DHCP6_OPTION_SPACE, "ipv6-address", true))); defs.addItem(OptionDefinitionPtr(new OptionDefinition("isc-1", 1, "isc", "empty"))); - defs.addItem(OptionDefinitionPtr(new OptionDefinition("isc-2", 2, "isc", "ipv6-address", true))); + defs.addItem( + OptionDefinitionPtr(new OptionDefinition("isc-2", 2, "isc", "ipv6-address", true))); // Register option definitions. LibDHCP::setRuntimeOptionDefs(defs); @@ -472,8 +440,8 @@ public: /// @brief Initialize posix time values used in tests. void initTimestamps() { // Current time minus 1 hour to make sure it is in the past. - timestamps_["today"] = boost::posix_time::second_clock::local_time() - - boost::posix_time::hours(1); + timestamps_["today"] = boost::posix_time::second_clock::local_time() - + boost::posix_time::hours(1); // One second after today. timestamps_["after today"] = timestamps_["today"] + boost::posix_time::seconds(1); // Yesterday. @@ -498,17 +466,13 @@ public: auto& mod_time_idx = audit_entries_[server_tag].get(); - for (auto audit_entry_it = mod_time_idx.begin(); - audit_entry_it != mod_time_idx.end(); + for (auto audit_entry_it = mod_time_idx.begin(); audit_entry_it != mod_time_idx.end(); ++audit_entry_it) { auto audit_entry = *audit_entry_it; - s << audit_entry->getObjectType() << ", " - << audit_entry->getObjectId() << ", " + s << audit_entry->getObjectType() << ", " << audit_entry->getObjectId() << ", " << static_cast(audit_entry->getModificationType()) << ", " - << audit_entry->getModificationTime() << ", " - << audit_entry->getRevisionId() << ", " - << audit_entry->getLogMessage() - << std::endl; + << audit_entry->getModificationTime() << ", " << audit_entry->getRevisionId() << ", " + << audit_entry->getLogMessage() << std::endl; } return (s.str()); @@ -647,9 +611,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteServer) { { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } // It should not be possible to create a duplicate of the logical @@ -676,9 +638,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteServer) { { SCOPED_TRACE("UPDATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::UPDATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::UPDATE, "server set"); } // Verify that the server has been updated. @@ -688,7 +648,6 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteServer) { EXPECT_EQ("this is server 1 bis", returned_server->getDescription()); EXPECT_EQ(timestamps_["today"], returned_server->getModificationTime()); - uint64_t servers_deleted = 0; // Try to delete non-existing server. @@ -708,8 +667,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteServer) { { SCOPED_TRACE("DELETE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::DELETE, "deleting a server"); } @@ -763,19 +721,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteGlobalParameter6) { // Explicitly set modification time to make sure that the time // returned from the database is correct. global_parameter->setModificationTime(timestamps_["yesterday"]); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - global_parameter); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), global_parameter); { SCOPED_TRACE("CREATE audit entry for global parameter"); - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::CREATE, "global parameter set"); } // Verify returned parameter and the modification time. - StampedValuePtr returned_global_parameter = - cbptr_->getGlobalParameter6(ServerSelector::ALL(), "global"); + StampedValuePtr returned_global_parameter = cbptr_->getGlobalParameter6(ServerSelector::ALL(), + "global"); ASSERT_TRUE(returned_global_parameter); EXPECT_EQ("global", returned_global_parameter->getName()); EXPECT_EQ("whale", returned_global_parameter->getValue()); @@ -798,10 +754,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteGlobalParameter6) { // Check that the parameter is updated when selector is specified correctly. global_parameter = StampedValue::create("global", "fish"); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - global_parameter); - returned_global_parameter = cbptr_->getGlobalParameter6(ServerSelector::ALL(), - "global"); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), global_parameter); + returned_global_parameter = cbptr_->getGlobalParameter6(ServerSelector::ALL(), "global"); ASSERT_TRUE(returned_global_parameter); EXPECT_EQ("global", returned_global_parameter->getName()); EXPECT_EQ("fish", returned_global_parameter->getValue()); @@ -810,26 +764,22 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteGlobalParameter6) { { SCOPED_TRACE("UPDATE audit entry for the global parameter"); - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::UPDATE, "global parameter set"); } // Should not delete parameter specified for all servers if explicit // server name is provided. - EXPECT_EQ(0, cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server1"), - "global")); + EXPECT_EQ(0, cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server1"), "global")); // Delete parameter and make sure it is gone. cbptr_->deleteGlobalParameter6(ServerSelector::ALL(), "global"); - returned_global_parameter = cbptr_->getGlobalParameter6(ServerSelector::ALL(), - "global"); + returned_global_parameter = cbptr_->getGlobalParameter6(ServerSelector::ALL(), "global"); EXPECT_FALSE(returned_global_parameter); { SCOPED_TRACE("DELETE audit entry for the global parameter"); - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::DELETE, "global parameter deleted"); } } @@ -853,70 +803,52 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } // This time inserting the global parameters for the server1 and server2 should // be successful. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server1"), - global_parameter1)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server1"), global_parameter1)); { SCOPED_TRACE("Global parameter for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the global value. - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ONE("server1"), - 3, 1); + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ONE("server1"), 3, 1); } - - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server2"), - global_parameter2)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server2"), global_parameter2)); { SCOPED_TRACE("Global parameter for server2 is set"); // Same as in case of the server2, there should be 3 audit entries of // which one we validate. - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ONE("server2"), - 3, 1); + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ONE("server2"), 3, 1); } // The last parameter is associated with all servers. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - global_parameter3)); + EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), global_parameter3)); { SCOPED_TRACE("Global parameter for all servers is set"); // There should be one new audit entry for all servers. It indicates // the insertion of the global value. - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::CREATE, - "global parameter set", - ServerSelector::ALL(), - 1, 1); + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::CREATE, + "global parameter set", ServerSelector::ALL(), 1, 1); } StampedValuePtr returned_global; // Try to fetch the value specified for all servers. - EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter6(ServerSelector::ALL(), - "global") - ); + EXPECT_NO_THROW(returned_global = cbptr_->getGlobalParameter6(ServerSelector::ALL(), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter3->getValue(), returned_global->getValue()); ASSERT_EQ(1, returned_global->getServerTags().size()); @@ -925,9 +857,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // Try to fetch the value specified for the server1. This should override the // value specified for all servers. EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter6(ServerSelector::ONE("server1"), - "global") - ); + returned_global = cbptr_->getGlobalParameter6(ServerSelector::ONE("server1"), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter1->getValue(), returned_global->getValue()); @@ -936,9 +866,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // The same in case of the server2. EXPECT_NO_THROW( - returned_global = cbptr_->getGlobalParameter6(ServerSelector::ONE("server2"), - "global") - ); + returned_global = cbptr_->getGlobalParameter6(ServerSelector::ONE("server2"), "global")); ASSERT_TRUE(returned_global); EXPECT_EQ(global_parameter2->getValue(), returned_global->getValue()); ASSERT_EQ(1, returned_global->getServerTags().size()); @@ -949,11 +877,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // Try to fetch the collection of globals for the server1, server2 and server3. // The server3 does not have an explicit value so for this server we should get /// the value for 'all'. - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters6( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_globals.size()); // Capture the returned values into the map so as we can check the @@ -972,9 +897,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // Try to fetch the collection of global parameters specified for all servers. // This excludes the values specific to server1 and server2. It returns only the // common ones. - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ALL()) - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ALL())); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); EXPECT_EQ(global_parameter3->getValue(), returned_global->getValue()); @@ -985,8 +908,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // global parameter and the global parameter itself. EXPECT_NO_THROW(cbptr_->deleteServer6(ServerTag("server1"))); EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ONE("server1")) - ); + returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ONE("server1"))); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); // As a result, the value fetched for the server1 should be the one available for @@ -1001,34 +923,30 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // We expect two new audit entries for the server1, one indicating that the // server has been deleted and another one indicating that the corresponding // global value has been deleted. We check the latter entry. - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete global parameter for server1. uint64_t deleted_num = 0; - EXPECT_NO_THROW(deleted_num = cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server1"), - "global")); + EXPECT_NO_THROW( + deleted_num = cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server1"), "global")); // No parameters should be deleted. In particular, the parameter for the logical // server 'all' should not be deleted. EXPECT_EQ(0, deleted_num); // Deleting the existing value for server2 should succeed. - EXPECT_NO_THROW(deleted_num = cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server2"), - "global")); + EXPECT_NO_THROW( + deleted_num = cbptr_->deleteGlobalParameter6(ServerSelector::ONE("server2"), "global")); EXPECT_EQ(1, deleted_num); // Create it again to test that deletion of all server removes this too. - EXPECT_NO_THROW(cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server2"), - global_parameter2)); + EXPECT_NO_THROW( + cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server2"), global_parameter2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers6()); - EXPECT_NO_THROW( - returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ALL()) - ); + EXPECT_NO_THROW(returned_globals = cbptr_->getAllGlobalParameters6(ServerSelector::ALL())); EXPECT_EQ(1, deleted_num); ASSERT_EQ(1, returned_globals.size()); returned_global = *returned_globals.begin(); @@ -1044,10 +962,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { // There should be 4 new audit entries. One for deleting the global, one for // re-creating it, one for deleting the server2 and one for deleting the // global again as a result of deleting the server2. - testNewAuditEntry("dhcp6_global_parameter", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp6_global_parameter", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } @@ -1055,14 +971,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalParameters6WithServerTags) { TEST_F(PgSqlConfigBackendDHCPv6Test, getAllGlobalParameters6) { // Create 3 parameters and put them into the database. cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - StampedValue::create("name1", "value1")); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), + StampedValue::create("name1", "value1")); + cbptr_->createUpdateGlobalParameter6( + ServerSelector::ALL(), StampedValue::create("name2", Element::create(static_cast(65)))); cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - StampedValue::create("name3", "value3")); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), + StampedValue::create("name3", "value3")); + cbptr_->createUpdateGlobalParameter6( + ServerSelector::ALL(), StampedValue::create("name4", Element::create(static_cast(true)))); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), + cbptr_->createUpdateGlobalParameter6( + ServerSelector::ALL(), StampedValue::create("name5", Element::create(static_cast(1.65)))); // Fetch all parameters. @@ -1071,8 +990,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllGlobalParameters6) { const auto& parameters_index = parameters.get(); - for (auto param = parameters_index.begin(); param != parameters_index.end(); - ++param) { + for (auto param = parameters_index.begin(); param != parameters_index.end(); ++param) { ASSERT_EQ(1, (*param)->getServerTags().size()); EXPECT_EQ("all", (*param)->getServerTags().begin()->get()); } @@ -1105,18 +1023,15 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedGlobalParameters6) { // "yesterday", "today" and "tomorrow" respectively. StampedValuePtr value = StampedValue::create("name1", "value1"); value->setModificationTime(timestamps_["yesterday"]); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), value); value = StampedValue::create("name2", Element::create(static_cast(65))); value->setModificationTime(timestamps_["today"]); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), value); value = StampedValue::create("name3", "value3"); value->setModificationTime(timestamps_["tomorrow"]); - cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), - value); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ALL(), value); // Get parameters modified after "today". auto parameters = cbptr_->getModifiedGlobalParameters6(ServerSelector::ALL(), @@ -1148,8 +1063,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, nullKeyError) { // Try to insert it and associate with non-existing server. std::string msg; try { - cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server1"), - global_parameter); + cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server1"), global_parameter); msg = "got no exception"; } catch (const NullKeyError& ex) { msg = ex.what(); @@ -1167,22 +1081,18 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateSubnet6Selectors) { // Supported selectors. Subnet6Ptr subnet = test_subnets_[0]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), - subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet)); subnet = test_subnets_[2]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), - subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet)); subnet = test_subnets_[3]; - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet)); + EXPECT_NO_THROW( + cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet)); // Not supported server selectors. - EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ANY(), subnet), - isc::InvalidOperation); + EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ANY(), subnet), isc::InvalidOperation); // Not implemented server selectors. - EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::UNASSIGNED(), - subnet), + EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::UNASSIGNED(), subnet), isc::NotImplemented); } @@ -1192,57 +1102,50 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } auto subnet = test_subnets_[0]; auto subnet2 = test_subnets_[2]; // An attempt to add a subnet to a non-existing server (server1) should fail. - EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet2), NullKeyError); // The subnet shouldn't have been added, even though one of the servers exists. Subnet6Ptr returned_subnet; - ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server2"), - subnet2->getID())); + ASSERT_NO_THROW( + returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server2"), subnet2->getID())); EXPECT_FALSE(returned_subnet); // Insert two subnets, one for all servers and one for server2. EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set", ServerSelector::ONE("subnet2"), - 2, 1); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set", + ServerSelector::ONE("subnet2"), 2, 1); } // We are not going to support selection of a single entry for multiple servers. - EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet->getID()), isc::InvalidOperation); - EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet->toText()), isc::InvalidOperation); // Test that this subnet will be fetched for various server selectors. - auto test_get_subnet = [this, &subnet] (const std::string& test_case_name, - const ServerSelector& server_selector, - const std::string& expected_tag = ServerTag::ALL) { + auto test_get_subnet = [this, &subnet](const std::string& test_case_name, + const ServerSelector& server_selector, + const std::string& expected_tag = ServerTag::ALL) { SCOPED_TRACE(test_case_name); // Test fetching subnet by id. @@ -1256,8 +1159,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6) { EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); // Test fetching subnet by prefix. - ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet6(server_selector, - subnet->toText())); + ASSERT_NO_THROW(returned_subnet = cbptr_->getSubnet6(server_selector, subnet->toText())); ASSERT_TRUE(returned_subnet); ASSERT_EQ(1, returned_subnet->getServerTags().size()); @@ -1285,9 +1187,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6) { EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet)); { SCOPED_TRACE("CREATE audit entry for the subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "subnet set"); } { @@ -1305,9 +1205,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6) { EXPECT_FALSE(cbptr_->getSubnet6(ServerSelector::ONE("server1"), subnet2->toText())); // Update the subnet in the database (both use the same prefix). - subnet2.reset(new Subnet6(IOAddress("2001:db8:3::"), - 64, 30, 40, 50, 80, 8192)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2)); + subnet2.reset(new Subnet6(IOAddress("2001:db8:3::"), 64, 30, 40, 50, 80, 8192)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2)); // Fetch again and verify. returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server2"), subnet2->toText()); @@ -1317,9 +1216,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6) { // Update the subnet when it conflicts same id and same prefix both // with different subnets. This should throw. // Subnets are 2001:db8:1::/48 id 1024 and 2001:db8:3::/64 id 8192 - subnet2.reset(new Subnet6(IOAddress("2001:db8:1::"), - 48, 30, 40, 50, 80, 8192)); - EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2), + subnet2.reset(new Subnet6(IOAddress("2001:db8:1::"), 48, 30, 40, 50, 80, 8192)); + EXPECT_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2), DuplicateEntry); } @@ -1333,8 +1231,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6byIdSelectors) { EXPECT_NO_THROW(cbptr_->getSubnet6(ServerSelector::ONE("server1"), SubnetID(1))); // Not supported selectors. - EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - SubnetID(1)), + EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), SubnetID(1)), isc::InvalidOperation); } @@ -1355,8 +1252,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6WithOptionalUnspecified) { cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier. - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); EXPECT_TRUE(returned_subnet->getIface().unspecified()); @@ -1420,7 +1316,6 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6WithOptionalUnspecified) { // The easiest way to verify whether the returned subnet matches the inserted // subnet is to convert both to text. EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); - } // Test that subnet can be associated with a shared network. @@ -1432,8 +1327,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6SharedNetwork) { shared_network->add(subnet); // Store shared network in the database. - cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network); // Store subnet associated with the shared network in the database. cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); @@ -1461,8 +1355,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6ByPrefix) { cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); // Fetch the subnet by prefix. - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - "2001:db8::/64"); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), "2001:db8::/64"); ASSERT_TRUE(returned_subnet); ASSERT_EQ(1, returned_subnet->getServerTags().size()); EXPECT_EQ("all", returned_subnet->getServerTags().begin()->get()); @@ -1472,8 +1365,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6ByPrefix) { // Fetching the subnet for an explicitly specified server tag should // succeed too. - returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), - "2001:db8::/64"); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), "2001:db8::/64"); EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); } @@ -1487,7 +1379,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSubnet6byPrefixSelectors) { EXPECT_NO_THROW(cbptr_->getSubnet6(ServerSelector::ONE("server1"), "192.0.2.0/26")); // Not supported selectors. - EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), "192.0.2.0/26"), isc::InvalidOperation); } @@ -1503,15 +1395,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSubnets6) { // indicate an update. if (subnet->toText() == "2001:db8:1::/48") { SCOPED_TRACE("UPDATE audit entry for the subnet " + subnet->toText()); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "subnet set"); } else { SCOPED_TRACE("CREATE audit entry for the subnet " + subnet->toText()); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } } @@ -1526,56 +1414,46 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSubnets6) { // See if the subnets are returned ok. auto subnet_it = subnets.begin(); for (auto i = 0; i < subnets.size(); ++i, ++subnet_it) { - EXPECT_EQ(test_subnets_[i + 1]->toElement()->str(), - (*subnet_it)->toElement()->str()); + EXPECT_EQ(test_subnets_[i + 1]->toElement()->str(), (*subnet_it)->toElement()->str()); ASSERT_EQ(1, (*subnet_it)->getServerTags().size()); EXPECT_EQ("all", (*subnet_it)->getServerTags().begin()->get()); } // Attempt to remove the non existing subnet should return 0. EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ALL(), 22)); - EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ALL(), - "2001:db8:555::/64")); + EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ALL(), "2001:db8:555::/64")); // All subnets should be still there. ASSERT_EQ(test_subnets_.size() - 1, subnets.size()); // Should not delete the subnet for explicit server tag because // our subnet is for all servers. - EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), - test_subnets_[1]->getID())); + EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), test_subnets_[1]->getID())); // Also, verify that behavior when deleting by prefix. - EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), - test_subnets_[2]->toText())); + EXPECT_EQ(0, cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), test_subnets_[2]->toText())); // Same for all subnets. EXPECT_EQ(0, cbptr_->deleteAllSubnets6(ServerSelector::ONE("server1"))); // Delete first subnet by id and verify that it is gone. - EXPECT_EQ(1, cbptr_->deleteSubnet6(ServerSelector::ALL(), - test_subnets_[1]->getID())); + EXPECT_EQ(1, cbptr_->deleteSubnet6(ServerSelector::ALL(), test_subnets_[1]->getID())); { SCOPED_TRACE("DELETE first subnet audit entry"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::DELETE, - "subnet deleted"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::DELETE, "subnet deleted"); } subnets = cbptr_->getAllSubnets6(ServerSelector::ALL()); ASSERT_EQ(test_subnets_.size() - 2, subnets.size()); // Delete second subnet by prefix and verify it is gone. - EXPECT_EQ(1, cbptr_->deleteSubnet6(ServerSelector::ALL(), - test_subnets_[2]->toText())); + EXPECT_EQ(1, cbptr_->deleteSubnet6(ServerSelector::ALL(), test_subnets_[2]->toText())); subnets = cbptr_->getAllSubnets6(ServerSelector::ALL()); ASSERT_EQ(test_subnets_.size() - 3, subnets.size()); { SCOPED_TRACE("DELETE second subnet audit entry"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::DELETE, - "subnet deleted"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::DELETE, "subnet deleted"); } // Delete all. @@ -1585,8 +1463,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSubnets6) { { SCOPED_TRACE("DELETE all subnets audit entry"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::DELETE, "deleted all subnets"); } } @@ -1598,7 +1475,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSubnets6Selectors) { EXPECT_NO_THROW(cbptr_->getAllSubnets6(ServerSelector::UNASSIGNED())); EXPECT_NO_THROW(cbptr_->getAllSubnets6(ServerSelector::ALL())); EXPECT_NO_THROW(cbptr_->getAllSubnets6(ServerSelector::ONE("server1"))); - EXPECT_NO_THROW(cbptr_->getAllSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" }))); + EXPECT_NO_THROW(cbptr_->getAllSubnets6(ServerSelector::MULTIPLE({"server1", "server2"}))); // Not supported selectors. EXPECT_THROW(cbptr_->getAllSubnets6(ServerSelector::ANY()), isc::InvalidOperation); @@ -1613,12 +1490,10 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSubnets6WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[0])); EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), - subnet1)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), - subnet2)); - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet3)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet1)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet2)); + EXPECT_NO_THROW( + cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet3)); Subnet6Collection subnets; @@ -1682,77 +1557,57 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSubnet6) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } auto subnet1 = test_subnets_[0]; auto subnet2 = test_subnets_[2]; auto subnet3 = test_subnets_[3]; - auto create_test_subnets = [&] () { + auto create_test_subnets = [&]() { // Insert three subnets, one for all servers, one for server2 and one for two // servers: server1 and server2. + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet1)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2)); EXPECT_NO_THROW( - cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet1) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet6(ServerSelector::ONE("server2"), subnet2) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - subnet3) - ); + cbptr_->createUpdateSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), subnet3)); }; create_test_subnets(); // Test that subnet is not deleted for a specified server selector. - auto test_no_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet6Ptr& subnet) { + auto test_no_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, const Subnet6Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->getID())); EXPECT_EQ(0, deleted_count); deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->toText()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->toText())); EXPECT_EQ(0, deleted_count); }; { SCOPED_TRACE("Test valid but non matching server selectors"); - test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), - subnet1); - test_no_delete("selector: all, actual: one", ServerSelector::ALL(), - subnet2); - test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), - subnet3); + test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), subnet1); + test_no_delete("selector: all, actual: one", ServerSelector::ALL(), subnet2); + test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), subnet3); } // Test successful deletion of a subnet by ID. - auto test_delete_by_id = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet6Ptr& subnet) { + auto test_delete_by_id = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const Subnet6Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->getID())); EXPECT_EQ(1, deleted_count); EXPECT_FALSE(cbptr_->getSubnet6(server_selector, subnet->getID())); @@ -1766,14 +1621,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSubnet6) { create_test_subnets(); // Test successful deletion of a subnet by prefix. - auto test_delete_by_prefix = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const Subnet6Ptr& subnet) { + auto test_delete_by_prefix = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const Subnet6Ptr& subnet) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->toText()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet6(server_selector, subnet->toText())); EXPECT_EQ(1, deleted_count); EXPECT_FALSE(cbptr_->getSubnet6(server_selector, subnet->toText())); @@ -1793,8 +1646,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSubnet6ByIdSelectors) { EXPECT_NO_THROW(cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), SubnetID(1))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - SubnetID(1)), + EXPECT_THROW(cbptr_->deleteSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), + SubnetID(1)), isc::InvalidOperation); // Not implemented selectors. @@ -1811,8 +1664,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSubnet6ByPrefixSelectors) { EXPECT_NO_THROW(cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), "192.0.2.0/26")); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSubnet6(ServerSelector::MULTIPLE({ "server1", "server2" }), - "192.0.2.0/26"), + EXPECT_THROW(cbptr_->deleteSubnet6(ServerSelector::MULTIPLE({"server1", "server2"}), + "192.0.2.0/26"), isc::InvalidOperation); // Not implemented selectors. @@ -1829,9 +1682,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteAllSubnets6Selectors) { EXPECT_NO_THROW(cbptr_->deleteAllSubnets6(ServerSelector::ONE("server1"))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteAllSubnets6(ServerSelector::ANY()), - isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteAllSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" })), + EXPECT_THROW(cbptr_->deleteAllSubnets6(ServerSelector::ANY()), isc::InvalidOperation); + EXPECT_THROW(cbptr_->deleteAllSubnets6(ServerSelector::MULTIPLE({"server1", "server2"})), isc::InvalidOperation); } @@ -1843,12 +1695,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, unassignedSubnet6) { // Create the subnets and associate them with the server1. auto subnet = test_subnets_[0]; auto subnet2 = test_subnets_[2]; - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet2) - ); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet)); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ONE("server1"), subnet2)); // Delete the server. The subnets should be preserved but are considered orphaned, // i.e. do not belong to any server. @@ -1858,32 +1706,30 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, unassignedSubnet6) { // Trying to fetch the subnet by server tag should return no result. Subnet6Ptr returned_subnet; - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), - subnet->getID())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), subnet->getID())); EXPECT_FALSE(returned_subnet); // The same if we use other calls. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), - subnet->toText())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet6(ServerSelector::ONE("server1"), subnet->toText())); EXPECT_FALSE(returned_subnet); Subnet6Collection returned_subnets; EXPECT_NO_THROW(returned_subnets = cbptr_->getAllSubnets6(ServerSelector::ONE("server1"))); EXPECT_TRUE(returned_subnets.empty()); - EXPECT_NO_THROW( - returned_subnets = cbptr_->getModifiedSubnets6(ServerSelector::ONE("server1"), - timestamps_["two days ago"]) - ); + EXPECT_NO_THROW(returned_subnets = cbptr_->getModifiedSubnets6(ServerSelector::ONE("server1"), + timestamps_["two days ago"])); EXPECT_TRUE(returned_subnets.empty()); // We should get the subnet if we ask for unassigned. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::UNASSIGNED(), - subnet->getID())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet6(ServerSelector::UNASSIGNED(), subnet->getID())); ASSERT_TRUE(returned_subnet); - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::UNASSIGNED(), - subnet->toText())); + EXPECT_NO_THROW( + returned_subnet = cbptr_->getSubnet6(ServerSelector::UNASSIGNED(), subnet->toText())); ASSERT_TRUE(returned_subnet); // Also if we ask for all unassigned subnets it should be returned. @@ -1891,45 +1737,33 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, unassignedSubnet6) { ASSERT_EQ(2, returned_subnets.size()); // Same for modified subnets. - EXPECT_NO_THROW( - returned_subnets = cbptr_->getModifiedSubnets6(ServerSelector::UNASSIGNED(), - timestamps_["two days ago"]) - ); + EXPECT_NO_THROW(returned_subnets = cbptr_->getModifiedSubnets6(ServerSelector::UNASSIGNED(), + timestamps_["two days ago"])); ASSERT_EQ(2, returned_subnets.size()); // If we ask for any subnet by subnet id, it should be returned too. - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ANY(), - subnet->getID())); + EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ANY(), subnet->getID())); ASSERT_TRUE(returned_subnet); - EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ANY(), - subnet->toText())); + EXPECT_NO_THROW(returned_subnet = cbptr_->getSubnet6(ServerSelector::ANY(), subnet->toText())); ASSERT_TRUE(returned_subnet); // Deleting the subnet with the mismatched server tag should not affect our // subnet. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), - subnet->getID()) - ); + deleted_count = cbptr_->deleteSubnet6(ServerSelector::ONE("server1"), subnet->getID())); EXPECT_EQ(0, deleted_count); // Also, if we delete all subnets for server1. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSubnets6(ServerSelector::ONE("server1")) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteAllSubnets6(ServerSelector::ONE("server1"))); EXPECT_EQ(0, deleted_count); // We can delete this subnet when we specify ANY and the matching id. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSubnet6(ServerSelector::ANY(), subnet->getID()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSubnet6(ServerSelector::ANY(), subnet->getID())); EXPECT_EQ(1, deleted_count); // We can delete all subnets using UNASSIGNED selector. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSubnets6(ServerSelector::UNASSIGNED()); - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteAllSubnets6(ServerSelector::UNASSIGNED());); EXPECT_EQ(1, deleted_count); } @@ -1945,15 +1779,13 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSubnets6) { // Insert subnets into the database. for (int i = 1; i < test_subnets_.size(); ++i) { - cbptr_->createUpdateSubnet6(ServerSelector::ALL(), - test_subnets_[i]); + cbptr_->createUpdateSubnet6(ServerSelector::ALL(), test_subnets_[i]); } // Fetch subnets with timestamp later than today. Only one subnet // should be returned. - Subnet6Collection - subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), - timestamps_["after today"]); + Subnet6Collection subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, subnets.size()); // All subnets should also be returned for explicitly specified server tag. @@ -1963,14 +1795,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSubnets6) { // Fetch subnets with timestamp later than yesterday. We should get // two subnets. - subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), - timestamps_["after yesterday"]); + subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), timestamps_["after yesterday"]); ASSERT_EQ(2, subnets.size()); // Fetch subnets with timestamp later than tomorrow. Nothing should // be returned. - subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), - timestamps_["after tomorrow"]); + subnets = cbptr_->getModifiedSubnets6(ServerSelector::ALL(), timestamps_["after tomorrow"]); ASSERT_TRUE(subnets.empty()); } @@ -1978,18 +1808,16 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSubnets6) { // server selectors. TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSubnets6Selectors) { // Supported selectors. - EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::UNASSIGNED(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::ALL(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::ONE("server1"), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_NO_THROW( + cbptr_->getModifiedSubnets6(ServerSelector::UNASSIGNED(), timestamps_["yesterday"])); + EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::ALL(), timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSubnets6(ServerSelector::ONE("server1"), timestamps_["yesterday"])); + EXPECT_NO_THROW(cbptr_->getModifiedSubnets6(ServerSelector::MULTIPLE({"server1", "server2"}), timestamps_["yesterday"])); // Not supported selectors. - EXPECT_THROW(cbptr_->getModifiedSubnets6(ServerSelector::ANY(), - timestamps_["yesterday"]), + EXPECT_THROW(cbptr_->getModifiedSubnets6(ServerSelector::ANY(), timestamps_["yesterday"]), isc::InvalidOperation); } @@ -1997,22 +1825,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSubnets6Selectors) { TEST_F(PgSqlConfigBackendDHCPv6Test, subnetLifetime) { // Insert new subnet with unspecified valid lifetime Triplet unspecified; - Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8::"), 64, 30, 40, - unspecified, unspecified, 1111)); + Subnet6Ptr subnet( + new Subnet6(IOAddress("2001:db8::"), 64, 30, 40, unspecified, unspecified, 1111)); subnet->setIface("eth1"); cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); // Verified returned and original subnets match. EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); // Update the preferred and valid lifetime. - subnet->setPreferred( Triplet(100, 200, 300)); - subnet->setValid( Triplet(200, 300, 400)); + subnet->setPreferred(Triplet(100, 200, 300)); + subnet->setValid(Triplet(200, 300, 400)); cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); // Fetch and verify again. @@ -2039,21 +1866,18 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetworkSubnets6) { } // Fetch all subnets belonging to shared network level1. - Subnet6Collection subnets = cbptr_->getSharedNetworkSubnets6(ServerSelector::ALL(), - "level1"); + Subnet6Collection subnets = cbptr_->getSharedNetworkSubnets6(ServerSelector::ALL(), "level1"); ASSERT_EQ(1, subnets.size()); // Returned subnet should match test subnet #1. - EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), - (*subnets.begin())->toElement())); + EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), (*subnets.begin())->toElement())); // All subnets should also be returned for ANY server. subnets = cbptr_->getSharedNetworkSubnets6(ServerSelector::ANY(), "level1"); ASSERT_EQ(1, subnets.size()); // Returned subnet should match test subnet #1. - EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), - (*subnets.begin())->toElement())); + EXPECT_TRUE(isEquivalent(test_subnets_[1]->toElement(), (*subnets.begin())->toElement())); // Fetch all subnets belonging to shared network level2. subnets = cbptr_->getSharedNetworkSubnets6(ServerSelector::ALL(), "level2"); @@ -2085,20 +1909,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetworkSubnets6) { // Test that pools are properly updated as a result a subnet update. TEST_F(PgSqlConfigBackendDHCPv6Test, subnetUpdatePools) { - auto test_subnet_update = [this](const std::string& subnet_prefix, - const SubnetID& subnet_id) { + auto test_subnet_update = [this](const std::string& subnet_prefix, const SubnetID& subnet_id) { // Add the subnet with two address pools and two prefix delegation // pools. - EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), - test_subnets_[0])); + EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), test_subnets_[0])); // Make sure that the pools have been added to the database. EXPECT_EQ(2, countRows("dhcp6_pool")); EXPECT_EQ(2, countRows("dhcp6_pd_pool")); // Create the subnet without options which updates the existing // subnet. - Subnet6Ptr subnet(new Subnet6(IOAddress(subnet_prefix), 64, 30, 60, 50, 60, - subnet_id)); + Subnet6Ptr subnet(new Subnet6(IOAddress(subnet_prefix), 64, 30, 60, 50, 60, subnet_id)); EXPECT_NO_THROW(cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet)); // Check that options are gone. EXPECT_EQ(0, countRows("dhcp6_pool")); @@ -2178,33 +1999,31 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetwork6) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } auto shared_network = test_networks_[0]; auto shared_network2 = test_networks_[2]; // Insert two shared networks, one for all servers, and one for server2. - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server2"), - shared_network2)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server2"), shared_network2)); // We are not going to support selection of a single entry for multiple servers. - EXPECT_THROW(cbptr_->getSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), test_networks_[0]->getName()), isc::InvalidOperation); // Test that this shared network will be fetched for various server selectors. - auto test_get_network = [this, &shared_network] (const std::string& test_case_name, - const ServerSelector& server_selector, - const std::string& expected_tag = ServerTag::ALL) { + auto test_get_network = [this, + &shared_network](const std::string& test_case_name, + const ServerSelector& server_selector, + const std::string& expected_tag = ServerTag::ALL) { SCOPED_TRACE(test_case_name); SharedNetwork6Ptr network; - ASSERT_NO_THROW(network = cbptr_->getSharedNetwork6(server_selector, - shared_network->getName())); + ASSERT_NO_THROW( + network = cbptr_->getSharedNetwork6(server_selector, shared_network->getName())); ASSERT_TRUE(network); EXPECT_GT(network->getId(), 0); @@ -2225,15 +2044,13 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetwork6) { { SCOPED_TRACE("CREATE audit entry for a shared network"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } // Update shared network in the database. shared_network = test_networks_[1]; - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network)); { SCOPED_TRACE("testing various server selectors after update"); @@ -2244,17 +2061,15 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetwork6) { { SCOPED_TRACE("UPDATE audit entry for a shared network"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } // The server2 specific shared network should not be returned if the // server selector is not matching. - EXPECT_FALSE(cbptr_->getSharedNetwork6(ServerSelector::ALL(), - shared_network2->getName())); - EXPECT_FALSE(cbptr_->getSharedNetwork6(ServerSelector::ONE("server1"), - shared_network2->getName())); + EXPECT_FALSE(cbptr_->getSharedNetwork6(ServerSelector::ALL(), shared_network2->getName())); + EXPECT_FALSE( + cbptr_->getSharedNetwork6(ServerSelector::ONE("server1"), shared_network2->getName())); { SCOPED_TRACE("testing selectors for server2 specific shared network"); @@ -2274,7 +2089,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetwork6Selectors) { EXPECT_NO_THROW(cbptr_->getSharedNetwork6(ServerSelector::ONE("server1"), "level1")); // Not supported selectors. - EXPECT_THROW(cbptr_->getSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->getSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), "level1"), isc::InvalidOperation); } @@ -2285,49 +2100,42 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateSharedNetwork6) { auto shared_network = test_networks_[0]; // An attempt to insert the shared network for non-existing server should fail. - EXPECT_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), - shared_network), + EXPECT_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network), NullKeyError); // Insert the server1 into the database. EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } // Insert the server2 into the database. EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network)); { SCOPED_TRACE("CREATE audit entry for shared network and ALL servers"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network)); { SCOPED_TRACE("UPDATE audit entry for shared network and MULTIPLE servers"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } SharedNetwork6Ptr network; - ASSERT_NO_THROW(network = cbptr_->getSharedNetwork6(ServerSelector::ANY(), - shared_network->getName())); + ASSERT_NO_THROW( + network = cbptr_->getSharedNetwork6(ServerSelector::ANY(), shared_network->getName())); ASSERT_TRUE(network); EXPECT_TRUE(network->hasServerTag(ServerTag("server1"))); EXPECT_TRUE(network->hasServerTag(ServerTag("server2"))); @@ -2342,22 +2150,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateSharedNetwork6Selectors) { // Supported selectors. SharedNetwork6Ptr shared_network(new SharedNetwork6("all")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network)); shared_network.reset(new SharedNetwork6("one")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network)); shared_network.reset(new SharedNetwork6("multiple")); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network)); // Not supported server selectors. EXPECT_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ANY(), shared_network), isc::InvalidOperation); // Not implemented server selectors. - EXPECT_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::UNASSIGNED(), - shared_network), + EXPECT_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::UNASSIGNED(), shared_network), isc::NotImplemented); } @@ -2369,9 +2176,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getSharedNetwork6WithOptionalUnspecified) { cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network); // Fetch this shared network by name. - SharedNetwork6Ptr - returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), - test_networks_[2]->getName()); + SharedNetwork6Ptr returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), + test_networks_[2]->getName()); ASSERT_TRUE(returned_network); EXPECT_TRUE(returned_network->getIface().unspecified()); @@ -2444,7 +2250,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetworkSubnets6) { EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ONE("server1"), test_networks_[1]->getName()), isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::MULTIPLE({"server1", "server" + "2"}), test_networks_[1]->getName()), isc::InvalidOperation); } @@ -2459,24 +2266,19 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6) { // That shared network overrides the first one so the audit entry should // indicate an update. if ((network->getName() == "level1") && (!audit_entries_["all"].empty())) { - SCOPED_TRACE("UPDATE audit entry for the shared network " + - network->getName()); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + SCOPED_TRACE("UPDATE audit entry for the shared network " + network->getName()); + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network set"); } else { - SCOPED_TRACE("CREATE audit entry for the shared network " + - network->getName()); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::CREATE, + SCOPED_TRACE("CREATE audit entry for the shared network " + network->getName()); + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } } // Fetch all shared networks. - SharedNetwork6Collection networks = - cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); + SharedNetwork6Collection networks = cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); ASSERT_EQ(test_networks_.size() - 1, networks.size()); // All shared networks should also be returned for explicitly specified @@ -2486,8 +2288,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6) { // See if shared networks are returned ok. for (auto i = 0; i < networks.size(); ++i) { - EXPECT_EQ(test_networks_[i + 1]->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(test_networks_[i + 1]->toElement()->str(), networks[i]->toElement()->str()); ASSERT_EQ(1, networks[i]->getServerTags().size()); EXPECT_EQ("all", networks[i]->getServerTags().begin()->get()); } @@ -2501,21 +2302,18 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6) { cbptr_->createUpdateSubnet6(ServerSelector::ALL(), test_subnets_[3]); // Both ways to attach a subnet are equivalent. - Subnet6Ptr subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - test_subnets_[0]->getID()); + Subnet6Ptr subnet = cbptr_->getSubnet6(ServerSelector::ALL(), test_subnets_[0]->getID()); ASSERT_TRUE(subnet); EXPECT_EQ("level1", subnet->getSharedNetworkName()); { SCOPED_TRACE("CREATE audit entry for subnets"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set", ServerSelector::ALL(), 3); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set", + ServerSelector::ALL(), 3); } // Deleting non-existing shared network should return 0. - EXPECT_EQ(0, cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), - "big-fish")); + EXPECT_EQ(0, cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), "big-fish")); // All shared networks should be still there. ASSERT_EQ(test_networks_.size() - 1, networks.size()); @@ -2534,26 +2332,22 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6) { { SCOPED_TRACE("DELETE audit entry for subnets of the first shared network"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::DELETE, "deleted all subnets for a shared network"); } // Check that the subnet is gone.. - subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - test_subnets_[0]->getID()); + subnet = cbptr_->getSubnet6(ServerSelector::ALL(), test_subnets_[0]->getID()); EXPECT_FALSE(subnet); // And after the shared network itself. - EXPECT_EQ(1, cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), - test_networks_[1]->getName())); + EXPECT_EQ(1, cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), test_networks_[1]->getName())); networks = cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); ASSERT_EQ(test_networks_.size() - 2, networks.size()); { SCOPED_TRACE("DELETE audit entry for the first shared network"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::DELETE, "shared network deleted"); } @@ -2565,19 +2359,15 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6) { { SCOPED_TRACE("DELETE audit entry for the remaining two shared networks"); // The last parameter indicates that we expect two new audit entries. - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::DELETE, - "deleted all shared networks", - ServerSelector::ALL(), 2); + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::DELETE, + "deleted all shared networks", ServerSelector::ALL(), 2); } // Check that subnets are still there but detached. - subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - test_subnets_[2]->getID()); + subnet = cbptr_->getSubnet6(ServerSelector::ALL(), test_subnets_[2]->getID()); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->getSharedNetworkName().empty()); - subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - test_subnets_[3]->getID()); + subnet = cbptr_->getSubnet6(ServerSelector::ALL(), test_subnets_[3]->getID()); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->getSharedNetworkName().empty()); } @@ -2589,11 +2379,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6Selectors) { EXPECT_NO_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::UNASSIGNED())); EXPECT_NO_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::ALL())); EXPECT_NO_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::ONE("server1"))); - EXPECT_NO_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::MULTIPLE({ "server1", "server2" }))); + EXPECT_NO_THROW( + cbptr_->getAllSharedNetworks6(ServerSelector::MULTIPLE({"server1", "server2"}))); // Not supported selectors. - EXPECT_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::ANY()), - isc::InvalidOperation); + EXPECT_THROW(cbptr_->getAllSharedNetworks6(ServerSelector::ANY()), isc::InvalidOperation); } // Test that shared networks with different server associations are returned. @@ -2605,12 +2395,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllSharedNetworks6WithServerTags) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[0])); EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network1)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), - shared_network2)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network3)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network1)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network2)); + EXPECT_NO_THROW( + cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network3)); SharedNetwork6Collection networks; @@ -2681,21 +2471,19 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSharedNetworks6) { // Insert shared networks into the database. for (int i = 1; i < test_networks_.size(); ++i) { - cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - test_networks_[i]); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), test_networks_[i]); } // Fetch shared networks with timestamp later than today. Only one // shared network should be returned. - SharedNetwork6Collection - networks = cbptr_->getModifiedSharedNetworks6(ServerSelector::ALL(), - timestamps_["after today"]); + SharedNetwork6Collection networks = + cbptr_->getModifiedSharedNetworks6(ServerSelector::ALL(), timestamps_["after today"]); ASSERT_EQ(1, networks.size()); // Fetch shared networks with timestamp later than yesterday. We // should get two shared networks. networks = cbptr_->getModifiedSharedNetworks6(ServerSelector::ALL(), - timestamps_["after yesterday"]); + timestamps_["after yesterday"]); ASSERT_EQ(2, networks.size()); // Fetch shared networks with timestamp later than tomorrow. Nothing @@ -2709,14 +2497,15 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSharedNetworks6) { // server selectors. TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedSharedNetworks6Selectors) { // Supported selectors. - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks6(ServerSelector::UNASSIGNED(), - timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks6(ServerSelector::ALL(), - timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks6(ServerSelector::UNASSIGNED(), timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks6(ServerSelector::ALL(), timestamps_["yesterday"])); EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks6(ServerSelector::ONE("server1"), timestamps_["yesterday"])); - EXPECT_NO_THROW(cbptr_->getModifiedSharedNetworks6(ServerSelector::MULTIPLE({ "server1", "server2" }), - timestamps_["yesterday"])); + EXPECT_NO_THROW( + cbptr_->getModifiedSharedNetworks6(ServerSelector::MULTIPLE({"server1", "server2"}), + timestamps_["yesterday"])); // Not supported selectors. EXPECT_THROW(cbptr_->getModifiedSharedNetworks6(ServerSelector::ANY(), @@ -2730,17 +2519,13 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetwork6) { EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[0])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("CREATE audit entry for server"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } auto shared_network1 = test_networks_[0]; @@ -2748,26 +2533,20 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetwork6) { auto shared_network3 = test_networks_[3]; // Insert two shared networks, one for all servers, and one for server2. + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network1)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network1) - ); - EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server2"), shared_network2) - ); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server2"), shared_network2)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), - shared_network3) - ); + cbptr_->createUpdateSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), + shared_network3)); - auto test_no_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const SharedNetwork6Ptr& shared_network) { + auto test_no_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const SharedNetwork6Ptr& shared_network) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork6(server_selector, - shared_network->getName()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork6(server_selector, + shared_network->getName())); EXPECT_EQ(0, deleted_count); }; @@ -2775,14 +2554,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetwork6) { SCOPED_TRACE("Test valid but non matching server selectors"); test_no_delete("selector: one, actual: all", ServerSelector::ONE("server2"), shared_network1); - test_no_delete("selector: all, actual: one", ServerSelector::ALL(), - shared_network2); - test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), - shared_network3); + test_no_delete("selector: all, actual: one", ServerSelector::ALL(), shared_network2); + test_no_delete("selector: all, actual: multiple", ServerSelector::ALL(), shared_network3); } // We are not going to support deletion of a single entry for multiple servers. - EXPECT_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), + EXPECT_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), shared_network3->getName()), isc::InvalidOperation); @@ -2793,19 +2570,16 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetwork6) { isc::NotImplemented); // Test successful deletion of a shared network. - auto test_delete = [this] (const std::string& test_case_name, - const ServerSelector& server_selector, - const SharedNetwork6Ptr& shared_network) { + auto test_delete = [this](const std::string& test_case_name, + const ServerSelector& server_selector, + const SharedNetwork6Ptr& shared_network) { SCOPED_TRACE(test_case_name); uint64_t deleted_count = 0; - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork6(server_selector, - shared_network->getName()) - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork6(server_selector, + shared_network->getName())); EXPECT_EQ(1, deleted_count); - EXPECT_FALSE(cbptr_->getSharedNetwork6(server_selector, - shared_network->getName())); + EXPECT_FALSE(cbptr_->getSharedNetwork6(server_selector, shared_network->getName())); }; test_delete("all servers", ServerSelector::ALL(), shared_network1); @@ -2822,8 +2596,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteSharedNetwork6Selectors) { EXPECT_NO_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::ONE("server1"), "level1")); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::MULTIPLE({ "server1", "server2" }), - "level1"), + EXPECT_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::MULTIPLE({"server1", "server2"}), + "level1"), isc::InvalidOperation); // Not implemented selectors. @@ -2840,9 +2614,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, deleteAllSharedNetworks6Selectors) { EXPECT_NO_THROW(cbptr_->deleteAllSharedNetworks6(ServerSelector::ONE("server1"))); // Not supported selectors. - EXPECT_THROW(cbptr_->deleteAllSharedNetworks6(ServerSelector::ANY()), - isc::InvalidOperation); - EXPECT_THROW(cbptr_->deleteAllSharedNetworks6(ServerSelector::MULTIPLE({ "server1", "server2" })), + EXPECT_THROW(cbptr_->deleteAllSharedNetworks6(ServerSelector::ANY()), isc::InvalidOperation); + EXPECT_THROW(cbptr_->deleteAllSharedNetworks6(ServerSelector::MULTIPLE({"server1", "server2"})), isc::InvalidOperation); } @@ -2855,11 +2628,9 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, unassignedSharedNetwork) { auto shared_network = test_networks_[0]; auto shared_network2 = test_networks_[2]; EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network) - ); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network)); EXPECT_NO_THROW( - cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network2) - ); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ONE("server1"), shared_network2)); // Delete the server. The shared networks should be preserved but are // considered orphaned, i.e. do not belong to any server. @@ -2869,68 +2640,59 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, unassignedSharedNetwork) { // Trying to fetch this shared network by server tag should return no result. SharedNetwork6Ptr returned_network; - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork6(ServerSelector::ONE("server1"), - "level1")); + EXPECT_NO_THROW( + returned_network = cbptr_->getSharedNetwork6(ServerSelector::ONE("server1"), "level1")); EXPECT_FALSE(returned_network); // The same if we use other calls. SharedNetwork6Collection returned_networks; EXPECT_NO_THROW( - returned_networks = cbptr_->getAllSharedNetworks6(ServerSelector::ONE("server1")) - ); + returned_networks = cbptr_->getAllSharedNetworks6(ServerSelector::ONE("server1"))); EXPECT_TRUE(returned_networks.empty()); EXPECT_NO_THROW( returned_networks = cbptr_->getModifiedSharedNetworks6(ServerSelector::ONE("server1"), - timestamps_["two days ago"]) - ); + timestamps_["two days ago"])); EXPECT_TRUE(returned_networks.empty()); // We should get the shared network if we ask for unassigned. - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork6(ServerSelector::UNASSIGNED(), - "level1")); + EXPECT_NO_THROW( + returned_network = cbptr_->getSharedNetwork6(ServerSelector::UNASSIGNED(), "level1")); ASSERT_TRUE(returned_network); // Also if we ask for all unassigned networks it should be returned. - EXPECT_NO_THROW(returned_networks = cbptr_->getAllSharedNetworks6(ServerSelector::UNASSIGNED())); + EXPECT_NO_THROW( + returned_networks = cbptr_->getAllSharedNetworks6(ServerSelector::UNASSIGNED())); ASSERT_EQ(2, returned_networks.size()); // And all modified. EXPECT_NO_THROW( returned_networks = cbptr_->getModifiedSharedNetworks6(ServerSelector::UNASSIGNED(), - timestamps_["two days ago"]) - ); + timestamps_["two days ago"])); ASSERT_EQ(2, returned_networks.size()); // If we ask for any network by name, it should be returned too. - EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork6(ServerSelector::ANY(), - "level1")); + EXPECT_NO_THROW(returned_network = cbptr_->getSharedNetwork6(ServerSelector::ANY(), "level1")); ASSERT_TRUE(returned_network); // Deleting a shared network with the mismatched server tag should not affect // our shared network. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork6(ServerSelector::ONE("server1"), - "level1") - ); + deleted_count = cbptr_->deleteSharedNetwork6(ServerSelector::ONE("server1"), "level1")); EXPECT_EQ(0, deleted_count); // Also, if we delete all shared networks for server1. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSharedNetworks6(ServerSelector::ONE("server1")) - ); + deleted_count = cbptr_->deleteAllSharedNetworks6(ServerSelector::ONE("server1"))); EXPECT_EQ(0, deleted_count); // We can delete this shared network when we specify ANY and the matching name. - EXPECT_NO_THROW( - deleted_count = cbptr_->deleteSharedNetwork6(ServerSelector::ANY(), "level1") - ); + EXPECT_NO_THROW(deleted_count = cbptr_->deleteSharedNetwork6(ServerSelector::ANY(), "level1")); EXPECT_EQ(1, deleted_count); // We can delete all second networks using UNASSIGNED selector. EXPECT_NO_THROW( - deleted_count = cbptr_->deleteAllSharedNetworks6(ServerSelector::UNASSIGNED()); - ); + deleted_count = cbptr_->deleteAllSharedNetworks6(ServerSelector::UNASSIGNED());); EXPECT_EQ(1, deleted_count); } @@ -2945,24 +2707,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkLifetime) { cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), network); // Fetch this shared network. - SharedNetwork6Ptr returned_network = - cbptr_->getSharedNetwork6(ServerSelector::ALL(), "foo"); + SharedNetwork6Ptr returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), "foo"); ASSERT_TRUE(returned_network); // Verified returned and original shared networks match. - EXPECT_EQ(network->toElement()->str(), - returned_network->toElement()->str()); + EXPECT_EQ(network->toElement()->str(), returned_network->toElement()->str()); // Update the preferred and valid lifetime. - network->setPreferred( Triplet(100, 200, 300)); - network->setValid( Triplet(200, 300, 400)); + network->setPreferred(Triplet(100, 200, 300)); + network->setValid(Triplet(200, 300, 400)); cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), network); // Fetch and verify again. returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), "foo"); ASSERT_TRUE(returned_network); - EXPECT_EQ(network->toElement()->str(), - returned_network->toElement()->str()); + EXPECT_EQ(network->toElement()->str(), returned_network->toElement()->str()); } // Test that deleting a shared network triggers deletion of the options @@ -2984,8 +2743,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkOptions) { // Remove the shared network. This should not affect options assigned to the // other shared network. - EXPECT_NO_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), - test_networks_[1]->getName())); + EXPECT_NO_THROW( + cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), test_networks_[1]->getName())); EXPECT_EQ(1, countRows("dhcp6_shared_network")); EXPECT_EQ(1, countRows("dhcp6_options")); @@ -2996,8 +2755,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkOptions) { // Delete this shared network. This should not affect the option associated // with the remaining shared network. - EXPECT_NO_THROW(cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), - test_networks_[0]->getName())); + EXPECT_NO_THROW( + cbptr_->deleteSharedNetwork6(ServerSelector::ALL(), test_networks_[0]->getName())); EXPECT_EQ(1, countRows("dhcp6_shared_network")); EXPECT_EQ(1, countRows("dhcp6_options")); } @@ -3011,8 +2770,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getOptionDef6) { // Fetch this option_definition by subnet identifier. OptionDefinitionPtr returned_option_def = - cbptr_->getOptionDef6(ServerSelector::ALL(), - test_option_defs_[0]->getCode(), + cbptr_->getOptionDef6(ServerSelector::ALL(), test_option_defs_[0]->getCode(), test_option_defs_[0]->getOptionSpaceName()); ASSERT_TRUE(returned_option_def); EXPECT_GT(returned_option_def->getId(), 0); @@ -3023,8 +2781,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getOptionDef6) { { SCOPED_TRACE("CREATE audit entry for an option definition"); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::CREATE, "option definition set"); } @@ -3047,8 +2804,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getOptionDef6) { { SCOPED_TRACE("UPDATE audit entry for an option definition"); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::UPDATE, "option definition set"); } } @@ -3064,99 +2820,76 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { // An attempt to create option definition for non-existing server should // fail. - EXPECT_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server1"), - option1), + EXPECT_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server1"), option1), NullKeyError); // Create two servers. EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } // This time creation of the option definition for the server1 should pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server1"), - option1)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server1"), option1)); { SCOPED_TRACE("option definition for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the option definition. - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ONE("server1"), - 3, 1); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ONE("server1"), 3, 1); } // Creation of the option definition for the server2 should also pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server2"), - option2)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server2"), option2)); { SCOPED_TRACE("option definition for server2 is set"); // Same as in case of the server1, there should be 3 audit entries and // we validate one of them. - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ONE("server2"), - 3, 1); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ONE("server2"), 3, 1); } // Finally, creation of the option definition for all servers should // also pass. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ALL(), - option3)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ALL(), option3)); { SCOPED_TRACE("option definition for server2 is set"); // There should be one new audit entry for all servers. It logs // the insertion of the option definition. - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::CREATE, - "option definition set", - ServerSelector::ALL(), - 1, 1); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::CREATE, + "option definition set", ServerSelector::ALL(), 1, 1); } OptionDefinitionPtr returned_option_def; // Try to fetch the option definition specified for all servers. It should // return the third one. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef6(ServerSelector::ALL(), - option3->getCode(), - option3->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef6(ServerSelector::ALL(), + option3->getCode(), + option3->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option3)); // Try to fetch the option definition specified for server1. It should // override the definition for all servers. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef6(ServerSelector::ONE("server1"), - option1->getCode(), - option1->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef6(ServerSelector::ONE("server1"), + option1->getCode(), + option1->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option1)); // The same in case of the server2. - EXPECT_NO_THROW( - returned_option_def = cbptr_->getOptionDef6(ServerSelector::ONE("server2"), - option2->getCode(), - option2->getOptionSpaceName()) - ); + EXPECT_NO_THROW(returned_option_def = cbptr_->getOptionDef6(ServerSelector::ONE("server2"), + option2->getCode(), + option2->getOptionSpaceName())); ASSERT_TRUE(returned_option_def); EXPECT_TRUE(returned_option_def->equals(*option2)); @@ -3165,11 +2898,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { // Try to fetch the collection of the option definitions for server1, server2 // and server3. The server3 does not have an explicit option definition, so // for this server we should get the definition associated with "all" servers. - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs6(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs6( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_option_defs.size()); // Check that expected option definitions have been returned. @@ -3181,8 +2911,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { // Try to fetch the collection of options specified for all servers. // This excludes the options specific to server1 and server2. It returns // only the common ones. - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs6(ServerSelector::ALL()); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs6(ServerSelector::ALL()); ); ASSERT_EQ(1, returned_option_defs.size()); @@ -3200,10 +2929,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the option definition after server deletion"); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete option definition for server1. @@ -3221,14 +2948,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { // Create this option definition again to test that deletion of all servers // removes it too. - EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server2"), - option2)); + EXPECT_NO_THROW(cbptr_->createUpdateOptionDef6(ServerSelector::ONE("server2"), option2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers6()); - EXPECT_NO_THROW( - returned_option_defs = cbptr_->getAllOptionDefs6(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_option_defs = cbptr_->getAllOptionDefs6(ServerSelector::ALL());); EXPECT_EQ(1, deleted_num); EXPECT_EQ(1, returned_option_defs.size()); EXPECT_TRUE((*returned_option_defs.begin())->equals(*option3)); @@ -3236,10 +2960,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, optionDefs6WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the option definition after deletion of" " all servers"); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } @@ -3255,18 +2977,14 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllOptionDefs6) { // That option definition overrides the first one so the audit entry should // indicate an update. if (option_def->getName() == "bar") { - SCOPED_TRACE("UPDATE audit entry for the option definition " + - option_def->getName()); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::UPDATE, + SCOPED_TRACE("UPDATE audit entry for the option definition " + option_def->getName()); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::UPDATE, "option definition set"); ++updates_num; } else { - SCOPED_TRACE("CREATE audit entry for the option definition " + - option_def->getName()); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::CREATE, + SCOPED_TRACE("CREATE audit entry for the option definition " + option_def->getName()); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::CREATE, "option definition set"); } } @@ -3291,12 +3009,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllOptionDefs6) { } } ASSERT_TRUE(success) << "failed for option definition " << (*def)->getCode() - << ", option space " << (*def)->getOptionSpaceName(); + << ", option space " << (*def)->getOptionSpaceName(); } // Deleting non-existing option definition should return 0. - EXPECT_EQ(0, cbptr_->deleteOptionDef6(ServerSelector::ALL(), - 99, "non-exiting-space")); + EXPECT_EQ(0, cbptr_->deleteOptionDef6(ServerSelector::ALL(), 99, "non-exiting-space")); // All option definitions should be still there. ASSERT_EQ(test_option_defs_.size() - updates_num, option_defs.size()); @@ -3310,17 +3027,14 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllOptionDefs6) { EXPECT_EQ(0, cbptr_->deleteAllOptionDefs6(ServerSelector::ONE("server1"))); // Delete one of the option definitions and see if it is gone. - EXPECT_EQ(1, cbptr_->deleteOptionDef6(ServerSelector::ALL(), - test_option_defs_[2]->getCode(), + EXPECT_EQ(1, cbptr_->deleteOptionDef6(ServerSelector::ALL(), test_option_defs_[2]->getCode(), test_option_defs_[2]->getOptionSpaceName())); - ASSERT_FALSE(cbptr_->getOptionDef6(ServerSelector::ALL(), - test_option_defs_[2]->getCode(), + ASSERT_FALSE(cbptr_->getOptionDef6(ServerSelector::ALL(), test_option_defs_[2]->getCode(), test_option_defs_[2]->getOptionSpaceName())); { SCOPED_TRACE("DELETE audit entry for the first option definition"); - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::DELETE, "option definition deleted"); } @@ -3332,10 +3046,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getAllOptionDefs6) { { SCOPED_TRACE("DELETE audit entries for the remaining option definitions"); // The last parameter indicates that we expect two new audit entries. - testNewAuditEntry("dhcp6_option_def", - AuditEntry::ModificationType::DELETE, - "deleted all option definitions", - ServerSelector::ALL(), 2); + testNewAuditEntry("dhcp6_option_def", AuditEntry::ModificationType::DELETE, + "deleted all option definitions", ServerSelector::ALL(), 2); } } @@ -3352,15 +3064,13 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedOptionDefs6) { // Insert option definitions into the database. for (int i = 1; i < test_networks_.size(); ++i) { - cbptr_->createUpdateOptionDef6(ServerSelector::ALL(), - test_option_defs_[i]); + cbptr_->createUpdateOptionDef6(ServerSelector::ALL(), test_option_defs_[i]); } // Fetch option definitions with timestamp later than today. Only one // option definition should be returned. - OptionDefContainer - option_defs = cbptr_->getModifiedOptionDefs6(ServerSelector::ALL(), - timestamps_["after today"]); + OptionDefContainer option_defs = cbptr_->getModifiedOptionDefs6(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, option_defs.size()); // Fetch option definitions with timestamp later than yesterday. We @@ -3372,7 +3082,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedOptionDefs6) { // Fetch option definitions with timestamp later than tomorrow. Nothing // should be returned. option_defs = cbptr_->getModifiedOptionDefs6(ServerSelector::ALL(), - timestamps_["after tomorrow"]); + timestamps_["after tomorrow"]); ASSERT_TRUE(option_defs.empty()); } @@ -3380,34 +3090,29 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedOptionDefs6) { TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteOption6) { // Add option to the database. OptionDescriptorPtr opt_posix_timezone = test_options_[0]; - cbptr_->createUpdateOption6(ServerSelector::ALL(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ALL(), opt_posix_timezone); // Make sure we can retrieve this option and that it is equal to the // option we have inserted into the database. OptionDescriptorPtr returned_opt_posix_timezone = - cbptr_->getOption6(ServerSelector::ALL(), - opt_posix_timezone->option_->getType(), + cbptr_->getOption6(ServerSelector::ALL(), opt_posix_timezone->option_->getType(), opt_posix_timezone->space_name_); ASSERT_TRUE(returned_opt_posix_timezone); { SCOPED_TRACE("verify created option"); - testOptionsEquivalent(*opt_posix_timezone, - *returned_opt_posix_timezone); + testOptionsEquivalent(*opt_posix_timezone, *returned_opt_posix_timezone); } { SCOPED_TRACE("CREATE audit entry for an option"); - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::CREATE, "global option set"); } // Modify option and update it in the database. opt_posix_timezone->persistent_ = !opt_posix_timezone->persistent_; - cbptr_->createUpdateOption6(ServerSelector::ALL(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ALL(), opt_posix_timezone); // Retrieve the option again and make sure that updates were // properly propagated to the database. Use explicit server selector @@ -3419,14 +3124,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteOption6) { { SCOPED_TRACE("verify updated option"); - testOptionsEquivalent(*opt_posix_timezone, - *returned_opt_posix_timezone); + testOptionsEquivalent(*opt_posix_timezone, *returned_opt_posix_timezone); } { SCOPED_TRACE("UPDATE audit entry for an option"); - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::UPDATE, "global option set"); } @@ -3436,18 +3139,16 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteOption6) { opt_posix_timezone->space_name_)); // Deleting option for all servers should succeed. - EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ALL(), - opt_posix_timezone->option_->getType(), - opt_posix_timezone->space_name_)); + EXPECT_EQ(1, + cbptr_->deleteOption6(ServerSelector::ALL(), opt_posix_timezone->option_->getType(), + opt_posix_timezone->space_name_)); - EXPECT_FALSE(cbptr_->getOption6(ServerSelector::ALL(), - opt_posix_timezone->option_->getType(), + EXPECT_FALSE(cbptr_->getOption6(ServerSelector::ALL(), opt_posix_timezone->option_->getType(), opt_posix_timezone->space_name_)); { SCOPED_TRACE("DELETE audit entry for an option"); - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::DELETE, + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::DELETE, "global option deleted"); } } @@ -3460,98 +3161,72 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalOptions6WithServerTags) { OptionDescriptorPtr opt_timezone2 = test_options_[6]; OptionDescriptorPtr opt_timezone3 = test_options_[7]; - EXPECT_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server1"), - opt_timezone1), + EXPECT_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server1"), opt_timezone1), NullKeyError); // Create two servers. EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[1])); { SCOPED_TRACE("server1 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } EXPECT_NO_THROW(cbptr_->createUpdateServer6(test_servers_[2])); { SCOPED_TRACE("server2 is created"); - testNewAuditEntry("dhcp6_server", - AuditEntry::ModificationType::CREATE, - "server set"); + testNewAuditEntry("dhcp6_server", AuditEntry::ModificationType::CREATE, "server set"); } - EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server1"), - opt_timezone1)); + EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server1"), opt_timezone1)); { SCOPED_TRACE("global option for server1 is set"); // The value of 3 means there should be 3 audit entries available for the // server1, two that indicate creation of the servers and one that we // validate, which sets the global option. - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ONE("server1"), - 3, 1); - + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ONE("server1"), 3, 1); } - EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server2"), - opt_timezone2)); + EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server2"), opt_timezone2)); { SCOPED_TRACE("global option for server2 is set"); // Same as in case of the server1, there should be 3 audit entries and // we validate one of them. - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ONE("server2"), - 3, 1); - + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ONE("server2"), 3, 1); } - EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ALL(), - opt_timezone3)); + EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ALL(), opt_timezone3)); { SCOPED_TRACE("global option for all servers is set"); // There should be one new audit entry for all servers. It logs // the insertion of the global option. - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::CREATE, - "global option set", - ServerSelector::ALL(), - 1, 1); - + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::CREATE, + "global option set", ServerSelector::ALL(), 1, 1); } OptionDescriptorPtr returned_option; // Try to fetch the option specified for all servers. It should return // the third option. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption6(ServerSelector::ALL(), - opt_timezone3->option_->getType(), - opt_timezone3->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption6(ServerSelector::ALL(), + opt_timezone3->option_->getType(), + opt_timezone3->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_timezone3, *returned_option); // Try to fetch the option specified for the server1. It should override the // option specified for all servers. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption6(ServerSelector::ONE("server1"), - opt_timezone1->option_->getType(), - opt_timezone1->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption6(ServerSelector::ONE("server1"), + opt_timezone1->option_->getType(), + opt_timezone1->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_timezone1, *returned_option); // The same in case of the server2. - EXPECT_NO_THROW( - returned_option = cbptr_->getOption6(ServerSelector::ONE("server2"), - opt_timezone2->option_->getType(), - opt_timezone2->space_name_); - ); + EXPECT_NO_THROW(returned_option = cbptr_->getOption6(ServerSelector::ONE("server2"), + opt_timezone2->option_->getType(), + opt_timezone2->space_name_);); ASSERT_TRUE(returned_option); testOptionsEquivalent(*opt_timezone2, *returned_option); @@ -3560,11 +3235,8 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalOptions6WithServerTags) { // Try to fetch the collection of global options for the server1, server2 // and server3. The server3 does not have an explicit value so for this server // we should get the option associated with "all" servers. - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions6(ServerSelector:: - MULTIPLE({ "server1", "server2", - "server3" })); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions6( + ServerSelector::MULTIPLE({"server1", "server2", "server3"}));); ASSERT_EQ(3, returned_options.size()); // Check that expected options have been returned. @@ -3576,27 +3248,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalOptions6WithServerTags) { // Try to fetch the collection of options specified for all servers. // This excludes the options specific to server1 and server2. It returns // only the common ones. - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions6(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions6(ServerSelector::ALL());); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_timezone3, *returned_options.begin()); // Delete the server1. It should remove associations of this server with the // option and the option itself. EXPECT_NO_THROW(cbptr_->deleteServer6(ServerTag("server1"))); - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions6(ServerSelector::ONE("server1")); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions6(ServerSelector::ONE("server1"));); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_timezone3, *returned_options.begin()); { SCOPED_TRACE("DELETE audit entry for the global option after server deletion"); - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::DELETE, - "deleting a server", ServerSelector::ONE("server1"), - 2, 1); + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::DELETE, + "deleting a server", ServerSelector::ONE("server1"), 2, 1); } // Attempt to delete global option for server1. @@ -3613,14 +3279,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalOptions6WithServerTags) { EXPECT_EQ(1, deleted_num); // Create this option again to test that deletion of all servers removes it too. - EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server2"), - opt_timezone2)); + EXPECT_NO_THROW(cbptr_->createUpdateOption6(ServerSelector::ONE("server2"), opt_timezone2)); // Delete all servers, except 'all'. EXPECT_NO_THROW(deleted_num = cbptr_->deleteAllServers6()); - EXPECT_NO_THROW( - returned_options = cbptr_->getAllOptions6(ServerSelector::ALL()); - ); + EXPECT_NO_THROW(returned_options = cbptr_->getAllOptions6(ServerSelector::ALL());); EXPECT_EQ(1, deleted_num); ASSERT_EQ(1, returned_options.size()); testOptionsEquivalent(*opt_timezone3, *returned_options.begin()); @@ -3628,22 +3291,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, globalOptions6WithServerTags) { { SCOPED_TRACE("DELETE audit entry for the global option after deletion of" " all servers"); - testNewAuditEntry("dhcp6_options", - AuditEntry::ModificationType::DELETE, - "deleting all servers", ServerSelector::ONE("server2"), - 4, 1); + testNewAuditEntry("dhcp6_options", AuditEntry::ModificationType::DELETE, + "deleting all servers", ServerSelector::ONE("server2"), 4, 1); } } // This test verifies that all global options can be retrieved. TEST_F(PgSqlConfigBackendDHCPv6Test, getAllOptions6) { // Add three global options to the database. - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[0]); - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[1]); - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[5]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[0]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[1]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[5]); // Retrieve all these options. OptionContainer returned_options = cbptr_->getAllOptions6(ServerSelector::ALL()); @@ -3699,18 +3357,14 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, getModifiedOptions6) { test_options_[5]->setModificationTime(timestamps_["today"]); // Put options into the database. - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[0]); - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[1]); - cbptr_->createUpdateOption6(ServerSelector::ALL(), - test_options_[5]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[0]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[1]); + cbptr_->createUpdateOption6(ServerSelector::ALL(), test_options_[5]); // Get options with the timestamp later than today. Only // one option should be returned. - OptionContainer returned_options = - cbptr_->getModifiedOptions6(ServerSelector::ALL(), - timestamps_["after today"]); + OptionContainer returned_options = cbptr_->getModifiedOptions6(ServerSelector::ALL(), + timestamps_["after today"]); ASSERT_EQ(1, returned_options.size()); // Fetching modified options with explicitly specified server selector @@ -3738,26 +3392,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSubnetOption6) { cbptr_->createUpdateSubnet6(ServerSelector::ALL(), subnet); // Fetch this subnet by subnet identifier. - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); { SCOPED_TRACE("CREATE audit entry for a new subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } // The inserted subnet contains four options. ASSERT_EQ(4, countRows("dhcp6_options")); OptionDescriptorPtr opt_posix_timezone = test_options_[0]; - cbptr_->createUpdateOption6(ServerSelector::ANY(), subnet->getID(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ANY(), subnet->getID(), opt_posix_timezone); - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); OptionDescriptor returned_opt_posix_timezone = @@ -3776,8 +3425,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSubnetOption6) { // entry for the entire subnet so as the server refreshes the // subnet with the new option. Note that the server doesn't // have means to retrieve only the newly added option. - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option set"); } @@ -3786,14 +3434,12 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSubnetOption6) { ASSERT_EQ(5, countRows("dhcp6_options")); opt_posix_timezone->persistent_ = !opt_posix_timezone->persistent_; - cbptr_->createUpdateOption6(ServerSelector::ANY(), subnet->getID(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ANY(), subnet->getID(), opt_posix_timezone); - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); - returned_opt_posix_timezone = - returned_subnet->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE); + returned_opt_posix_timezone = returned_subnet->getCfgOption()->get(DHCP6_OPTION_SPACE, + D6O_NEW_POSIX_TIMEZONE); ASSERT_TRUE(returned_opt_posix_timezone.option_); { @@ -3803,8 +3449,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSubnetOption6) { { SCOPED_TRACE("UPDATE audit entry for an updated subnet option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option set"); } @@ -3817,16 +3462,15 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSubnetOption6) { opt_posix_timezone->option_->getType(), opt_posix_timezone->space_name_)); - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); - EXPECT_FALSE(returned_subnet->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); + EXPECT_FALSE( + returned_subnet->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); { SCOPED_TRACE("UPDATE audit entry for a deleted subnet option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "subnet specific option deleted"); } @@ -3843,27 +3487,21 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePoolOption6) { { SCOPED_TRACE("CREATE audit entry for a subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } // Inserted subnet has four options. ASSERT_EQ(4, countRows("dhcp6_options")); // Add an option into the pool. - const PoolPtr pool = subnet->getPool(Lease::TYPE_NA, - IOAddress("2001:db8::10")); + const PoolPtr pool = subnet->getPool(Lease::TYPE_NA, IOAddress("2001:db8::10")); ASSERT_TRUE(pool); OptionDescriptorPtr opt_posix_timezone = test_options_[0]; - cbptr_->createUpdateOption6(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_posix_timezone); // Query for a subnet. - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); // The returned subnet should include our pool. @@ -3885,8 +3523,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePoolOption6) { { SCOPED_TRACE("UPDATE audit entry for a subnet after adding an option " "to the address pool"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "address pool specific option set"); } @@ -3895,22 +3532,19 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePoolOption6) { // Modify the option and update it in the database. opt_posix_timezone->persistent_ = !opt_posix_timezone->persistent_; - cbptr_->createUpdateOption6(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_posix_timezone); // Fetch the subnet and the corresponding pool. - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); const PoolPtr returned_pool1 = returned_subnet->getPool(Lease::TYPE_NA, IOAddress("2001:db8::10")); ASSERT_TRUE(returned_pool1); // Test that the option has been correctly updated in the database. - returned_opt_posix_timezone = - returned_pool1->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE); + returned_opt_posix_timezone = returned_pool1->getCfgOption()->get(DHCP6_OPTION_SPACE, + D6O_NEW_POSIX_TIMEZONE); ASSERT_TRUE(returned_opt_posix_timezone.option_); { @@ -3921,8 +3555,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePoolOption6) { { SCOPED_TRACE("UPDATE audit entry for a subnet when updating " "address pool specific option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "address pool specific option set"); } @@ -3931,30 +3564,27 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePoolOption6) { ASSERT_EQ(5, countRows("dhcp6_options")); // Delete option for any server should succeed. - EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ANY(), - pool->getFirstAddress(), - pool->getLastAddress(), - opt_posix_timezone->option_->getType(), - opt_posix_timezone->space_name_)); + EXPECT_EQ(1, + cbptr_->deleteOption6(ServerSelector::ANY(), pool->getFirstAddress(), + pool->getLastAddress(), opt_posix_timezone->option_->getType(), + opt_posix_timezone->space_name_)); // Fetch the subnet and the pool from the database again to make sure // that the option is really gone. - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); const PoolPtr returned_pool2 = returned_subnet->getPool(Lease::TYPE_NA, IOAddress("2001:db8::10")); ASSERT_TRUE(returned_pool2); // Option should be gone. - EXPECT_FALSE(returned_pool2->getCfgOption()->get(DHCP6_OPTION_SPACE, - D6O_NEW_POSIX_TIMEZONE).option_); + EXPECT_FALSE( + returned_pool2->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); { SCOPED_TRACE("UPDATE audit entry for a subnet when deleting " "address pool specific option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "address pool specific option deleted"); } @@ -3972,40 +3602,32 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { { SCOPED_TRACE("CREATE audit entry for a subnet"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::CREATE, - "subnet set"); + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::CREATE, "subnet set"); } // Inserted subnet has four options. ASSERT_EQ(4, countRows("dhcp6_options")); // Add an option into the pd pool. - const PoolPtr pd_pool = subnet->getPool(Lease::TYPE_PD, - IOAddress("2001:db8:a:10::")); + const PoolPtr pd_pool = subnet->getPool(Lease::TYPE_PD, IOAddress("2001:db8:a:10::")); ASSERT_TRUE(pd_pool); OptionDescriptorPtr opt_posix_timezone = test_options_[0]; - int pd_pool_len = prefixLengthFromRange(pd_pool->getFirstAddress(), - pd_pool->getLastAddress()); - cbptr_->createUpdateOption6(ServerSelector::ANY(), - pd_pool->getFirstAddress(), - static_cast(pd_pool_len), - opt_posix_timezone); + int pd_pool_len = prefixLengthFromRange(pd_pool->getFirstAddress(), pd_pool->getLastAddress()); + cbptr_->createUpdateOption6(ServerSelector::ANY(), pd_pool->getFirstAddress(), + static_cast(pd_pool_len), opt_posix_timezone); // Query for a subnet. - Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + Subnet6Ptr returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); // The returned subnet should include our pool. - const PoolPtr returned_pd_pool = - returned_subnet->getPool(Lease::TYPE_PD, IOAddress("2001:db8:a:10::")); + const PoolPtr returned_pd_pool = returned_subnet->getPool(Lease::TYPE_PD, + IOAddress("2001:db8:a:10::")); ASSERT_TRUE(returned_pd_pool); // The pd pool should contain option we added earlier. OptionDescriptor returned_opt_posix_timezone = - returned_pd_pool->getCfgOption()->get(DHCP6_OPTION_SPACE, - D6O_NEW_POSIX_TIMEZONE); + returned_pd_pool->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE); ASSERT_TRUE(returned_opt_posix_timezone.option_); { @@ -4017,8 +3639,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { { SCOPED_TRACE("UPDATE audit entry for a subnet after adding an option " "to the prefix delegation pool"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "prefix delegation pool specific option set"); } @@ -4027,23 +3648,19 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { // Modify the option and update it in the database. opt_posix_timezone->persistent_ = !opt_posix_timezone->persistent_; - cbptr_->createUpdateOption6(ServerSelector::ANY(), - pd_pool->getFirstAddress(), - static_cast(pd_pool_len), - opt_posix_timezone); + cbptr_->createUpdateOption6(ServerSelector::ANY(), pd_pool->getFirstAddress(), + static_cast(pd_pool_len), opt_posix_timezone); // Fetch the subnet and the corresponding pd pool. - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); - const PoolPtr returned_pd_pool1 = - returned_subnet->getPool(Lease::TYPE_PD, IOAddress("2001:db8:a:10::")); + const PoolPtr returned_pd_pool1 = returned_subnet->getPool(Lease::TYPE_PD, + IOAddress("2001:db8:a:10::")); ASSERT_TRUE(returned_pd_pool1); // Test that the option has been correctly updated in the database. - returned_opt_posix_timezone = - returned_pd_pool1->getCfgOption()->get(DHCP6_OPTION_SPACE, - D6O_NEW_POSIX_TIMEZONE); + returned_opt_posix_timezone = returned_pd_pool1->getCfgOption()->get(DHCP6_OPTION_SPACE, + D6O_NEW_POSIX_TIMEZONE); ASSERT_TRUE(returned_opt_posix_timezone.option_); { @@ -4054,8 +3671,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { { SCOPED_TRACE("UPDATE audit entry for a subnet when updating " "prefix delegation pool specific option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "prefix delegation pool specific option set"); } @@ -4064,30 +3680,27 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { ASSERT_EQ(5, countRows("dhcp6_options")); // Delete option for any server should succeed. - EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ANY(), - pd_pool->getFirstAddress(), + EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ANY(), pd_pool->getFirstAddress(), static_cast(pd_pool_len), opt_posix_timezone->option_->getType(), opt_posix_timezone->space_name_)); // Fetch the subnet and the pool from the database again to make sure // that the option is really gone. - returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), - subnet->getID()); + returned_subnet = cbptr_->getSubnet6(ServerSelector::ALL(), subnet->getID()); ASSERT_TRUE(returned_subnet); - const PoolPtr returned_pd_pool2 = - returned_subnet->getPool(Lease::TYPE_PD, IOAddress("2001:db8:a:10::")); + const PoolPtr returned_pd_pool2 = returned_subnet->getPool(Lease::TYPE_PD, + IOAddress("2001:db8:a:10::")); ASSERT_TRUE(returned_pd_pool2); // Option should be gone. - EXPECT_FALSE(returned_pd_pool2->getCfgOption()->get(DHCP6_OPTION_SPACE, - D6O_NEW_POSIX_TIMEZONE).option_); + EXPECT_FALSE( + returned_pd_pool2->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); { SCOPED_TRACE("UPDATE audit entry for a subnet when deleting " "prefix delegation pool specific option"); - testNewAuditEntry("dhcp6_subnet", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_subnet", AuditEntry::ModificationType::UPDATE, "prefix delegation pool specific option deleted"); } @@ -4101,19 +3714,16 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeletePdPoolOption6) { TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { // Insert new shared network. SharedNetwork6Ptr shared_network = test_networks_[1]; - cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - shared_network); + cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), shared_network); // Fetch this shared network by name. - SharedNetwork6Ptr returned_network = - cbptr_->getSharedNetwork6(ServerSelector::ALL(), - shared_network->getName()); + SharedNetwork6Ptr returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), + shared_network->getName()); ASSERT_TRUE(returned_network); { SCOPED_TRACE("CREATE audit entry for the new shared network"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::CREATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::CREATE, "shared network set"); } @@ -4121,12 +3731,10 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { ASSERT_EQ(0, countRows("dhcp6_options")); OptionDescriptorPtr opt_posix_timezone = test_options_[0]; - cbptr_->createUpdateOption6(ServerSelector::ANY(), - shared_network->getName(), + cbptr_->createUpdateOption6(ServerSelector::ANY(), shared_network->getName(), opt_posix_timezone); - returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); OptionDescriptor returned_opt_posix_timezone = @@ -4145,8 +3753,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { // entry for the entire shared network so as the server refreshes the // shared network with the new option. Note that the server doesn't // have means to retrieve only the newly added option. - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option set"); } @@ -4154,15 +3761,13 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { ASSERT_EQ(1, countRows("dhcp6_options")); opt_posix_timezone->persistent_ = !opt_posix_timezone->persistent_; - cbptr_->createUpdateOption6(ServerSelector::ANY(), - shared_network->getName(), + cbptr_->createUpdateOption6(ServerSelector::ANY(), shared_network->getName(), opt_posix_timezone); - returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); - returned_opt_posix_timezone = - returned_network->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE); + returned_opt_posix_timezone = returned_network->getCfgOption()->get(DHCP6_OPTION_SPACE, + D6O_NEW_POSIX_TIMEZONE); ASSERT_TRUE(returned_opt_posix_timezone.option_); { @@ -4172,8 +3777,7 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { { SCOPED_TRACE("UPDATE audit entry for the updated shared network option"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option set"); } @@ -4182,19 +3786,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, createUpdateDeleteSharedNetworkOption6) { ASSERT_EQ(1, countRows("dhcp6_options")); // Deleting an option for any server should succeed. - EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ANY(), - shared_network->getName(), + EXPECT_EQ(1, cbptr_->deleteOption6(ServerSelector::ANY(), shared_network->getName(), opt_posix_timezone->option_->getType(), opt_posix_timezone->space_name_)); - returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), - shared_network->getName()); + returned_network = cbptr_->getSharedNetwork6(ServerSelector::ALL(), shared_network->getName()); ASSERT_TRUE(returned_network); - EXPECT_FALSE(returned_network->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); + EXPECT_FALSE( + returned_network->getCfgOption()->get(DHCP6_OPTION_SPACE, D6O_NEW_POSIX_TIMEZONE).option_); { SCOPED_TRACE("UPDATE audit entry for the deleted shared network option"); - testNewAuditEntry("dhcp6_shared_network", - AuditEntry::ModificationType::UPDATE, + testNewAuditEntry("dhcp6_shared_network", AuditEntry::ModificationType::UPDATE, "shared network specific option deleted"); } @@ -4254,14 +3856,11 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkOptionIdOrder) { // Insert two shared networks. We insert level1 without options first, // then level2. - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - level1_no_options)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), level1_no_options)); - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - level2)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), level2)); // Fetch all shared networks. - SharedNetwork6Collection networks = - cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); + SharedNetwork6Collection networks = cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); ASSERT_EQ(2, networks.size()); @@ -4269,17 +3868,14 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkOptionIdOrder) { for (auto i = 0; i < networks.size(); ++i) { if (i == 0) { // level1_no_options - EXPECT_EQ(level1_no_options->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level1_no_options->toElement()->str(), networks[i]->toElement()->str()); } else { // bar - EXPECT_EQ(level2->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level2->toElement()->str(), networks[i]->toElement()->str()); } } - EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), - level1_options)); + EXPECT_NO_THROW(cbptr_->createUpdateSharedNetwork6(ServerSelector::ALL(), level1_options)); // Fetch all shared networks. networks = cbptr_->getAllSharedNetworks6(ServerSelector::ALL()); @@ -4289,12 +3885,10 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, sharedNetworkOptionIdOrder) { for (auto i = 0; i < networks.size(); ++i) { if (i == 0) { // level1_no_options - EXPECT_EQ(level1_options->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level1_options->toElement()->str(), networks[i]->toElement()->str()); } else { // bar - EXPECT_EQ(level2->toElement()->str(), - networks[i]->toElement()->str()); + EXPECT_EQ(level2->toElement()->str(), networks[i]->toElement()->str()); } } } @@ -4321,18 +3915,17 @@ TEST_F(PgSqlConfigBackendDHCPv6Test, multipleAuditEntries) { } // Get all audit entries from now. - AuditEntryCollection audit_entries = - cbptr_->getRecentAuditEntries(server_selector, now, 0); + AuditEntryCollection audit_entries = cbptr_->getRecentAuditEntries(server_selector, now, 0); // Check that partial retrieves return the right count. auto& mod_time_idx = audit_entries.get(); for (auto it = mod_time_idx.begin(); it != mod_time_idx.end(); ++it) { - size_t partial_size = - cbptr_->getRecentAuditEntries(server_selector, - (*it)->getModificationTime(), - (*it)->getRevisionId()).size(); - EXPECT_EQ(partial_size + 1, - std::distance(it, mod_time_idx.end())); + size_t partial_size = cbptr_ + ->getRecentAuditEntries(server_selector, + (*it)->getModificationTime(), + (*it)->getRevisionId()) + .size(); + EXPECT_EQ(partial_size + 1, std::distance(it, mod_time_idx.end())); } } @@ -4391,8 +3984,8 @@ public: /// @brief Method which returns invalid back end specific connection /// string virtual std::string invalidConnectString() { - return (connectionString(PGSQL_VALID_TYPE, INVALID_NAME, VALID_HOST, - VALID_USER, VALID_PASSWORD)); + return (connectionString(PGSQL_VALID_TYPE, INVALID_NAME, VALID_HOST, VALID_USER, + VALID_PASSWORD)); } /// @brief Verifies open failures do NOT invoke db lost callback @@ -4541,13 +4134,15 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndRecoveredCallback() { // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4593,7 +4188,8 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndFailedCallback() { // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); access = invalidConnectString(); CfgMgr::instance().clear(); @@ -4602,14 +4198,16 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndFailedCallback() { config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4657,7 +4255,8 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndRecoveredAfterTimeoutCa // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); access = invalidConnectString(); access += extra; @@ -4667,14 +4266,16 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndRecoveredAfterTimeoutCa config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4747,7 +4348,8 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndFailedAfterTimeoutCallb // Verify we can execute a query. We don't care about the answer. ServerCollection servers; - ASSERT_NO_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); + ASSERT_NO_THROW( + servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector())); access = invalidConnectString(); access += extra; @@ -4757,14 +4359,16 @@ PgSqlConfigBackendDHCPv6DbLostCallbackTest::testDbLostAndFailedAfterTimeoutCallb config_ctl_info.reset(new ConfigControlInfo()); config_ctl_info->addConfigDatabase(access); CfgMgr::instance().getCurrentCfg()->setConfigControlInfo(config_ctl_info); - const ConfigDbInfoList& cfg = CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); + const ConfigDbInfoList& cfg = + CfgMgr::instance().getCurrentCfg()->getConfigControlInfo()->getConfigDatabases(); (const_cast(cfg))[0].setAccessString(access, true); // Now close the sql socket out from under backend client ASSERT_EQ(0, close(sql_socket)); // A query should fail with DbConnectionUnusable. - ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6(BackendSelector()), + ASSERT_THROW(servers = ConfigBackendDHCPv6Mgr::instance().getPool()->getAllServers6( + BackendSelector()), DbConnectionUnusable); io_service_->poll(); @@ -4836,7 +4440,8 @@ TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, testDbLostAndRecoveredAfterTi } /// @brief Verifies that loss of connectivity to Postgres is handled correctly. -TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, testDbLostAndRecoveredAfterTimeoutCallbackMultiThreading) { +TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, + testDbLostAndRecoveredAfterTimeoutCallbackMultiThreading) { MultiThreadingTest mt(true); testDbLostAndRecoveredAfterTimeoutCallback(); } @@ -4848,9 +4453,10 @@ TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, testDbLostAndFailedAfterTimeo } /// @brief Verifies that loss of connectivity to Postgres is handled correctly. -TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, testDbLostAndFailedAfterTimeoutCallbackMultiThreading) { +TEST_F(PgSqlConfigBackendDHCPv6DbLostCallbackTest, + testDbLostAndFailedAfterTimeoutCallbackMultiThreading) { MultiThreadingTest mt(true); testDbLostAndFailedAfterTimeoutCallback(); } -} +} // namespace diff --git a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_impl_unittest.cc b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_impl_unittest.cc index 5edc2c70b4..3e49d24a77 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_impl_unittest.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/pgsql_cb_impl_unittest.cc @@ -5,9 +5,11 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include -#include -#include + #include + +#include +#include #include using namespace isc::db; @@ -16,18 +18,17 @@ using namespace isc::dhcp::test; namespace { -typedef PsqlBindArrayPtr (tripletFunc) (const Triplet& triplet); +typedef PsqlBindArrayPtr(tripletFunc)(const Triplet& triplet); -class PgsqlConfigBackendTest: public PgSqlGenericBackendTest { +class PgsqlConfigBackendTest : public PgSqlGenericBackendTest { public: - PgsqlConfigBackendTest(): PgSqlGenericBackendTest() { + PgsqlConfigBackendTest() : PgSqlGenericBackendTest() { DatabaseConnection::ParameterMap params; params["name"] = "keatest"; params["password"] = "keatest"; params["user"] = "keatest"; cbptr_.reset(new PgSqlConfigBackendImpl(params, 0)); - } /// @brief checks if specified triplet generating function stores the values properly. @@ -73,7 +74,7 @@ TEST_F(PgsqlConfigBackendTest, triplet) { // the createBinding function takes the default value of a triplet. TEST_F(PgsqlConfigBackendTest, createBinding) { - tripletFunc &f = PgSqlConfigBackendImpl::createBinding; + tripletFunc& f = PgSqlConfigBackendImpl::createBinding; std::vector exp; // Case 1: empty triplet creates empty binding @@ -92,7 +93,7 @@ TEST_F(PgsqlConfigBackendTest, createBinding) { // the createBinding function takes the default value of a triplet. TEST_F(PgsqlConfigBackendTest, createMinBinding) { - tripletFunc &f = PgSqlConfigBackendImpl::createMinBinding; + tripletFunc& f = PgSqlConfigBackendImpl::createMinBinding; std::vector exp; // Case 1: empty triplet creates empty binding @@ -112,7 +113,7 @@ TEST_F(PgsqlConfigBackendTest, createMinBinding) { // the createBinding function takes the default value of a triplet. TEST_F(PgsqlConfigBackendTest, createMaxBinding) { - tripletFunc &f = PgSqlConfigBackendImpl::createMaxBinding; + tripletFunc& f = PgSqlConfigBackendImpl::createMaxBinding; std::vector exp; // Case 1: empty triplet creates empty binding @@ -128,5 +129,4 @@ TEST_F(PgsqlConfigBackendTest, createMaxBinding) { checkBinding(f, Triplet(111, 222, 333), exp); } - -} +} // namespace diff --git a/src/hooks/dhcp/pgsql_cb/tests/run_unittests.cc b/src/hooks/dhcp/pgsql_cb/tests/run_unittests.cc index 1b4d40ccbb..74904a3d92 100644 --- a/src/hooks/dhcp/pgsql_cb/tests/run_unittests.cc +++ b/src/hooks/dhcp/pgsql_cb/tests/run_unittests.cc @@ -7,6 +7,7 @@ #include #include + #include int diff --git a/src/hooks/dhcp/pgsql_cb/version.cc b/src/hooks/dhcp/pgsql_cb/version.cc index a5b8d8c3f5..23cfd35cc5 100644 --- a/src/hooks/dhcp/pgsql_cb/version.cc +++ b/src/hooks/dhcp/pgsql_cb/version.cc @@ -5,13 +5,14 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include + #include extern "C" { /// @brief returns Kea hooks version. -int version() { +int +version() { return (KEA_HOOKS_VERSION); } - }