c_logger_test.cxx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // c_logger_test.cxx
  3. // logger_test
  4. //
  5. // Created by Sam Jaffe on 4/2/19.
  6. //
  7. #include "mock_logger.h"
  8. #include "logger/c_logger.h"
  9. using namespace logging;
  10. namespace {
  11. struct t_logger : public c_logger {
  12. t_logger(std::string const & name, std::shared_ptr<logger_impl> impl)
  13. : c_logger(name, impl) {}
  14. };
  15. }
  16. using CLoggerTest = LoggerTest;
  17. TEST_F(CLoggerTest, FlushesOnClose) {
  18. EXPECT_CALL(*appender, flush()).Times(1);
  19. t_logger("", pimpl);
  20. }
  21. TEST_F(CLoggerTest, FlushesOnFlushCall) {
  22. EXPECT_CALL(*appender, flush()).Times(2);
  23. t_logger("", pimpl).flush();
  24. }
  25. TEST_F(CLoggerTest, LogsWithFmtCode) {
  26. EXPECT_CALL(*appender, write(MessageEq("5"))).Times(1);
  27. t_logger("", pimpl).errorf("%d", 5);
  28. }
  29. // TODO: This is wrong
  30. TEST_F(CLoggerTest, FmtLogHasNameInHeader) {
  31. using testing::Field;
  32. EXPECT_CALL(*appender, write(Field(&logpacket::logger, "TEST"))).Times(1);
  33. t_logger("TEST", pimpl).errorf("%d", 5);
  34. }
  35. // TODO: This is wrong
  36. TEST_F(CLoggerTest, FmtLogHasLevelInHeader) {
  37. using testing::Field;
  38. auto IsError = Field(&logpacket::level, level::error);
  39. EXPECT_CALL(*appender, write(IsError)).Times(1);
  40. t_logger("TEST", pimpl).errorf("%d", 5);
  41. }
  42. TEST_F(CLoggerTest, LogsRawData) {
  43. EXPECT_CALL(*appender, write(MessageEq("5"))).Times(1);
  44. t_logger("", pimpl).error("5");
  45. }
  46. TEST_F(CLoggerTest, DoesNotLogAboveLevel) {
  47. using testing::_;
  48. pimpl->min_log_level = level::fatal;
  49. EXPECT_CALL(*appender, write(_)).Times(0);
  50. t_logger("", pimpl).errorf("%d", 5);
  51. }
  52. TEST_F(CLoggerTest, DoesNotRawLogAboveLevel) {
  53. using testing::_;
  54. pimpl->min_log_level = level::fatal;
  55. EXPECT_CALL(*appender, write(_)).Times(0);
  56. t_logger("", pimpl).error("5");
  57. }