Mercurial > irccd
comparison tests/src/libirccd/command-server-topic/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 | 1fa9e5222e87 |
children | 95ac3ace1610 |
comparison
equal
deleted
inserted
replaced
650:27896e9bcd9e | 651:1081e45b8628 |
---|---|
65 | 65 |
66 BOOST_AUTO_TEST_SUITE(errors) | 66 BOOST_AUTO_TEST_SUITE(errors) |
67 | 67 |
68 BOOST_AUTO_TEST_CASE(invalid_identifier_1) | 68 BOOST_AUTO_TEST_CASE(invalid_identifier_1) |
69 { | 69 { |
70 boost::system::error_code result; | 70 const auto result = request({ |
71 nlohmann::json message; | |
72 | |
73 ctl_->send({ | |
74 { "command", "server-topic" }, | 71 { "command", "server-topic" }, |
75 { "server", 123456 }, | 72 { "server", 123456 }, |
76 { "channel", "#music" }, | 73 { "channel", "#music" }, |
77 { "topic", "plop" } | 74 { "topic", "plop" } |
78 }); | 75 }); |
79 ctl_->recv([&] (auto rresult, auto rmessage) { | |
80 result = rresult; | |
81 message = rmessage; | |
82 }); | |
83 | 76 |
84 wait_for([&] { | 77 BOOST_TEST(result.second == server_error::invalid_identifier); |
85 return result; | 78 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); |
86 }); | 79 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
87 | |
88 BOOST_TEST(result == server_error::invalid_identifier); | |
89 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_identifier); | |
90 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
91 } | 80 } |
92 | 81 |
93 BOOST_AUTO_TEST_CASE(invalid_identifier_2) | 82 BOOST_AUTO_TEST_CASE(invalid_identifier_2) |
94 { | 83 { |
95 boost::system::error_code result; | 84 const auto result = request({ |
96 nlohmann::json message; | |
97 | |
98 ctl_->send({ | |
99 { "command", "server-topic" }, | 85 { "command", "server-topic" }, |
100 { "server", "" }, | 86 { "server", "" }, |
101 { "channel", "#music" }, | 87 { "channel", "#music" }, |
102 { "topic", "plop" } | 88 { "topic", "plop" } |
103 }); | 89 }); |
104 ctl_->recv([&] (auto rresult, auto rmessage) { | |
105 result = rresult; | |
106 message = rmessage; | |
107 }); | |
108 | 90 |
109 wait_for([&] { | 91 BOOST_TEST(result.second == server_error::invalid_identifier); |
110 return result; | 92 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); |
111 }); | 93 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
112 | |
113 BOOST_TEST(result == server_error::invalid_identifier); | |
114 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_identifier); | |
115 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
116 } | 94 } |
117 | 95 |
118 BOOST_AUTO_TEST_CASE(invalid_channel_1) | 96 BOOST_AUTO_TEST_CASE(invalid_channel_1) |
119 { | 97 { |
120 boost::system::error_code result; | 98 const auto result = request({ |
121 nlohmann::json message; | |
122 | |
123 ctl_->send({ | |
124 { "command", "server-topic" }, | 99 { "command", "server-topic" }, |
125 { "server", "test" }, | 100 { "server", "test" }, |
126 { "channel", "" }, | 101 { "channel", "" }, |
127 { "topic", "plop" } | 102 { "topic", "plop" } |
128 }); | 103 }); |
129 ctl_->recv([&] (auto rresult, auto rmessage) { | |
130 result = rresult; | |
131 message = rmessage; | |
132 }); | |
133 | 104 |
134 wait_for([&] { | 105 BOOST_TEST(result.second == server_error::invalid_channel); |
135 return result; | 106 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); |
136 }); | 107 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
137 | |
138 BOOST_TEST(result == server_error::invalid_channel); | |
139 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_channel); | |
140 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
141 } | 108 } |
142 | 109 |
143 BOOST_AUTO_TEST_CASE(invalid_channel_2) | 110 BOOST_AUTO_TEST_CASE(invalid_channel_2) |
144 { | 111 { |
145 boost::system::error_code result; | 112 const auto result = request({ |
146 nlohmann::json message; | |
147 | |
148 ctl_->send({ | |
149 { "command", "server-topic" }, | 113 { "command", "server-topic" }, |
150 { "server", "test" }, | 114 { "server", "test" }, |
151 { "channel", 123456 }, | 115 { "channel", 123456 }, |
152 { "topic", "plop" } | 116 { "topic", "plop" } |
153 }); | 117 }); |
154 ctl_->recv([&] (auto rresult, auto rmessage) { | |
155 result = rresult; | |
156 message = rmessage; | |
157 }); | |
158 | 118 |
159 wait_for([&] { | 119 BOOST_TEST(result.second == server_error::invalid_channel); |
160 return result; | 120 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); |
161 }); | 121 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
162 | |
163 BOOST_TEST(result == server_error::invalid_channel); | |
164 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_channel); | |
165 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
166 } | 122 } |
167 | 123 |
168 BOOST_AUTO_TEST_CASE(not_found) | 124 BOOST_AUTO_TEST_CASE(not_found) |
169 { | 125 { |
170 boost::system::error_code result; | 126 const auto result = request({ |
171 nlohmann::json message; | |
172 | |
173 ctl_->send({ | |
174 { "command", "server-topic" }, | 127 { "command", "server-topic" }, |
175 { "server", "unknown" }, | 128 { "server", "unknown" }, |
176 { "channel", "#music" }, | 129 { "channel", "#music" }, |
177 { "topic", "plop" } | 130 { "topic", "plop" } |
178 }); | 131 }); |
179 ctl_->recv([&] (auto rresult, auto rmessage) { | |
180 result = rresult; | |
181 message = rmessage; | |
182 }); | |
183 | 132 |
184 wait_for([&] { | 133 BOOST_TEST(result.second == server_error::not_found); |
185 return result; | 134 BOOST_TEST(result.first["error"].template get<int>() == server_error::not_found); |
186 }); | 135 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); |
187 | |
188 BOOST_TEST(result == server_error::not_found); | |
189 BOOST_TEST(message["error"].template get<int>() == server_error::not_found); | |
190 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server"); | |
191 } | 136 } |
192 | 137 |
193 BOOST_AUTO_TEST_SUITE_END() | 138 BOOST_AUTO_TEST_SUITE_END() |
194 | 139 |
195 BOOST_AUTO_TEST_SUITE_END() | 140 BOOST_AUTO_TEST_SUITE_END() |