mirror of
https://github.com/falk-werner/webfused
synced 2026-03-02 04:09:19 +00:00
refactored tests
This commit is contained in:
170
test/log/log.cc
Normal file
170
test/log/log.cc
Normal file
@@ -0,0 +1,170 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <gmock/gmock.h>
|
||||
|
||||
#include "webfused/log/logger.h"
|
||||
#include "webfused/log/log.h"
|
||||
#include "mock/logger.hpp"
|
||||
|
||||
using ::testing::_;
|
||||
using ::testing::StrEq;
|
||||
using ::webfused_test::MockLogger;
|
||||
|
||||
TEST(log, fatal)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_FATAL, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_ALL, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_FATAL("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, error)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_ERROR, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_ALL, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_ERROR("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, warn)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_WARN, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_ALL, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_WARN("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, info)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_INFO, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_ALL, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_INFO("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, debug)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_DEBUG, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_ALL, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_DEBUG("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, respect_loglevel)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(_, _, _)).Times(0);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_WARN, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_DEBUG("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, log_same_loglevel)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_WARN, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(1);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_WARN, &wfd_MockLogger_log, &wfd_MockLogger_onclose, logger.getUserData());
|
||||
WFD_WARN("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, omit_onclose_if_nullptr)
|
||||
{
|
||||
MockLogger logger(true);
|
||||
|
||||
EXPECT_CALL(logger, log(WFD_LOGLEVEL_WARN, StrEq("too bad"), _)).Times(1);
|
||||
EXPECT_CALL(logger, onclose()).Times(0);
|
||||
|
||||
wfd_logger_init(WFD_LOGLEVEL_WARN, &wfd_MockLogger_log, nullptr, logger.getUserData());
|
||||
WFD_WARN("too bad");
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(log, default_log)
|
||||
{
|
||||
WFD_ERROR("trigger log");
|
||||
}
|
||||
|
||||
TEST(log, loglevel_parse)
|
||||
{
|
||||
int level;
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("fatal", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_FATAL, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("FATAL", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_FATAL, level);
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("error", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_ERROR, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("ERROR", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_ERROR, level);
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("warn", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_WARN, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("WARN", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_WARN, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("warning", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_WARN, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("WARNING", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_WARN, level);
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("info", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_INFO, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("INFO", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_INFO, level);
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("debug", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_DEBUG, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("DEBUG", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_DEBUG, level);
|
||||
|
||||
ASSERT_FALSE(wfd_log_level_parse("<invalid>", &level));
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("all", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_ALL, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("ALL", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_ALL, level);
|
||||
|
||||
ASSERT_TRUE(wfd_log_level_parse("none", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_NONE, level);
|
||||
ASSERT_TRUE(wfd_log_level_parse("NONE", &level));
|
||||
ASSERT_EQ(WFD_LOGLEVEL_NONE, level);
|
||||
|
||||
}
|
||||
|
||||
TEST(log, log_level_tostring)
|
||||
{
|
||||
ASSERT_STREQ("none", wfd_log_level_tostring(WFD_LOGLEVEL_NONE));
|
||||
ASSERT_STREQ("fatal", wfd_log_level_tostring(WFD_LOGLEVEL_FATAL));
|
||||
ASSERT_STREQ("error", wfd_log_level_tostring(WFD_LOGLEVEL_ERROR));
|
||||
ASSERT_STREQ("warn", wfd_log_level_tostring(WFD_LOGLEVEL_WARN));
|
||||
ASSERT_STREQ("info", wfd_log_level_tostring(WFD_LOGLEVEL_INFO));
|
||||
ASSERT_STREQ("debug", wfd_log_level_tostring(WFD_LOGLEVEL_DEBUG));
|
||||
ASSERT_STREQ("all", wfd_log_level_tostring(WFD_LOGLEVEL_ALL));
|
||||
ASSERT_STREQ("<unknown>", wfd_log_level_tostring(42));
|
||||
}
|
||||
10
test/log/log_manager.cc
Normal file
10
test/log/log_manager.cc
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "webfused/log/manager.h"
|
||||
#include "webfused/log/log.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <stddef.h>
|
||||
|
||||
TEST(log_manager, set_logger_fail_unknown_provider)
|
||||
{
|
||||
ASSERT_FALSE(wfd_log_manager_set_logger("unknown", WFD_LOGLEVEL_ALL, NULL));
|
||||
}
|
||||
33
test/log/stderr_logger.cc
Normal file
33
test/log/stderr_logger.cc
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "webfused/log/stderr_logger.h"
|
||||
#include "webfused/log/manager.h"
|
||||
#include "webfused/log/logger.h"
|
||||
#include "webfused/log/log.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <stddef.h>
|
||||
|
||||
TEST(stderr_logger, init)
|
||||
{
|
||||
ASSERT_TRUE(wfd_stderr_logger_init(WFD_LOGLEVEL_ALL, NULL));
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(stderr_logger, init_via_manager)
|
||||
{
|
||||
ASSERT_TRUE(wfd_log_manager_set_logger("stderr", WFD_LOGLEVEL_ALL, NULL));
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(stderr_logger, log)
|
||||
{
|
||||
ASSERT_TRUE(wfd_stderr_logger_init(WFD_LOGLEVEL_ALL, NULL));
|
||||
|
||||
WFD_FATAL("webfused test");
|
||||
WFD_ERROR("webfused test");
|
||||
WFD_WARN ("webfused test");
|
||||
WFD_INFO ("webfused test");
|
||||
WFD_DEBUG("webfused test");
|
||||
wfd_log(-1, "webfused test");
|
||||
|
||||
wfd_logger_close();
|
||||
}
|
||||
51
test/log/syslog_logger.cc
Normal file
51
test/log/syslog_logger.cc
Normal file
@@ -0,0 +1,51 @@
|
||||
#include "webfused/log/syslog_logger.h"
|
||||
#include "webfused/log/manager.h"
|
||||
#include "webfused/log/logger.h"
|
||||
#include "webfused/log/log.h"
|
||||
|
||||
#include "mock/settings.hpp"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <stddef.h>
|
||||
|
||||
using ::webfused_test::MockSettings;
|
||||
using ::testing::StrEq;
|
||||
using ::testing::_;
|
||||
using ::testing::Return;
|
||||
|
||||
TEST(syslog_logger, init)
|
||||
{
|
||||
ASSERT_TRUE(wfd_syslog_logger_init(WFD_LOGLEVEL_ALL, NULL));
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(syslog_logger, init_fail_invalid_facility)
|
||||
{
|
||||
MockSettings settings;
|
||||
EXPECT_CALL(settings, getStringOrDefault(StrEq("ident"), _)).Times(1).WillOnce(Return("webfused_test"));
|
||||
EXPECT_CALL(settings, getStringOrDefault(StrEq("facility"), _)).Times(1).WillOnce(Return("invalid"));
|
||||
EXPECT_CALL(settings, getBool(StrEq("log_pid"))).Times(1).WillOnce(Return(false));
|
||||
|
||||
wfd_settings * fake_settings = reinterpret_cast<wfd_settings*>(0xDEADBEEF);
|
||||
ASSERT_FALSE(wfd_syslog_logger_init(WFD_LOGLEVEL_ALL, fake_settings));
|
||||
}
|
||||
|
||||
TEST(syslog_logger, init_via_manager)
|
||||
{
|
||||
ASSERT_TRUE(wfd_log_manager_set_logger("syslog", WFD_LOGLEVEL_ALL, NULL));
|
||||
wfd_logger_close();
|
||||
}
|
||||
|
||||
TEST(syslog_logger, log)
|
||||
{
|
||||
ASSERT_TRUE(wfd_syslog_logger_init(WFD_LOGLEVEL_ALL, NULL));
|
||||
|
||||
WFD_FATAL("webfused test");
|
||||
WFD_ERROR("webfused test");
|
||||
WFD_WARN ("webfused test");
|
||||
WFD_INFO ("webfused test");
|
||||
WFD_DEBUG("webfused test");
|
||||
wfd_log(-1, "webfused test");
|
||||
|
||||
wfd_logger_close();
|
||||
}
|
||||
Reference in New Issue
Block a user