add some basic but incomplete bot.py tests
parent
38aa84c8ba
commit
31afd9cae5
|
@ -0,0 +1,82 @@
|
||||||
|
"""
|
||||||
|
Tests for phenny's bot.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
# add current working directory to path
|
||||||
|
import sys
|
||||||
|
sys.path.append('.')
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
from mock import call, patch, Mock
|
||||||
|
|
||||||
|
import bot
|
||||||
|
|
||||||
|
|
||||||
|
class BotTest(unittest.TestCase):
|
||||||
|
@patch('bot.Phenny.setup')
|
||||||
|
def setUp(self, mock_setup):
|
||||||
|
class MockConfig(object):
|
||||||
|
nick = 'phenny'
|
||||||
|
password = 'nickserv_pass'
|
||||||
|
name = 'Phenny'
|
||||||
|
host = 'irc.example.com'
|
||||||
|
port = 6667
|
||||||
|
ssl = False
|
||||||
|
ipv6 = True
|
||||||
|
channels = ['#phenny']
|
||||||
|
owner = 'phenny_owner'
|
||||||
|
admins = [owner, 'phenny_admin']
|
||||||
|
prefix = '.'
|
||||||
|
|
||||||
|
self.bot = bot.Phenny(MockConfig)
|
||||||
|
|
||||||
|
def test_input(self):
|
||||||
|
class MockOrigin(object):
|
||||||
|
nick = 'sock_puppet'
|
||||||
|
sender = '#phenny'
|
||||||
|
|
||||||
|
origin = MockOrigin()
|
||||||
|
text = "Are you ready for phenny?"
|
||||||
|
match = Mock()
|
||||||
|
event = "PRIVMSG"
|
||||||
|
args = ('#phenny', )
|
||||||
|
cmdinput = self.bot.input(origin, text, text, match, event, args)
|
||||||
|
|
||||||
|
self.assertEqual(cmdinput.sender, origin.sender)
|
||||||
|
self.assertEqual(cmdinput.nick, origin.nick)
|
||||||
|
self.assertEqual(cmdinput.event, event)
|
||||||
|
self.assertEqual(cmdinput.bytes, text)
|
||||||
|
self.assertEqual(cmdinput.match, match)
|
||||||
|
self.assertEqual(cmdinput.group, match.group)
|
||||||
|
self.assertEqual(cmdinput.groups, match.groups)
|
||||||
|
self.assertEqual(cmdinput.args, args)
|
||||||
|
self.assertEqual(cmdinput.admin, False)
|
||||||
|
self.assertEqual(cmdinput.owner, False)
|
||||||
|
|
||||||
|
def test_owner(self):
|
||||||
|
class MockOrigin(object):
|
||||||
|
nick = 'phenny_owner'
|
||||||
|
sender = '#phenny'
|
||||||
|
|
||||||
|
origin = MockOrigin()
|
||||||
|
text = "Are you ready for phenny?"
|
||||||
|
match = Mock()
|
||||||
|
event = "PRIVMSG"
|
||||||
|
args = ('#phenny', )
|
||||||
|
cmdinput = self.bot.input(origin, text, text, match, event, args)
|
||||||
|
|
||||||
|
self.assertEqual(cmdinput.owner, True)
|
||||||
|
|
||||||
|
def test_admin(self):
|
||||||
|
class MockOrigin(object):
|
||||||
|
nick = 'phenny_admin'
|
||||||
|
sender = '#phenny'
|
||||||
|
|
||||||
|
origin = MockOrigin()
|
||||||
|
text = "Are you ready for phenny?"
|
||||||
|
match = Mock()
|
||||||
|
event = "PRIVMSG"
|
||||||
|
args = ('#phenny', )
|
||||||
|
cmdinput = self.bot.input(origin, text, text, match, event, args)
|
||||||
|
|
||||||
|
self.assertEqual(cmdinput.admin, True)
|
Loading…
Reference in New Issue