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()