Mercurial > irccd
comparison tests/src/libirccd/command-server-invite/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_invite_test_suite, server_invite_test) | 44 BOOST_FIXTURE_TEST_SUITE(server_invite_test_suite, server_invite_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-invite" }, | 49 { "command", "server-invite" }, |
50 { "server", "test" }, | 50 { "server", "test" }, |
51 { "target", "francis" }, | 51 { "target", "francis" }, |
52 { "channel", "#music" } | 52 { "channel", "#music" } |
53 }); | 53 }); |
54 | 54 |
55 const auto cmd = server_->find("invite").back(); | 55 const auto cmd = server_->find("invite").back(); |
56 | 56 |
57 BOOST_TEST(!code); | |
57 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "francis"); | 58 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "francis"); |
58 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "#music"); | 59 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "#music"); |
59 } | 60 } |
60 | 61 |
61 BOOST_AUTO_TEST_SUITE(errors) | 62 BOOST_AUTO_TEST_SUITE(errors) |
62 | 63 |
63 BOOST_AUTO_TEST_CASE(invalid_identifier_1) | 64 BOOST_AUTO_TEST_CASE(invalid_identifier_1) |
64 { | 65 { |
65 const auto result = request({ | 66 const auto [json, code] = request({ |
66 { "command", "server-invite" }, | 67 { "command", "server-invite" }, |
67 { "server", 123456 }, | 68 { "server", 123456 }, |
68 { "target", "francis" }, | 69 { "target", "francis" }, |
69 { "channel", "#music" } | 70 { "channel", "#music" } |
70 }); | 71 }); |
71 | 72 |
72 BOOST_TEST(result.second == server_error::invalid_identifier); | 73 BOOST_TEST(code == server_error::invalid_identifier); |
73 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); | 74 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier); |
74 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 75 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
75 } | 76 } |
76 | 77 |
77 BOOST_AUTO_TEST_CASE(invalid_identifier_2) | 78 BOOST_AUTO_TEST_CASE(invalid_identifier_2) |
78 { | 79 { |
79 const auto result = request({ | 80 const auto [json, code] = request({ |
80 { "command", "server-invite" }, | 81 { "command", "server-invite" }, |
81 { "server", "" }, | 82 { "server", "" }, |
82 { "target", "francis" }, | 83 { "target", "francis" }, |
83 { "channel", "#music" } | 84 { "channel", "#music" } |
84 }); | 85 }); |
85 | 86 |
86 BOOST_TEST(result.second == server_error::invalid_identifier); | 87 BOOST_TEST(code == server_error::invalid_identifier); |
87 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier); | 88 BOOST_TEST(json["error"].get<int>() == server_error::invalid_identifier); |
88 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 89 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
89 } | 90 } |
90 | 91 |
91 BOOST_AUTO_TEST_CASE(invalid_nickname_1) | 92 BOOST_AUTO_TEST_CASE(invalid_nickname_1) |
92 { | 93 { |
93 const auto result = request({ | 94 const auto [json, code] = request({ |
94 { "command", "server-invite" }, | 95 { "command", "server-invite" }, |
95 { "server", "test" }, | 96 { "server", "test" }, |
96 { "target", "" }, | 97 { "target", "" }, |
97 { "channel", "#music" } | 98 { "channel", "#music" } |
98 }); | 99 }); |
99 | 100 |
100 BOOST_TEST(result.second == server_error::invalid_nickname); | 101 BOOST_TEST(code == server_error::invalid_nickname); |
101 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_nickname); | 102 BOOST_TEST(json["error"].get<int>() == server_error::invalid_nickname); |
102 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 103 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
103 } | 104 } |
104 | 105 |
105 BOOST_AUTO_TEST_CASE(invalid_nickname_2) | 106 BOOST_AUTO_TEST_CASE(invalid_nickname_2) |
106 { | 107 { |
107 const auto result = request({ | 108 const auto [json, code] = request({ |
108 { "command", "server-invite" }, | 109 { "command", "server-invite" }, |
109 { "server", "test" }, | 110 { "server", "test" }, |
110 { "target", 123456 }, | 111 { "target", 123456 }, |
111 { "channel", "#music" } | 112 { "channel", "#music" } |
112 }); | 113 }); |
113 | 114 |
114 BOOST_TEST(result.second == server_error::invalid_nickname); | 115 BOOST_TEST(code == server_error::invalid_nickname); |
115 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_nickname); | 116 BOOST_TEST(json["error"].get<int>() == server_error::invalid_nickname); |
116 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 117 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
117 } | 118 } |
118 | 119 |
119 BOOST_AUTO_TEST_CASE(invalid_channel_1) | 120 BOOST_AUTO_TEST_CASE(invalid_channel_1) |
120 { | 121 { |
121 const auto result = request({ | 122 const auto [json, code] = request({ |
122 { "command", "server-invite" }, | 123 { "command", "server-invite" }, |
123 { "server", "test" }, | 124 { "server", "test" }, |
124 { "target", "jean" }, | 125 { "target", "jean" }, |
125 { "channel", "" } | 126 { "channel", "" } |
126 }); | 127 }); |
127 | 128 |
128 BOOST_TEST(result.second == server_error::invalid_channel); | 129 BOOST_TEST(code == server_error::invalid_channel); |
129 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); | 130 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel); |
130 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 131 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
131 } | 132 } |
132 | 133 |
133 BOOST_AUTO_TEST_CASE(invalid_channel_2) | 134 BOOST_AUTO_TEST_CASE(invalid_channel_2) |
134 { | 135 { |
135 const auto result = request({ | 136 const auto [json, code] = request({ |
136 { "command", "server-invite" }, | 137 { "command", "server-invite" }, |
137 { "server", "test" }, | 138 { "server", "test" }, |
138 { "target", "jean" }, | 139 { "target", "jean" }, |
139 { "channel", 123456 } | 140 { "channel", 123456 } |
140 }); | 141 }); |
141 | 142 |
142 BOOST_TEST(result.second == server_error::invalid_channel); | 143 BOOST_TEST(code == server_error::invalid_channel); |
143 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel); | 144 BOOST_TEST(json["error"].get<int>() == server_error::invalid_channel); |
144 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 145 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
145 } | 146 } |
146 | 147 |
147 BOOST_AUTO_TEST_CASE(not_found) | 148 BOOST_AUTO_TEST_CASE(not_found) |
148 { | 149 { |
149 const auto result = request({ | 150 const auto [json, code] = request({ |
150 { "command", "server-invite" }, | 151 { "command", "server-invite" }, |
151 { "server", "unknown" }, | 152 { "server", "unknown" }, |
152 { "target", "francis" }, | 153 { "target", "francis" }, |
153 { "channel", "#music" } | 154 { "channel", "#music" } |
154 }); | 155 }); |
155 | 156 |
156 BOOST_TEST(result.second == server_error::not_found); | 157 BOOST_TEST(code == server_error::not_found); |
157 BOOST_TEST(result.first["error"].template get<int>() == server_error::not_found); | 158 BOOST_TEST(json["error"].get<int>() == server_error::not_found); |
158 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server"); | 159 BOOST_TEST(json["errorCategory"].get<std::string>() == "server"); |
159 } | 160 } |
160 | 161 |
161 BOOST_AUTO_TEST_SUITE_END() | 162 BOOST_AUTO_TEST_SUITE_END() |
162 | 163 |
163 BOOST_AUTO_TEST_SUITE_END() | 164 BOOST_AUTO_TEST_SUITE_END() |