X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/a500fb72810060e52d87ad2c2e4691531f0bcc5a..HEAD:/tests/test_filter_params_log.cpp diff --git a/tests/test_filter_params_log.cpp b/tests/test_filter_params_log.cpp index 430005fc..c7c3bbbb 100644 --- a/tests/test_filter_params_log.cpp +++ b/tests/test_filter_params_log.cpp @@ -1,4 +1,4 @@ -#include "tut/tut.hpp" +#define BOOST_TEST_MODULE STGFilterParamsLog #include "stg/admin.h" #include "stg/user_property.h" @@ -11,206 +11,194 @@ #include "testusers.h" #include "testservices.h" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wold-style-cast" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wparentheses" +#include +#pragma GCC diagnostic pop + +volatile time_t stgTime = 0; + namespace { -class TEST_STORE_LOCAL : public TEST_STORE { -public: - TEST_STORE_LOCAL() - : entries(0) - {} +class Store : public TestStore +{ + public: + Store() + : m_entries(0) + {} - int WriteUserChgLog(const std::string & /*login*/, - const std::string & /*admLogin*/, - uint32_t /*admIP*/, - const std::string & /*paramName*/, - const std::string & /*oldValue*/, - const std::string & /*newValue*/, - const std::string & /*message*/) const override { ++entries; return 0; } + int WriteUserChgLog(const std::string& /*login*/, + const std::string& /*admLogin*/, + uint32_t /*admIP*/, + const std::string& /*paramName*/, + const std::string& /*oldValue*/, + const std::string& /*newValue*/, + const std::string& /*message*/) const override { ++m_entries; return 0; } - size_t GetEntries() const { return entries; } + size_t GetEntries() const { return m_entries; } -private: - mutable size_t entries; + private: + mutable size_t m_entries; }; -class TEST_SETTINGS_LOCAL : public TEST_SETTINGS { +class Settings : public TestSettings +{ public: - void addFilter(const std::string& field) { filter.push_back(field); } + void addFilter(const std::string& field) { m_filter.push_back(field); } - const std::vector& GetFilterParamsLog() const { return filter; } + const std::vector& GetFilterParamsLog() const { return m_filter; } private: - std::vector filter; + std::vector m_filter; }; } -namespace tut -{ - struct filter_params_log_data { - }; - - typedef test_group tg; - tg filter_params_log_test_group("Filter params log tests group"); - - typedef tg::object testobject; - - template<> - template<> - void testobject::test<1>() - { - set_test_name("Check normal behaviour"); - - TEST_SETTINGS_LOCAL settings; - settings.addFilter("*"); // Allow everything by default. - TEST_TARIFFS tariffs; - tariffs.ReadTariffs(); - STG::Admin admin(STG::Priv(0xFFFF), {}, {}); - TEST_STORE_LOCAL store; - TEST_AUTH auth; - TEST_USERS users; - TEST_SERVICES services; - STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); +BOOST_AUTO_TEST_SUITE(FilterParamsLog) - auto & address = user.GetProperties().address; - auto & note = user.GetProperties().note; - auto & group = user.GetProperties().group; - - address.Set("address", admin, "", store, ""); - note.Set("note", admin, "", store, ""); - group.Set("group", admin, "", store, ""); - - ensure_equals("entries = 3", store.GetEntries(), 3); - - note.Set("another note", admin, "", store, ""); +BOOST_AUTO_TEST_CASE(NormalBehavior) +{ + Settings settings; + settings.addFilter("*"); // Allow everything by default. + TestTariffs tariffs; + tariffs.ReadTariffs(); + STG::Admin admin(STG::Priv(0xFFFF), {}, {}); + Store store; + TestAuth auth; + TestUsers users; + TestServices services; + STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); - ensure_equals("entries = 4", store.GetEntries(), 4); + auto & address = user.GetProperties().address; + auto & note = user.GetProperties().note; + auto & group = user.GetProperties().group; - address.Set("new address", admin, "", store, ""); + address.Set("address", admin, "", store, ""); + note.Set("note", admin, "", store, ""); + group.Set("group", admin, "", store, ""); - ensure_equals("entries = 5", store.GetEntries(), 5); + BOOST_CHECK_EQUAL(store.GetEntries(), 3); - group.Set("administrative group", admin, "", store, ""); + note.Set("another note", admin, "", store, ""); - ensure_equals("entries = 6", store.GetEntries(), 6); - } + BOOST_CHECK_EQUAL(store.GetEntries(), 4); + address.Set("new address", admin, "", store, ""); - template<> - template<> - void testobject::test<2>() - { - set_test_name("Check single filter entry."); + BOOST_CHECK_EQUAL(store.GetEntries(), 5); - TEST_SETTINGS_LOCAL settings; - settings.addFilter("address"); // Allow everything by default. - TEST_TARIFFS tariffs; - STG::Admin admin(STG::Priv(0xFFFF), {}, {}); - TEST_STORE_LOCAL store; - TEST_AUTH auth; - TEST_USERS users; - TEST_SERVICES services; - STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); + group.Set("administrative group", admin, "", store, ""); - auto & address = user.GetProperties().address; - auto & note = user.GetProperties().note; - auto & group = user.GetProperties().group; + BOOST_CHECK_EQUAL(store.GetEntries(), 6); +} - address.Set("address", admin, "", store, ""); - note.Set("note", admin, "", store, ""); - group.Set("group", admin, "", store, ""); +BOOST_AUTO_TEST_CASE(SingleFilterEntry) +{ + Settings settings; + settings.addFilter("address"); // Allow everything by default. + TestTariffs tariffs; + STG::Admin admin(STG::Priv(0xFFFF), {}, {}); + Store store; + TestAuth auth; + TestUsers users; + TestServices services; + STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); - ensure_equals("entries = 1", store.GetEntries(), 1); + auto & address = user.GetProperties().address; + auto & note = user.GetProperties().note; + auto & group = user.GetProperties().group; - note.Set("another note", admin, "", store, ""); + address.Set("address", admin, "", store, ""); + note.Set("note", admin, "", store, ""); + group.Set("group", admin, "", store, ""); - ensure_equals("entries = 1", store.GetEntries(), 1); + BOOST_CHECK_EQUAL(store.GetEntries(), 1); - address.Set("new address", admin, "", store, ""); + note.Set("another note", admin, "", store, ""); - ensure_equals("entries = 2", store.GetEntries(), 2); + BOOST_CHECK_EQUAL(store.GetEntries(), 1); - group.Set("administrative group", admin, "", store, ""); + address.Set("new address", admin, "", store, ""); - ensure_equals("entries = 2", store.GetEntries(), 2); - } + BOOST_CHECK_EQUAL(store.GetEntries(), 2); - template<> - template<> - void testobject::test<3>() - { - set_test_name("Check multiple filter entries."); + group.Set("administrative group", admin, "", store, ""); - TEST_SETTINGS_LOCAL settings; - settings.addFilter("address"); // Allow everything by default. - settings.addFilter("group"); // Allow everything by default. - TEST_TARIFFS tariffs; - STG::Admin admin(STG::Priv(0xFFFF), {}, {}); - TEST_STORE_LOCAL store; - TEST_AUTH auth; - TEST_USERS users; - TEST_SERVICES services; - STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); + BOOST_CHECK_EQUAL(store.GetEntries(), 2); +} - auto & address = user.GetProperties().address; - auto & note = user.GetProperties().note; - auto & group = user.GetProperties().group; +BOOST_AUTO_TEST_CASE(MultipleFilterEntries) +{ + Settings settings; + settings.addFilter("address"); // Allow everything by default. + settings.addFilter("group"); // Allow everything by default. + TestTariffs tariffs; + STG::Admin admin(STG::Priv(0xFFFF), {}, {}); + Store store; + TestAuth auth; + TestUsers users; + TestServices services; + STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); - address.Set("address", admin, "", store, ""); - note.Set("note", admin, "", store, ""); - group.Set("group", admin, "", store, ""); + auto & address = user.GetProperties().address; + auto & note = user.GetProperties().note; + auto & group = user.GetProperties().group; - ensure_equals("entries = 2", store.GetEntries(), 2); + address.Set("address", admin, "", store, ""); + note.Set("note", admin, "", store, ""); + group.Set("group", admin, "", store, ""); - note.Set("another note", admin, "", store, ""); + BOOST_CHECK_EQUAL(store.GetEntries(), 2); - ensure_equals("entries = 2", store.GetEntries(), 2); + note.Set("another note", admin, "", store, ""); - address.Set("new address", admin, "", store, ""); + BOOST_CHECK_EQUAL(store.GetEntries(), 2); - ensure_equals("entries = 3", store.GetEntries(), 3); + address.Set("new address", admin, "", store, ""); - group.Set("administrative group", admin, "", store, ""); + BOOST_CHECK_EQUAL(store.GetEntries(), 3); - ensure_equals("entries = 4", store.GetEntries(), 4); - } + group.Set("administrative group", admin, "", store, ""); - template<> - template<> - void testobject::test<4>() - { - set_test_name("Check empty filter."); + BOOST_CHECK_EQUAL(store.GetEntries(), 4); +} - TEST_SETTINGS_LOCAL settings; - TEST_TARIFFS tariffs; - STG::Admin admin(STG::Priv(0xFFFF), {}, {}); - TEST_STORE_LOCAL store; - TEST_AUTH auth; - TEST_USERS users; - TEST_SERVICES services; - STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); +BOOST_AUTO_TEST_CASE(EmptyFilter) +{ + Settings settings; + TestTariffs tariffs; + STG::Admin admin(STG::Priv(0xFFFF), {}, {}); + Store store; + TestAuth auth; + TestUsers users; + TestServices services; + STG::UserImpl user(&settings, &store, &tariffs, &admin, &users, services); - auto & address = user.GetProperties().address; - auto & note = user.GetProperties().note; - auto & group = user.GetProperties().group; + auto & address = user.GetProperties().address; + auto & note = user.GetProperties().note; + auto & group = user.GetProperties().group; - address.Set("address", admin, "", store, ""); - note.Set("note", admin, "", store, ""); - group.Set("group", admin, "", store, ""); + address.Set("address", admin, "", store, ""); + note.Set("note", admin, "", store, ""); + group.Set("group", admin, "", store, ""); - ensure_equals("entries = 0", store.GetEntries(), 0); + BOOST_CHECK_EQUAL(store.GetEntries(), 0); - note.Set("another note", admin, "", store, ""); + note.Set("another note", admin, "", store, ""); - ensure_equals("entries = 0", store.GetEntries(), 0); + BOOST_CHECK_EQUAL(store.GetEntries(), 0); - address.Set("new address", admin, "", store, ""); + address.Set("new address", admin, "", store, ""); - ensure_equals("entries = 0", store.GetEntries(), 0); + BOOST_CHECK_EQUAL(store.GetEntries(), 0); - group.Set("administrative group", admin, "", store, ""); + group.Set("administrative group", admin, "", store, ""); - ensure_equals("entries = 0", store.GetEntries(), 0); - } + BOOST_CHECK_EQUAL(store.GetEntries(), 0); } + +BOOST_AUTO_TEST_SUITE_END()