comparison tests/plugin-logger/main.cpp @ 350:287e9ede5eef

Tests: unbreak some
author David Demelier <markand@malikania.fr>
date Mon, 14 Nov 2016 13:11:16 +0100
parents f04acabfbbe5
children c6fbb6e0e06d
comparison
equal deleted inserted replaced
349:56475d6c1c30 350:287e9ede5eef
22 #include <gtest/gtest.h> 22 #include <gtest/gtest.h>
23 23
24 #include <irccd/irccd.hpp> 24 #include <irccd/irccd.hpp>
25 #include <irccd/logger.hpp> 25 #include <irccd/logger.hpp>
26 #include <irccd/server.hpp> 26 #include <irccd/server.hpp>
27 #include <irccd/service-plugin.hpp> 27 #include <irccd/service.hpp>
28 #include <irccd/path.hpp>
29
30 #include "plugin-tester.hpp"
28 31
29 using namespace irccd; 32 using namespace irccd;
30 33
31 class ServerTest : public Server { 34 class ServerTest : public Server {
32 public: 35 public:
34 : Server("test") 37 : Server("test")
35 { 38 {
36 } 39 }
37 }; 40 };
38 41
39 class LoggerTest : public testing::Test { 42 class LoggerTest : public PluginTester {
40 protected: 43 protected:
41 Irccd m_irccd;
42 PluginService &m_ps;
43
44 std::shared_ptr<ServerTest> m_server; 44 std::shared_ptr<ServerTest> m_server;
45 std::shared_ptr<Plugin> m_plugin; 45 std::shared_ptr<Plugin> m_plugin;
46 46
47 std::string last() const 47 std::string last() const
48 { 48 {
51 return std::string(std::istreambuf_iterator<char>(file.rdbuf()), {}); 51 return std::string(std::istreambuf_iterator<char>(file.rdbuf()), {});
52 } 52 }
53 53
54 public: 54 public:
55 LoggerTest() 55 LoggerTest()
56 : m_ps(m_irccd.plugins()) 56 : m_server(std::make_shared<ServerTest>())
57 , m_server(std::make_shared<ServerTest>())
58 { 57 {
59 remove(BINARYDIR "/log.txt"); 58 remove(BINARYDIR "/log.txt");
60 59
61 m_ps.setFormats("logger", { 60 m_irccd.plugins().setFormats("logger", {
62 { "cmode", "cmode=#{server}:#{channel}:#{origin}:#{nickname}:#{mode}:#{arg}" }, 61 { "cmode", "cmode=#{server}:#{channel}:#{origin}:#{nickname}:#{mode}:#{arg}" },
63 { "cnotice", "cnotice=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, 62 { "cnotice", "cnotice=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" },
64 { "join", "join=#{server}:#{channel}:#{origin}:#{nickname}" }, 63 { "join", "join=#{server}:#{channel}:#{origin}:#{nickname}" },
65 { "kick", "kick=#{server}:#{channel}:#{origin}:#{nickname}:#{target}:#{reason}" }, 64 { "kick", "kick=#{server}:#{channel}:#{origin}:#{nickname}:#{target}:#{reason}" },
66 { "me", "me=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, 65 { "me", "me=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" },
76 void load(PluginConfig config = PluginConfig()) 75 void load(PluginConfig config = PluginConfig())
77 { 76 {
78 if (config.count("path") == 0) 77 if (config.count("path") == 0)
79 config.emplace("path", BINARYDIR "/log.txt"); 78 config.emplace("path", BINARYDIR "/log.txt");
80 79
81 m_ps.setConfig("logger", config); 80 m_irccd.plugins().setConfig("logger", config);
82 m_ps.load("logger", PLUGINDIR "/logger.js"); 81 m_irccd.plugins().load("logger", PLUGINDIR "/logger.js");
83 m_plugin = m_ps.require("logger"); 82 m_plugin = m_irccd.plugins().require("logger");
84 } 83 }
85 }; 84 };
86 85
87 TEST_F(LoggerTest, formatChannelMode) 86 TEST_F(LoggerTest, formatChannelMode)
88 { 87 {