phenny-1/modules/test/test_lastfm.py

68 lines
2.0 KiB
Python
Raw Normal View History

2012-06-04 03:04:51 -04:00
"""
test_lastfm.py - tests for the lastfm module
author: mutantmonkey <mutantmonkey@mutantmonkey.in>
"""
import re
import unittest
from mock import MagicMock, Mock
from modules.lastfm import now_playing, tasteometer
class TestLastfm(unittest.TestCase):
user1 = 'test'
user2 = 'telnoratti'
2012-06-04 03:04:51 -04:00
def setUp(self):
self.phenny = MagicMock()
def test_now_playing(self):
input = Mock(group=lambda x: self.user1)
now_playing(self.phenny, input)
out = self.phenny.say.call_args[0][0]
m = re.match('^{0} listened to ".+" by .+ on .+ .*$'.format(self.user1), out, flags=re.UNICODE)
2012-06-04 03:04:51 -04:00
self.assertTrue(m)
def test_now_playing_sender(self):
input = Mock(group=lambda x: '')
input.nick = self.user1
now_playing(self.phenny, input)
out = self.phenny.say.call_args[0][0]
m = re.match('^{0} listened to ".+" by .+ on .+ .*$'.format(self.user1), out, flags=re.UNICODE)
2012-06-04 03:04:51 -04:00
self.assertTrue(m)
def test_tasteometer(self):
def mock_group(x):
if x == 2:
return self.user1
else:
return self.user2
input = Mock(group=mock_group)
tasteometer(self.phenny, input)
out = self.phenny.say.call_args[0][0]
m = re.match("^{0}'s and {1}'s musical compatibility rating is .*"\
" and music they have in common includes: .*$".
format(self.user1, self.user2), out, flags=re.UNICODE)
self.assertTrue(m)
def test_tasteometer_sender(self):
def mock_group(x):
if x == 2:
return self.user1
else:
return ''
input = Mock(group=mock_group)
input.nick = self.user2
tasteometer(self.phenny, input)
out = self.phenny.say.call_args[0][0]
m = re.match("^{0}'s and {1}'s musical compatibility rating is .*"\
" and music they have in common includes: .*$".
format(self.user1, self.user2), out, flags=re.UNICODE)
self.assertTrue(m)