comparison tests/src/libirccd/command-server-notice/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-notice" }, 71 { "command", "server-notice" },
75 { "server", 123456 }, 72 { "server", 123456 },
76 { "target", "#music" }, 73 { "target", "#music" },
77 { "message", "quiet!" } 74 { "message", "quiet!" }
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-notice" }, 85 { "command", "server-notice" },
100 { "server", "" }, 86 { "server", "" },
101 { "target", "#music" }, 87 { "target", "#music" },
102 { "message", "quiet!" } 88 { "message", "quiet!" }
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-notice" }, 99 { "command", "server-notice" },
125 { "server", "test" }, 100 { "server", "test" },
126 { "target", "" }, 101 { "target", "" },
127 { "message", "quiet!" } 102 { "message", "quiet!" }
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-notice" }, 113 { "command", "server-notice" },
150 { "server", "test" }, 114 { "server", "test" },
151 { "target", 123456 }, 115 { "target", 123456 },
152 { "message", "quiet!" } 116 { "message", "quiet!" }
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-notice" }, 127 { "command", "server-notice" },
175 { "server", "unknown" }, 128 { "server", "unknown" },
176 { "target", "#music" }, 129 { "target", "#music" },
177 { "message", "quiet!" } 130 { "message", "quiet!" }
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()