From 9497bc72a9867f5a6dbc9a7c75d802ffb90745e9 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 13 Feb 2019 19:01:47 -0500 Subject: [PATCH] basic whois test --- irctest/server_tests/test_user_commands.py | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/irctest/server_tests/test_user_commands.py b/irctest/server_tests/test_user_commands.py index c9bc668..063ef87 100644 --- a/irctest/server_tests/test_user_commands.py +++ b/irctest/server_tests/test_user_commands.py @@ -5,8 +5,36 @@ User commands as specified in Section 3.6 of RFC 2812: from irctest import cases +RPL_WHOISUSER = '311' RPL_WHOISCHANNELS = '319' +class WhoisTestCase(cases.BaseServerTestCase): + + @cases.SpecificationSelector.requiredBySpecification('RFC2812') + def testWhoisUser(self): + """Test basic WHOIS behavior""" + nick = 'myCoolNickname' + username = 'myCoolUsername' + realname = 'My Real Name' + self.addClient() + self.sendLine(1, f'NICK {nick}') + self.sendLine(1, f'USER {username} 0 * :{realname}') + self.skipToWelcome(1) + + self.connectClient('otherNickname') + self.getMessages(2) + self.sendLine(2, 'WHOIS mycoolnickname') + messages = self.getMessages(2) + whois_user = messages[0] + self.assertEqual(whois_user.command, RPL_WHOISUSER) + # " * :" + self.assertEqual(whois_user.params[1], nick) + self.assertEqual(whois_user.params[2], '~' + username) + # dumb regression test for oragono/oragono#355: + self.assertNotIn(whois_user.params[3], [nick, username, '~' + username, realname]) + self.assertEqual(whois_user.params[5], realname) + + class InvisibleTestCase(cases.BaseServerTestCase): @cases.SpecificationSelector.requiredBySpecification('Oragono')