annotate tests/src/libirccd/command-server-nick/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
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test server-nick remote command
b7ad1b65104c Tests: add test for server-nick, #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>
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
b7ad1b65104c Tests: add test for server-nick, #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-nick"
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>
301
b7ad1b65104c Tests: add test for server-nick, #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 {
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 namespace {
b7ad1b65104c Tests: add test for server-nick, #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_nick_fixture_suite, command_fixture)
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
29
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-nick" },
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 { "nickname", "chris" }
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
36 });
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
38 BOOST_TEST(!code);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
39 BOOST_TEST(json.is_object());
646
e4227aa185c2 Irccd: style (server) #782
David Demelier <markand@malikania.fr>
parents: 631
diff changeset
40 BOOST_TEST(server_->get_nickname() == "chris");
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
41 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
42
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
43 BOOST_AUTO_TEST_SUITE(errors)
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
44
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
45 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
46 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
47 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
48 { "command", "server-nick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
49 { "server", 123456 },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
50 { "nickname", "chris" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
51 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
52
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
53 BOOST_TEST(code == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
54 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
55 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
56 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
57
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
58 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
59 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
60 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
61 { "command", "server-nick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
62 { "server", "" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
63 { "nickname", "chris" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
64 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
65
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
66 BOOST_TEST(code == server_error::invalid_identifier);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
67 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
68 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
69 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
70
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
71 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
72 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
73 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
74 { "command", "server-nick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
75 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
76 { "nickname", "" }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
77 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
78
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
79 BOOST_TEST(code == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
80 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
81 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
82 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
83
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
84 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
85 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
86 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
87 { "command", "server-nick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
88 { "server", "test" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
89 { "nickname", 123456 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
90 });
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
91
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
92 BOOST_TEST(code == server_error::invalid_nickname);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
93 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
94 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
95 }
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
96 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
97 {
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
98 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
99 { "command", "server-nick" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
100 { "server", "unknown" },
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
101 { "nickname", "chris" }
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::not_found);
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 735
diff changeset
105 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
106 BOOST_TEST(json["errorCategory"].get<std::string>() == "server");
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 }
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
558
f1ad428208d3 Tests: convert cmd-server-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
109 BOOST_AUTO_TEST_SUITE_END()
301
b7ad1b65104c Tests: add test for server-nick, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
110
578
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
111 BOOST_AUTO_TEST_SUITE_END()
a8b892177909 Tests: add error code support in cmd-server-* tests
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
112
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 651
diff changeset
113 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 651
diff changeset
114
757
97b356010785 Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents: 754
diff changeset
115 } // !irccd::test