Mercurial > irccd
comparison tests/src/libirccd/command-server-disconnect/main.cpp @ 651:1081e45b8628
Tests: use command_test::request helper, closes #784 @1h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Mar 2018 20:12:02 +0200 |
parents | c07819d1d306 |
children | e8c4ba5ed1c6 |
comparison
equal
deleted
inserted
replaced
650:27896e9bcd9e | 651:1081e45b8628 |
---|---|
52 | 52 |
53 BOOST_FIXTURE_TEST_SUITE(server_disconnect_test_suite, server_disconnect_test) | 53 BOOST_FIXTURE_TEST_SUITE(server_disconnect_test_suite, server_disconnect_test) |
54 | 54 |
55 BOOST_AUTO_TEST_CASE(one) | 55 BOOST_AUTO_TEST_CASE(one) |
56 { | 56 { |
57 nlohmann::json result; | 57 const auto result = request({ |
58 | |
59 ctl_->send({ | |
60 { "command", "server-disconnect" }, | 58 { "command", "server-disconnect" }, |
61 { "server", "s1" } | 59 { "server", "s1" } |
62 }); | 60 }); |
63 ctl_->recv([&] (auto, auto msg) { | |
64 result = msg; | |
65 }); | |
66 | 61 |
67 wait_for([&] () { | 62 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); |
68 return result.is_object(); | |
69 }); | |
70 | |
71 BOOST_TEST(result["command"].get<std::string>() == "server-disconnect"); | |
72 BOOST_TEST(!daemon_->servers().has("s1")); | 63 BOOST_TEST(!daemon_->servers().has("s1")); |
73 BOOST_TEST(daemon_->servers().has("s2")); | 64 BOOST_TEST(daemon_->servers().has("s2")); |
74 } | 65 } |
75 | 66 |
76 BOOST_AUTO_TEST_CASE(all) | 67 BOOST_AUTO_TEST_CASE(all) |
77 { | 68 { |
78 nlohmann::json result; | 69 const auto result = request({ |
79 | 70 { "command", "server-disconnect" } |
80 ctl_->send({{"command", "server-disconnect"}}); | |
81 ctl_->recv([&] (auto, auto msg) { | |
82 result = msg; | |
83 }); | 71 }); |
84 | 72 |
85 wait_for([&] () { | 73 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); |
86 return result.is_object(); | |
87 }); | |
88 | |
89 BOOST_TEST(result["command"].get<std::string>() == "server-disconnect"); | |
90 BOOST_TEST(!daemon_->servers().has("s1")); | 74 BOOST_TEST(!daemon_->servers().has("s1")); |
91 BOOST_TEST(!daemon_->servers().has("s2")); | 75 BOOST_TEST(!daemon_->servers().has("s2")); |
92 } | 76 } |
93 | 77 |
94 BOOST_AUTO_TEST_SUITE(errors) | 78 BOOST_AUTO_TEST_SUITE(errors) |
95 | 79 |
96 BOOST_AUTO_TEST_CASE(invalid_identifier) | 80 BOOST_AUTO_TEST_CASE(invalid_identifier) |
97 { | 81 { |
98 boost::system::error_code result; | 82 const auto result = request({ |
99 nlohmann::json message; | |
100 | |
101 ctl_->send({ | |
102 { "command", "server-disconnect" }, | 83 { "command", "server-disconnect" }, |
103 { "server", 123456 } | 84 { "server", 123456 } |
104 }); | 85 }); |
105 ctl_->recv([&] (auto rresult, auto rmessage) { | |
106 result = rresult; | |
107 message = rmessage; | |
108 }); | |
109 | 86 |
110 wait_for([&] { | 87 BOOST_TEST(result.second == server_error::invalid_identifier); |
111 return result; | 88 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); |
112 }); | 89 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
113 | |
114 BOOST_TEST(result == server_error::invalid_identifier); | |
115 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_identifier); | |
116 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
117 } | 90 } |
118 | 91 |
119 BOOST_AUTO_TEST_CASE(not_found) | 92 BOOST_AUTO_TEST_CASE(not_found) |
120 { | 93 { |
121 boost::system::error_code result; | 94 const auto result = request({ |
122 nlohmann::json message; | |
123 | |
124 ctl_->send({ | |
125 { "command", "server-disconnect" }, | 95 { "command", "server-disconnect" }, |
126 { "server", "unknown" } | 96 { "server", "unknown" } |
127 }); | 97 }); |
128 ctl_->recv([&] (auto rresult, auto rmessage) { | |
129 result = rresult; | |
130 message = rmessage; | |
131 }); | |
132 | 98 |
133 wait_for([&] { | 99 BOOST_TEST(result.second == server_error::not_found); |
134 return result; | 100 BOOST_TEST(result.first["error"].template get<int>() == server_error::not_found); |
135 }); | 101 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
136 | |
137 BOOST_TEST(result == server_error::not_found); | |
138 BOOST_TEST(message["error"].template get<int>() == server_error::not_found); | |
139 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
140 } | 102 } |
141 | 103 |
142 BOOST_AUTO_TEST_SUITE_END() | 104 BOOST_AUTO_TEST_SUITE_END() |
143 | 105 |
144 BOOST_AUTO_TEST_SUITE_END() | 106 BOOST_AUTO_TEST_SUITE_END() |