Mercurial > irccd
comparison tests/src/libirccd/command-rule-list/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 | e8c4ba5ed1c6 |
children | 8876412ba633 |
comparison
equal
deleted
inserted
replaced
736:49b7c7660a00 | 737:190b16cfa848 |
---|---|
55 | 55 |
56 BOOST_FIXTURE_TEST_SUITE(rule_list_test_suite, rule_list_test) | 56 BOOST_FIXTURE_TEST_SUITE(rule_list_test_suite, rule_list_test) |
57 | 57 |
58 BOOST_AUTO_TEST_CASE(basic) | 58 BOOST_AUTO_TEST_CASE(basic) |
59 { | 59 { |
60 const auto result = request({ | 60 const auto [json, code] = request({{ "command", "rule-list" }}); |
61 { "command", "rule-list" } | |
62 }); | |
63 | 61 |
64 BOOST_TEST(result.first.is_object()); | 62 BOOST_TEST(!code); |
65 BOOST_TEST(result.first["list"].is_array()); | 63 BOOST_TEST(json.is_object()); |
66 BOOST_TEST(result.first["list"].size() == 2U); | 64 BOOST_TEST(json["list"].is_array()); |
65 BOOST_TEST(json["list"].size() == 2U); | |
67 | 66 |
68 // Rule 0. | 67 // Rule 0. |
69 { | 68 { |
70 auto servers = result.first["list"][0]["servers"]; | 69 auto servers = json["list"][0]["servers"]; |
71 auto channels = result.first["list"][0]["channels"]; | 70 auto channels = json["list"][0]["channels"]; |
72 auto plugins = result.first["list"][0]["plugins"]; | 71 auto plugins = json["list"][0]["plugins"]; |
73 auto events = result.first["list"][0]["events"]; | 72 auto events = json["list"][0]["events"]; |
74 | 73 |
75 BOOST_TEST(json_util::contains(servers, "s1")); | 74 BOOST_TEST(json_util::contains(servers, "s1")); |
76 BOOST_TEST(json_util::contains(servers, "s2")); | 75 BOOST_TEST(json_util::contains(servers, "s2")); |
77 BOOST_TEST(json_util::contains(channels, "c1")); | 76 BOOST_TEST(json_util::contains(channels, "c1")); |
78 BOOST_TEST(json_util::contains(channels, "c2")); | 77 BOOST_TEST(json_util::contains(channels, "c2")); |
79 BOOST_TEST(json_util::contains(plugins, "p1")); | 78 BOOST_TEST(json_util::contains(plugins, "p1")); |
80 BOOST_TEST(json_util::contains(plugins, "p2")); | 79 BOOST_TEST(json_util::contains(plugins, "p2")); |
81 BOOST_TEST(json_util::contains(events, "onMessage")); | 80 BOOST_TEST(json_util::contains(events, "onMessage")); |
82 BOOST_TEST(json_util::contains(events, "onCommand")); | 81 BOOST_TEST(json_util::contains(events, "onCommand")); |
83 BOOST_TEST(result.first["list"][0]["action"].get<std::string>() == "drop"); | 82 BOOST_TEST(json["list"][0]["action"].get<std::string>() == "drop"); |
84 } | 83 } |
85 | 84 |
86 // Rule 1. | 85 // Rule 1. |
87 { | 86 { |
88 auto servers = result.first["list"][1]["servers"]; | 87 auto servers = json["list"][1]["servers"]; |
89 auto channels = result.first["list"][1]["channels"]; | 88 auto channels = json["list"][1]["channels"]; |
90 auto plugins = result.first["list"][1]["plugins"]; | 89 auto plugins = json["list"][1]["plugins"]; |
91 auto events = result.first["list"][1]["events"]; | 90 auto events = json["list"][1]["events"]; |
92 | 91 |
93 BOOST_TEST(json_util::contains(servers, "s1")); | 92 BOOST_TEST(json_util::contains(servers, "s1")); |
94 BOOST_TEST(json_util::contains(channels, "c1")); | 93 BOOST_TEST(json_util::contains(channels, "c1")); |
95 BOOST_TEST(json_util::contains(plugins, "p1")); | 94 BOOST_TEST(json_util::contains(plugins, "p1")); |
96 BOOST_TEST(json_util::contains(events, "onMessage")); | 95 BOOST_TEST(json_util::contains(events, "onMessage")); |
97 BOOST_TEST(result.first["list"][1]["action"].get<std::string>() == "accept"); | 96 BOOST_TEST(json["list"][1]["action"].get<std::string>() == "accept"); |
98 } | 97 } |
99 } | 98 } |
100 | 99 |
101 BOOST_AUTO_TEST_CASE(empty) | 100 BOOST_AUTO_TEST_CASE(empty) |
102 { | 101 { |
103 daemon_->rules().remove(0); | 102 daemon_->rules().remove(0); |
104 daemon_->rules().remove(0); | 103 daemon_->rules().remove(0); |
105 | 104 |
106 const auto result = request({ | 105 const auto [json, code] = request({{ "command", "rule-list" }}); |
107 { "command", "rule-list" } | |
108 }); | |
109 | 106 |
110 BOOST_TEST(result.first.is_object()); | 107 BOOST_TEST(!code); |
111 BOOST_TEST(result.first["list"].is_array()); | 108 BOOST_TEST(json.is_object()); |
112 BOOST_TEST(result.first["list"].empty()); | 109 BOOST_TEST(json["list"].is_array()); |
110 BOOST_TEST(json["list"].empty()); | |
113 } | 111 } |
114 | 112 |
115 BOOST_AUTO_TEST_SUITE_END() | 113 BOOST_AUTO_TEST_SUITE_END() |
116 | 114 |
117 } // !namespace | 115 } // !namespace |