mirror of https://github.com/progval/irctest.git
Add BanMode tests.
This commit is contained in:
parent
51d0ce4483
commit
da9567b612
|
@ -7,6 +7,7 @@ from irctest import cases, client_mock, runner
|
|||
from irctest.irc_utils import ambiguities
|
||||
from irctest.numerics import (
|
||||
ERR_BADCHANNELKEY,
|
||||
ERR_BANNEDFROMCHAN,
|
||||
ERR_CANNOTSENDTOCHAN,
|
||||
ERR_CHANOPRIVSNEEDED,
|
||||
ERR_INVALIDMODEPARAM,
|
||||
|
@ -1038,6 +1039,49 @@ class TopicPrivileges(cases.BaseServerTestCase):
|
|||
)
|
||||
|
||||
|
||||
class BanMode(cases.BaseServerTestCase):
|
||||
@cases.mark_specifications("RFC1459", "RFC2812")
|
||||
def testBan(self):
|
||||
"""Basic ban operation"""
|
||||
self.connectClient("chanop", name="chanop")
|
||||
self.joinChannel("chanop", "#chan")
|
||||
self.getMessages("chanop")
|
||||
self.sendLine("chanop", "MODE #chan +b bar!*@*")
|
||||
self.assertMessageEqual(self.getMessage("chanop"), command="MODE")
|
||||
|
||||
self.connectClient("Bar", name="bar", capabilities=["echo-message"])
|
||||
self.getMessages("bar")
|
||||
self.sendLine("bar", "JOIN #chan")
|
||||
self.assertMessageEqual(self.getMessage("bar"), command=ERR_BANNEDFROMCHAN)
|
||||
|
||||
self.sendLine("chanop", "MODE #chan -b bar!*@*")
|
||||
self.assertMessageEqual(self.getMessage("chanop"), command="MODE")
|
||||
|
||||
self.sendLine("bar", "JOIN #chan")
|
||||
self.assertMessageEqual(self.getMessage("bar"), command="JOIN")
|
||||
|
||||
@cases.mark_specifications("Oragono")
|
||||
def testCaseInsensitive(self):
|
||||
"""Some clients allow unsetting modes if their argument matches
|
||||
up to normalization"""
|
||||
self.connectClient("chanop", name="chanop")
|
||||
self.joinChannel("chanop", "#chan")
|
||||
self.getMessages("chanop")
|
||||
self.sendLine("chanop", "MODE #chan +b BAR!*@*")
|
||||
self.assertMessageEqual(self.getMessage("chanop"), command="MODE")
|
||||
|
||||
self.connectClient("Bar", name="bar", capabilities=["echo-message"])
|
||||
self.getMessages("bar")
|
||||
self.sendLine("bar", "JOIN #chan")
|
||||
self.assertMessageEqual(self.getMessage("bar"), command=ERR_BANNEDFROMCHAN)
|
||||
|
||||
self.sendLine("chanop", "MODE #chan -b bar!*@*")
|
||||
self.assertMessageEqual(self.getMessage("chanop"), command="MODE")
|
||||
|
||||
self.sendLine("bar", "JOIN #chan")
|
||||
self.assertMessageEqual(self.getMessage("bar"), command="JOIN")
|
||||
|
||||
|
||||
class ModeratedMode(cases.BaseServerTestCase):
|
||||
@cases.mark_specifications("RFC2812")
|
||||
def testModeratedMode(self):
|
||||
|
|
Loading…
Reference in New Issue