phenny/modules/test/test_hs.py

56 lines
1.6 KiB
Python

"""
test_hs.py - tests for the hokie stalker module
author: mutantmonkey <mutantmonkey@mutantmonkey.in>
"""
import re
import unittest
from mock import MagicMock, Mock
from modules.hs import search, hs
class TestHs(unittest.TestCase):
def setUp(self):
self.phenny = MagicMock()
def test_search(self):
data = search('john')
assert len(data) >= 1
self.assertIn('uid', data[0])
self.assertIn('cn', data[0])
def test_single(self):
input = Mock(group=lambda x: 'marchany')
hs(self.phenny, input)
pattern = re.compile(
'^.* - http://search\.vt\.edu/search/person\.html\?person=\d+$',
flags=re.UNICODE)
out = self.phenny.reply.call_args[0][0]
self.assertRegex(out, pattern)
def test_multi(self):
input = Mock(group=lambda x: 'john')
hs(self.phenny, input)
pattern = re.compile(
'^Multiple results found; try http://search\.vt\.edu/search/people\.html\?q=.*$',
flags=re.UNICODE)
out = self.phenny.reply.call_args[0][0]
self.assertRegex(out, pattern)
def test_2char(self):
input = Mock(group=lambda x: 'hs')
hs(self.phenny, input)
out = self.phenny.reply.call_args[0][0]
self.phenny.reply.assert_called_once_with("No results found")
def test_none(self):
input = Mock(group=lambda x: 'THIS_IS_NOT_A_REAL_SEARCH_QUERY')
hs(self.phenny, input)
out = self.phenny.reply.call_args[0][0]
self.phenny.reply.assert_called_once_with("No results found")