annotate tests/src/libirccd/command-server-kick/main.cpp @ 757:97b356010785

Irccd: create (command|jsapi)::registry Make two list of constructor functions to initialize all command and all Javascript modules to avoid duplicating efforts in case of change. While here, update test fixtures to load all of them for simplicity.
author David Demelier <markand@malikania.fr>
date Mon, 06 Aug 2018 21:27:00 +0200
parents c216d148558d
children 35c1517d705d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test server-kick remote command
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 624
diff changeset
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
19 #define BOOST_TEST_MODULE "server-kick"
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
20 #include <boost/test/unit_test.hpp>
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
21
757
97b356010785 Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents: 754
diff changeset
22 #include <irccd/test/command_fixture.hpp>
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
757
97b356010785 Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents: 754
diff changeset
24 namespace irccd::test {
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 namespace {
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
757
97b356010785 Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents: 754
diff changeset
28 BOOST_FIXTURE_TEST_SUITE(server_kick_fixture_suite, command_fixture)
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
30 BOOST_AUTO_TEST_CASE(basic)
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
31 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
32 const auto [json, code] = request({
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
33 { "command", "server-kick" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
34 { "server", "test" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
35 { "target", "francis" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
36 { "channel", "#staff" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
37 { "reason", "too noisy" }
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
38 });
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
735
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
40 const auto cmd = server_->find("kick").back();
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
41
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
42 BOOST_TEST(!code);
735
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
43 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "#staff");
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
44 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "francis");
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
45 BOOST_TEST(std::any_cast<std::string>(cmd[2]) == "too noisy");
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 }
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
48 BOOST_AUTO_TEST_CASE(noreason)
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
50 const auto [json, code] = request({
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
51 { "command", "server-kick" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
52 { "server", "test" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
53 { "target", "francis" },
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
54 { "channel", "#staff" }
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
55 });
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
735
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
57 const auto cmd = server_->find("kick").back();
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
59 BOOST_TEST(!code);
735
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
60 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "#staff");
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
61 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "francis");
64839725f346 Tests: replace journal_server with mock_server
David Demelier <markand@malikania.fr>
parents: 733
diff changeset
62 BOOST_TEST(std::any_cast<std::string>(cmd[2]) == "");
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 }
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
65 BOOST_AUTO_TEST_SUITE(errors)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
66
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
67 BOOST_AUTO_TEST_CASE(invalid_identifier_1)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
68 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
69 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
70 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
71 { "server", 123456 },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
72 { "target", "francis" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
73 { "channel", "#music" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
74 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
75
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
76 BOOST_TEST(code == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
77 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
78 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
79 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
80
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
81 BOOST_AUTO_TEST_CASE(invalid_identifier_2)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
82 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
83 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
84 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
85 { "server", "" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
86 { "target", "francis" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
87 { "channel", "#music" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
88 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
89
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
90 BOOST_TEST(code == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
91 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
92 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
93 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
94
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
95 BOOST_AUTO_TEST_CASE(invalid_nickname_1)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
96 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
97 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
98 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
99 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
100 { "target", "" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
101 { "channel", "#music" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
102 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
103
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
104 BOOST_TEST(code == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
105 BOOST_TEST(json["error"].get<int>() == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
106 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
107 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
108
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
109 BOOST_AUTO_TEST_CASE(invalid_nickname_2)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
110 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
111 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
112 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
113 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
114 { "target", 123456 },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
115 { "channel", "#music" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
116 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
117
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
118 BOOST_TEST(code == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
119 BOOST_TEST(json["error"].get<int>() == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
120 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
121 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
122
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
123 BOOST_AUTO_TEST_CASE(invalid_channel_1)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
124 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
125 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
126 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
127 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
128 { "target", "jean" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
129 { "channel", "" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
130 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
131
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
132 BOOST_TEST(code == server_error::invalid_channel);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
133 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
134 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
135 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
136
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
137 BOOST_AUTO_TEST_CASE(invalid_channel_2)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
138 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
139 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
140 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
141 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
142 { "target", "jean" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
143 { "channel", 123456 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
144 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
145
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
146 BOOST_TEST(code == server_error::invalid_channel);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
147 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
148 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
149 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
150
650
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
151 BOOST_AUTO_TEST_CASE(invalid_message)
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
152 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
153 const auto [json, code] = request({
650
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
154 { "command", "server-kick" },
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
155 { "server", "test" },
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
156 { "target", "jean" },
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
157 { "channel", "#staff" },
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
158 { "reason", 123456 }
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
159 });
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
160
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
161 BOOST_TEST(code == server_error::invalid_message);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
162 BOOST_TEST(json["error"].get<int>() == server_error::invalid_message);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
163 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
650
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
164 }
27896e9bcd9e Tests: add invalid code checks
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
165
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
166 BOOST_AUTO_TEST_CASE(not_found)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
167 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
168 const auto [json, code] = request({
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
169 { "command", "server-kick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
170 { "server", "unknown" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
171 { "target", "francis" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
172 { "channel", "#music" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
173 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
174
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
175 BOOST_TEST(code == server_error::not_found);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
176 BOOST_TEST(json["error"].get<int>() == server_error::not_found);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
177 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
178 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
179
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
180 BOOST_AUTO_TEST_SUITE_END()
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
181
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
182 BOOST_AUTO_TEST_SUITE_END()
308
02b86903157f Tests: add test for server-kick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
183
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 670
diff changeset
184 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 670
diff changeset
185
757
97b356010785 Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents: 754
diff changeset
186 } // !irccd::test