Mercurial > irccd
comparison tests/src/libirccd/command-server-join/main.cpp @ 737:190b16cfa848
Tests: improve command tests readability
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 24 Jul 2018 23:01:00 +0200 |
parents | 64839725f346 |
children | 8876412ba633 |
comparison
equal
deleted
inserted
replaced
736:49b7c7660a00 | 737:190b16cfa848 |
---|---|
43 | 43 |
44 BOOST_FIXTURE_TEST_SUITE(server_join_test_suite, server_join_test) | 44 BOOST_FIXTURE_TEST_SUITE(server_join_test_suite, server_join_test) |
45 | 45 |
46 BOOST_AUTO_TEST_CASE(basic) | 46 BOOST_AUTO_TEST_CASE(basic) |
47 { | 47 { |
48 const auto result = request({ | 48 const auto [json, code] = request({ |
49 { "command", "server-join" }, | 49 { "command", "server-join" }, |
50 { "server", "test" }, | 50 { "server", "test" }, |
51 { "channel", "#music" }, | 51 { "channel", "#music" }, |
52 { "password", "plop" } | 52 { "password", "plop" } |
53 }); | 53 }); |
54 | 54 |
55 const auto cmd = server_->find("join").back(); | 55 const auto cmd = server_->find("join").back(); |
56 | 56 |
57 BOOST_TEST(!code); | |
57 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#music"); | 58 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#music"); |
58 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "plop"); | 59 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "plop"); |
59 } | 60 } |
60 | 61 |
61 BOOST_AUTO_TEST_CASE(nopassword) | 62 BOOST_AUTO_TEST_CASE(nopassword) |
62 { | 63 { |
63 const auto result = request({ | 64 const auto [json, code] = request({ |
64 { "command", "server-join" }, | 65 { "command", "server-join" }, |
65 { "server", "test" }, | 66 { "server", "test" }, |
66 { "channel", "#music" } | 67 { "channel", "#music" } |
67 }); | 68 }); |
68 | 69 |
69 const auto cmd = server_->find("join").back(); | 70 const auto cmd = server_->find("join").back(); |
70 | 71 |
72 BOOST_TEST(!code); | |
71 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#music"); | 73 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#music"); |
72 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == ""); | 74 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == ""); |
73 } | 75 } |
74 | 76 |
75 BOOST_AUTO_TEST_SUITE(errors) | 77 BOOST_AUTO_TEST_SUITE(errors) |
76 | 78 |
77 BOOST_AUTO_TEST_CASE(invalid_identifier_1) | 79 BOOST_AUTO_TEST_CASE(invalid_identifier_1) |
78 { | 80 { |
79 const auto result = request({ | 81 const auto [json, code] = request({ |
80 { "command", "server-join" }, | 82 { "command", "server-join" }, |
81 { "server", 123456 }, | 83 { "server", 123456 }, |
82 { "channel", "#music" } | 84 { "channel", "#music" } |
83 }); | 85 }); |
84 | 86 |
85 BOOST_TEST(result.second == server_error::invalid_identifier); | 87 BOOST_TEST(code == server_error::invalid_identifier); |
86 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); | 88 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier); |
87 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 89 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
88 } | 90 } |
89 | 91 |
90 BOOST_AUTO_TEST_CASE(invalid_identifier_2) | 92 BOOST_AUTO_TEST_CASE(invalid_identifier_2) |
91 { | 93 { |
92 const auto result = request({ | 94 const auto [json, code] = request({ |
93 { "command", "server-join" }, | 95 { "command", "server-join" }, |
94 { "server", "" }, | 96 { "server", "" }, |
95 { "channel", "#music" } | 97 { "channel", "#music" } |
96 }); | 98 }); |
97 | 99 |
98 BOOST_TEST(result.second == server_error::invalid_identifier); | 100 BOOST_TEST(code == server_error::invalid_identifier); |
99 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); | 101 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier); |
100 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 102 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
101 } | 103 } |
102 | 104 |
103 BOOST_AUTO_TEST_CASE(invalid_channel_1) | 105 BOOST_AUTO_TEST_CASE(invalid_channel_1) |
104 { | 106 { |
105 const auto result = request({ | 107 const auto [json, code] = request({ |
106 { "command", "server-join" }, | 108 { "command", "server-join" }, |
107 { "server", "test" }, | 109 { "server", "test" }, |
108 { "channel", "" } | 110 { "channel", "" } |
109 }); | 111 }); |
110 | 112 |
111 BOOST_TEST(result.second == server_error::invalid_channel); | 113 BOOST_TEST(code == server_error::invalid_channel); |
112 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); | 114 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel); |
113 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 115 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
114 } | 116 } |
115 | 117 |
116 BOOST_AUTO_TEST_CASE(invalid_channel_2) | 118 BOOST_AUTO_TEST_CASE(invalid_channel_2) |
117 { | 119 { |
118 const auto result = request({ | 120 const auto [json, code] = request({ |
119 { "command", "server-join" }, | 121 { "command", "server-join" }, |
120 { "server", "test" }, | 122 { "server", "test" }, |
121 { "channel", 123456 } | 123 { "channel", 123456 } |
122 }); | 124 }); |
123 | 125 |
124 BOOST_TEST(result.second == server_error::invalid_channel); | 126 BOOST_TEST(code == server_error::invalid_channel); |
125 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); | 127 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel); |
126 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 128 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
127 } | 129 } |
128 | 130 |
129 BOOST_AUTO_TEST_CASE(invalid_password) | 131 BOOST_AUTO_TEST_CASE(invalid_password) |
130 { | 132 { |
131 const auto result = request({ | 133 const auto [json, code] = request({ |
132 { "command", "server-join" }, | 134 { "command", "server-join" }, |
133 { "server", "test" }, | 135 { "server", "test" }, |
134 { "channel", "#staff" }, | 136 { "channel", "#staff" }, |
135 { "password", 123456 } | 137 { "password", 123456 } |
136 }); | 138 }); |
137 | 139 |
138 BOOST_TEST(result.second == server_error::invalid_password); | 140 BOOST_TEST(code == server_error::invalid_password); |
139 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_password); | 141 BOOST_TEST(json["error"].get<int>() == server_error::invalid_password); |
140 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 142 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
141 } | 143 } |
142 | 144 |
143 BOOST_AUTO_TEST_CASE(not_found) | 145 BOOST_AUTO_TEST_CASE(not_found) |
144 { | 146 { |
145 const auto result = request({ | 147 const auto [json, code] = request({ |
146 { "command", "server-join" }, | 148 { "command", "server-join" }, |
147 { "server", "unknown" }, | 149 { "server", "unknown" }, |
148 { "channel", "#music" } | 150 { "channel", "#music" } |
149 }); | 151 }); |
150 | 152 |
151 BOOST_TEST(result.second == server_error::not_found); | 153 BOOST_TEST(code == server_error::not_found); |
152 BOOST_TEST(result.first["error"].template get<int>() == server_error::not_found); | 154 BOOST_TEST(json["error"].get<int>() == server_error::not_found); |
153 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 155 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
154 } | 156 } |
155 | 157 |
156 BOOST_AUTO_TEST_SUITE_END() | 158 BOOST_AUTO_TEST_SUITE_END() |
157 | 159 |
158 BOOST_AUTO_TEST_SUITE_END() | 160 BOOST_AUTO_TEST_SUITE_END() |