3
0
mirror of https://github.com/jlu5/PyLink.git synced 2025-01-11 12:42:34 +01:00

classes: Drop FakeIRC, FakeProto

This commit is contained in:
James Lu 2016-07-28 22:03:44 -07:00
parent 87c558537f
commit f45cb3a583

View File

@ -1346,74 +1346,3 @@ class Protocol():
"""
prefixsearch = re.search(r'\(([A-Za-z]+)\)(.*)', args)
return dict(zip(prefixsearch.group(1), prefixsearch.group(2)))
### FakeIRC classes, used for test cases
class FakeIRC(Irc):
"""Fake IRC object used for unit tests."""
def connect(self):
self.messages = []
self.hookargs = []
self.hookmsgs = []
self.socket = None
self.initVars()
self.connected = threading.Event()
self.connected.set()
def run(self, data):
"""Queues a message to the fake IRC server."""
log.debug('<- ' + data)
hook_args = self.proto.handle_events(data)
if hook_args is not None:
self.hookmsgs.append(hook_args)
self.callHooks(hook_args)
def send(self, data):
self.messages.append(data)
log.debug('-> ' + data)
def takeMsgs(self):
"""Returns a list of messages sent by the protocol module since
the last takeMsgs() call, so we can track what has been sent."""
msgs = self.messages
self.messages = []
return msgs
def takeCommands(self, msgs):
"""Returns a list of commands parsed from the output of takeMsgs()."""
sidprefix = ':' + self.sid
commands = []
for m in msgs:
args = m.split()
if m.startswith(sidprefix):
commands.append(args[1])
else:
commands.append(args[0])
return commands
def takeHooks(self):
"""Returns a list of hook arguments sent by the protocol module since
the last takeHooks() call."""
hookmsgs = self.hookmsgs
self.hookmsgs = []
return hookmsgs
class FakeProto(Protocol):
"""Dummy protocol module for testing purposes."""
def handle_events(self, data):
pass
def connect(self):
pass
def spawnClient(self, nick, *args, **kwargs):
uid = str(randint(1, 10000000000))
ts = int(time.time())
self.irc.users[uid] = user = IrcUser(nick, ts, uid)
return user
def join(self, client, channel):
self.irc.channels[channel].users.add(client)
self.irc.users[client].channels.add(channel)
FakeProto.Class = FakeProto