AttackProtector & SupyML: rename utility functions in test cases
parent
e49f4e09b7
commit
4f159105ed
|
@ -36,20 +36,20 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Utilities
|
# Utilities
|
||||||
def _getIfSomething(self, msg):
|
def _getIfAnswerIsEqual(self, msg):
|
||||||
m = self.irc.takeMsg()
|
m = self.irc.takeMsg()
|
||||||
while m is not None:
|
while m is not None:
|
||||||
if repr(m) == repr(msg):
|
if repr(m) == repr(msg):
|
||||||
return True
|
return True
|
||||||
m = self.irc.takeMsg()
|
m = self.irc.takeMsg()
|
||||||
return False
|
return False
|
||||||
def _getIfBanned(self, banmask=None):
|
def _getIfAnswerIsThisBan(self, banmask=None):
|
||||||
if banmask is None:
|
if banmask is None:
|
||||||
banmask = self.prefix
|
banmask = self.prefix
|
||||||
return self._getIfSomething(ircmsgs.ban(self.channel, banmask))
|
return self._getIfAnswerIsEqual(ircmsgs.ban(self.channel, banmask))
|
||||||
def _getIfKicked(self, kind):
|
def _getIfAnswerIsThisKick(self, kind):
|
||||||
reason = '%s flood detected' % kind
|
reason = '%s flood detected' % kind
|
||||||
return self._getIfSomething(ircmsgs.kick(self.channel, self.nick,
|
return self._getIfAnswerIsEqual(ircmsgs.kick(self.channel, self.nick,
|
||||||
reason))
|
reason))
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
|
@ -58,12 +58,14 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
msg = ircmsgs.join(self.channel, prefix=self.prefix)
|
msg = ircmsgs.join(self.channel, prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfBanned() == False, 'No reaction to join flood.')
|
self.failIf(self._getIfAnswerIsThisBan() == False,
|
||||||
|
'No reaction to join flood.')
|
||||||
def testPunishNotNoJoinFlood(self):
|
def testPunishNotNoJoinFlood(self):
|
||||||
for i in range(1, 4):
|
for i in range(1, 4):
|
||||||
msg = ircmsgs.join(self.channel, prefix=self.prefix)
|
msg = ircmsgs.join(self.channel, prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfBanned(), 'Reaction to no join flood.')
|
self.failIf(self._getIfAnswerIsThisBan(),
|
||||||
|
'Reaction to no join flood.')
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Part tests
|
# Part tests
|
||||||
|
@ -71,12 +73,14 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
msg = ircmsgs.part(self.channel, prefix=self.prefix)
|
msg = ircmsgs.part(self.channel, prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfBanned() == False, 'No reaction to part flood.')
|
self.failIf(self._getIfAnswerIsThisBan() == False,
|
||||||
|
'No reaction to part flood.')
|
||||||
def testPunishNotNoPartFlood(self):
|
def testPunishNotNoPartFlood(self):
|
||||||
for i in range(1, 4):
|
for i in range(1, 4):
|
||||||
msg = ircmsgs.part(self.channel, prefix=self.prefix)
|
msg = ircmsgs.part(self.channel, prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfBanned(), 'Reaction to no part flood.')
|
self.failIf(self._getIfAnswerIsThisBan(),
|
||||||
|
'Reaction to no part flood.')
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Nick tests
|
# Nick tests
|
||||||
|
@ -86,7 +90,7 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.prefix = nick + '!' + self.prefix.split('!')[1]
|
self.prefix = nick + '!' + self.prefix.split('!')[1]
|
||||||
banmask = '*!' + self.prefix.split('!')[1]
|
banmask = '*!' + self.prefix.split('!')[1]
|
||||||
self.failIf(self._getIfBanned(banmask) == False,
|
self.failIf(self._getIfAnswerIsThisBan(banmask) == False,
|
||||||
'No reaction to nick flood.')
|
'No reaction to nick flood.')
|
||||||
def testPunishNotNoNickFlood(self):
|
def testPunishNotNoNickFlood(self):
|
||||||
for nick in 'ABCDEF':
|
for nick in 'ABCDEF':
|
||||||
|
@ -94,7 +98,8 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.prefix = nick + '!' + self.prefix.split('!')[1]
|
self.prefix = nick + '!' + self.prefix.split('!')[1]
|
||||||
banmask = '*!' + self.prefix.split('!')[1]
|
banmask = '*!' + self.prefix.split('!')[1]
|
||||||
self.failIf(self._getIfBanned(banmask), 'Reaction to no nick flood.')
|
self.failIf(self._getIfAnswerIsThisBan(banmask),
|
||||||
|
'Reaction to no nick flood.')
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Message tests
|
# Message tests
|
||||||
|
@ -103,28 +108,28 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
||||||
prefix=self.prefix)
|
prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfKicked('message') == False,
|
self.failIf(self._getIfAnswerIsThisKick('message') == False,
|
||||||
'No reaction to privmsg flood.')
|
'No reaction to privmsg flood.')
|
||||||
def testPunishNoticeFlood(self):
|
def testPunishNoticeFlood(self):
|
||||||
for i in range(1, 11):
|
for i in range(1, 11):
|
||||||
msg = ircmsgs.notice(self.channel, 'Hi, this is a flood',
|
msg = ircmsgs.notice(self.channel, 'Hi, this is a flood',
|
||||||
prefix=self.prefix)
|
prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfKicked('message') == False,
|
self.failIf(self._getIfAnswerIsThisKick('message') == False,
|
||||||
'No reaction to notice flood.')
|
'No reaction to notice flood.')
|
||||||
def testPunishNotNoMessageFlood(self):
|
def testPunishNotNoMessageFlood(self):
|
||||||
for i in range(1, 10):
|
for i in range(1, 10):
|
||||||
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
||||||
prefix=self.prefix)
|
prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfKicked('message'),
|
self.failIf(self._getIfAnswerIsThisKick('message'),
|
||||||
'Reaction to no privmsg flood.')
|
'Reaction to no privmsg flood.')
|
||||||
def testPunishNotNoNoticeFlood(self):
|
def testPunishNotNoNoticeFlood(self):
|
||||||
for i in range(1, 10):
|
for i in range(1, 10):
|
||||||
msg = ircmsgs.notice(self.channel, 'Hi, this is a flood',
|
msg = ircmsgs.notice(self.channel, 'Hi, this is a flood',
|
||||||
prefix=self.prefix)
|
prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfKicked('message'),
|
self.failIf(self._getIfAnswerIsThisKick('message'),
|
||||||
'Reaction to no notice flood.')
|
'Reaction to no notice flood.')
|
||||||
def testPunishNoticeFlood(self):
|
def testPunishNoticeFlood(self):
|
||||||
for i in range(1, 6):
|
for i in range(1, 6):
|
||||||
|
@ -134,7 +139,7 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
msg = ircmsgs.privmsg(self.channel, 'Hi, this is a flood',
|
||||||
prefix=self.prefix)
|
prefix=self.prefix)
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
self.failIf(self._getIfKicked('message') == False,
|
self.failIf(self._getIfAnswerIsThisKick('message') == False,
|
||||||
'No reaction to both notice and privmsg flood.')
|
'No reaction to both notice and privmsg flood.')
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
|
@ -144,15 +149,16 @@ class AttackProtectorTestCase(ChannelPluginTestCase):
|
||||||
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
||||||
time.sleep(6)
|
time.sleep(6)
|
||||||
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
||||||
self.failIf(self._getIfBanned(), 'Doesn\'t clean the join collection.')
|
self.failIf(self._getIfAnswerIsThisBan(),
|
||||||
|
'Doesn\'t clean the join collection.')
|
||||||
|
|
||||||
def testDontCleanCollectionToEarly(self):
|
def testDontCleanCollectionToEarly(self):
|
||||||
for i in range(1, 4):
|
for i in range(1, 4):
|
||||||
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix))
|
||||||
self.failIf(self._getIfBanned() == False, 'Cleans the collection '
|
self.failIf(self._getIfAnswerIsThisBan() == False,
|
||||||
'before it should be cleaned')
|
'Cleans the collection before it should be cleaned')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ class SupyMLTestCase(ChannelPluginTestCase):
|
||||||
plugins = ('SupyML', 'Utilities')
|
plugins = ('SupyML', 'Utilities')
|
||||||
#################################
|
#################################
|
||||||
# Utilities
|
# Utilities
|
||||||
def _getIfSomething(self, msg):
|
def _getIfAnswerIsEqual(self, msg):
|
||||||
m = self.irc.takeMsg()
|
m = self.irc.takeMsg()
|
||||||
while m is not None:
|
while m is not None:
|
||||||
if repr(m) == repr(msg):
|
if repr(m) == repr(msg):
|
||||||
|
@ -52,7 +52,7 @@ class SupyMLTestCase(ChannelPluginTestCase):
|
||||||
self.irc.feedMsg(msg)
|
self.irc.feedMsg(msg)
|
||||||
answer = ircmsgs.IrcMsg(prefix="", command="PRIVMSG",
|
answer = ircmsgs.IrcMsg(prefix="", command="PRIVMSG",
|
||||||
args=('ProgVal', 'test wants me to tell you: foo'))
|
args=('ProgVal', 'test wants me to tell you: foo'))
|
||||||
self.failIf(self._getIfSomething(answer) == False)
|
self.failIf(self._getIfAnswerIsEqual(answer) == False)
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
||||||
|
|
Loading…
Reference in New Issue