comparison tests/cmd-server-join/main.cpp @ 578:a8b892177909

Tests: add error code support in cmd-server-* tests
author David Demelier <markand@malikania.fr>
date Fri, 01 Dec 2017 21:34:21 +0100
parents f1ad428208d3
children
comparison
equal deleted inserted replaced
577:3d0dbc0bee7d 578:a8b892177909
79 BOOST_TEST(cmd["command"].get<std::string>() == "join"); 79 BOOST_TEST(cmd["command"].get<std::string>() == "join");
80 BOOST_TEST(cmd["channel"].get<std::string>() == "#music"); 80 BOOST_TEST(cmd["channel"].get<std::string>() == "#music");
81 BOOST_TEST(cmd["password"].get<std::string>() == ""); 81 BOOST_TEST(cmd["password"].get<std::string>() == "");
82 } 82 }
83 83
84 BOOST_AUTO_TEST_SUITE(errors)
85
86 BOOST_AUTO_TEST_CASE(invalid_identifier_1)
87 {
88 boost::system::error_code result;
89
90 ctl_->send({
91 { "command", "server-join" },
92 { "server", 123456 },
93 { "channel", "#music" }
94 });
95 ctl_->recv([&] (auto code, auto) {
96 result = code;
97 });
98
99 wait_for([&] {
100 return result;
101 });
102
103 BOOST_ASSERT(result == server_error::invalid_identifier);
104 }
105
106 BOOST_AUTO_TEST_CASE(invalid_identifier_2)
107 {
108 boost::system::error_code result;
109
110 ctl_->send({
111 { "command", "server-join" },
112 { "server", "" },
113 { "channel", "#music" }
114 });
115 ctl_->recv([&] (auto code, auto) {
116 result = code;
117 });
118
119 wait_for([&] {
120 return result;
121 });
122
123 BOOST_ASSERT(result == server_error::invalid_identifier);
124 }
125
126 BOOST_AUTO_TEST_CASE(invalid_channel_1)
127 {
128 boost::system::error_code result;
129
130 ctl_->send({
131 { "command", "server-join" },
132 { "server", "test" },
133 { "channel", "" }
134 });
135 ctl_->recv([&] (auto code, auto) {
136 result = code;
137 });
138
139 wait_for([&] {
140 return result;
141 });
142
143 BOOST_ASSERT(result == server_error::invalid_channel);
144 }
145
146 BOOST_AUTO_TEST_CASE(invalid_channel_2)
147 {
148 boost::system::error_code result;
149
150 ctl_->send({
151 { "command", "server-join" },
152 { "server", "test" },
153 { "channel", 123456 }
154 });
155 ctl_->recv([&] (auto code, auto) {
156 result = code;
157 });
158
159 wait_for([&] {
160 return result;
161 });
162
163 BOOST_ASSERT(result == server_error::invalid_channel);
164 }
165
166 BOOST_AUTO_TEST_CASE(not_found)
167 {
168 boost::system::error_code result;
169
170 ctl_->send({
171 { "command", "server-join" },
172 { "server", "unknown" },
173 { "channel", "#music" }
174 });
175 ctl_->recv([&] (auto code, auto) {
176 result = code;
177 });
178
179 wait_for([&] {
180 return result;
181 });
182
183 BOOST_ASSERT(result == server_error::not_found);
184 }
185
186 BOOST_AUTO_TEST_SUITE_END()
187
84 BOOST_AUTO_TEST_SUITE_END() 188 BOOST_AUTO_TEST_SUITE_END()
85 189
86 } // !irccd 190 } // !irccd