diff tests/cmd-server-nick/main.cpp @ 578:a8b892177909

Tests: add error code support in cmd-server-* tests
author David Demelier <markand@malikania.fr>
date Fri, 01 Dec 2017 21:34:21 +0100
parents f1ad428208d3
children
line wrap: on
line diff
--- a/tests/cmd-server-nick/main.cpp	Thu Nov 30 13:19:38 2017 +0100
+++ b/tests/cmd-server-nick/main.cpp	Fri Dec 01 21:34:21 2017 +0100
@@ -60,9 +60,112 @@
     });
 
     BOOST_TEST(result.is_object());
-    BOOST_TEST(result.count("error") == 0U);
+    BOOST_TEST(server_->nickname() == "chris");
+}
+
+BOOST_AUTO_TEST_SUITE(errors)
+
+BOOST_AUTO_TEST_CASE(invalid_identifier_1)
+{
+    boost::system::error_code result;
+
+    ctl_->send({
+        { "command",    "server-nick"   },
+        { "server",     123456          },
+        { "nickname",   "chris"         }
+    });
+    ctl_->recv([&] (auto code, auto) {
+        result = code;
+    });
+
+    wait_for([&] {
+        return result;
+    });
+
+    BOOST_ASSERT(result == server_error::invalid_identifier);
+}
+
+BOOST_AUTO_TEST_CASE(invalid_identifier_2)
+{
+    boost::system::error_code result;
+
+    ctl_->send({
+        { "command",    "server-nick"   },
+        { "server",     ""              },
+        { "nickname",   "chris"         }
+    });
+    ctl_->recv([&] (auto code, auto) {
+        result = code;
+    });
+
+    wait_for([&] {
+        return result;
+    });
+
+    BOOST_ASSERT(result == server_error::invalid_identifier);
+}
+
+BOOST_AUTO_TEST_CASE(invalid_nickname_1)
+{
+    boost::system::error_code result;
+
+    ctl_->send({
+        { "command",    "server-nick"   },
+        { "server",     "test"          },
+        { "nickname",   ""              }
+    });
+    ctl_->recv([&] (auto code, auto) {
+        result = code;
+    });
+
+    wait_for([&] {
+        return result;
+    });
+
+    BOOST_ASSERT(result == server_error::invalid_nickname);
+}
+
+BOOST_AUTO_TEST_CASE(invalid_nickname_2)
+{
+    boost::system::error_code result;
+
+    ctl_->send({
+        { "command",    "server-nick"   },
+        { "server",     "test"          },
+        { "nickname",   123456          }
+    });
+    ctl_->recv([&] (auto code, auto) {
+        result = code;
+    });
+
+    wait_for([&] {
+        return result;
+    });
+
+    BOOST_ASSERT(result == server_error::invalid_nickname);
+}
+BOOST_AUTO_TEST_CASE(not_found)
+{
+    boost::system::error_code result;
+
+    ctl_->send({
+        { "command",    "server-nick"   },
+        { "server",     "unknown"       },
+        { "nickname",   "chris"         }
+    });
+    ctl_->recv([&] (auto code, auto) {
+        result = code;
+    });
+
+    wait_for([&] {
+        return result;
+    });
+
+    BOOST_ASSERT(result == server_error::not_found);
 }
 
 BOOST_AUTO_TEST_SUITE_END()
 
+BOOST_AUTO_TEST_SUITE_END()
+
 } // !irccd