diff tests/src/libirccd/command-plugin-info/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 9d13aabfd63a
children 199f36d4edc8
line wrap: on
line diff
--- a/tests/src/libirccd/command-plugin-info/main.cpp	Tue Jul 24 22:14:00 2018 +0200
+++ b/tests/src/libirccd/command-plugin-info/main.cpp	Tue Jul 24 23:01:00 2018 +0200
@@ -65,45 +65,43 @@
 
 BOOST_AUTO_TEST_CASE(basic)
 {
-    auto plg = std::make_unique<sample_plugin>();
-    auto response = nlohmann::json();
+    daemon_->plugins().add(std::make_unique<sample_plugin>());
 
-    daemon_->plugins().add(std::move(plg));
-
-    const auto result = request({
+    const auto [json, code] = request({
         { "command",    "plugin-info"       },
         { "plugin",     "test"              },
     });
 
-    BOOST_TEST(result.first["author"].get<std::string>() == "Francis Beaugrand");
-    BOOST_TEST(result.first["license"].get<std::string>() == "GPL");
-    BOOST_TEST(result.first["summary"].get<std::string>() == "Completely useless plugin");
-    BOOST_TEST(result.first["version"].get<std::string>() == "0.0.0.0.0.0.0.0.1-beta5");
+    BOOST_TEST(!code);
+    BOOST_TEST(json["author"].get<std::string>() == "Francis Beaugrand");
+    BOOST_TEST(json["license"].get<std::string>() == "GPL");
+    BOOST_TEST(json["summary"].get<std::string>() == "Completely useless plugin");
+    BOOST_TEST(json["version"].get<std::string>() == "0.0.0.0.0.0.0.0.1-beta5");
 }
 
 BOOST_AUTO_TEST_SUITE(errors)
 
 BOOST_AUTO_TEST_CASE(invalid_identifier)
 {
-    const auto result = request({
+    const auto [json, code] = request({
         { "command",    "plugin-info"   }
     });
 
-    BOOST_TEST(result.second == plugin_error::invalid_identifier);
-    BOOST_TEST(result.first["error"].template get<int>() == plugin_error::invalid_identifier);
-    BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin");
+    BOOST_TEST(code == plugin_error::invalid_identifier);
+    BOOST_TEST(json["error"].get<int>() == plugin_error::invalid_identifier);
+    BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
 }
 
 BOOST_AUTO_TEST_CASE(not_found)
 {
-    const auto result = request({
+    const auto [json, code] = request({
         { "command",    "plugin-info"   },
         { "plugin",     "unknown"       }
     });
 
-    BOOST_TEST(result.second == plugin_error::not_found);
-    BOOST_TEST(result.first["error"].template get<int>() == plugin_error::not_found);
-    BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin");
+    BOOST_TEST(code == plugin_error::not_found);
+    BOOST_TEST(json["error"].get<int>() == plugin_error::not_found);
+    BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
 }
 
 BOOST_AUTO_TEST_SUITE_END()