From 60e24d34a6798262e307266a6b9dd6905a5d8894 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 2 Jan 2019 09:57:01 -0500 Subject: [PATCH] add regression tests --- irctest/server_tests/test_regressions.py | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 irctest/server_tests/test_regressions.py diff --git a/irctest/server_tests/test_regressions.py b/irctest/server_tests/test_regressions.py new file mode 100644 index 0000000..f0ca2e9 --- /dev/null +++ b/irctest/server_tests/test_regressions.py @@ -0,0 +1,27 @@ +""" +Regression tests for bugs in oragono. +""" + +from irctest import cases + +class RegressionsTestCase(cases.BaseServerTestCase): + + @cases.SpecificationSelector.requiredBySpecification('RFC1459') + def testFailedNickChange(self): + # see oragono commit d0ded906d4ac8f + self.connectClient('alice') + self.connectClient('bob') + + # bob tries to change to an in-use nickname; this MUST fail + self.sendLine(2, 'NICK alice') + ms = self.getMessages(2) + self.assertEqual(len(ms), 1) + self.assertMessageEqual(ms[0], command='433') # ERR_NICKNAMEINUSE + + # bob MUST still own the bob nick, and be able to receive PRIVMSG as bob + self.sendLine(1, 'PRIVMSG bob hi') + ms = self.getMessages(1) + self.assertEqual(len(ms), 0) + ms = self.getMessages(2) + self.assertEqual(len(ms), 1) + self.assertMessageEqual(ms[0], command='PRIVMSG', params=['bob', 'hi'])