# Path: cardinal/bot.py
# USER_REGEX = re.compile(r'^(.*?)!(.*?)@(.*?)$')
# UNLOCKED = 'unlocked'
# LOCKED = 'locked'
#     MINIMUM_RECONNECTION_WAIT = 10
#     MAXIMUM_RECONNECTION_WAIT = 300
# class CardinalBot(irc.IRCClient, object):
# class CardinalBotFactory(protocol.ClientFactory):
# class ChannelManager:
# class Channel:
#     def network(self):
#     def network(self, value):
#     def nickname(self):
#     def nickname(self, value):
#     def password(self):
#     def password(self, value):
#     def username(self):
#     def username(self, value):
#     def realname(self):
#     def realname(self, value):
#     def storage_path(self):
#     def __init__(self):
#     def signedOn(self):
#     def isupport(self, options):
#     def joined(self, channel):
#     def irc_RPL_CHANNELMODEIS(self, prefix, params):
#     def left(self, channel):
#     def kickedFrom(self, channel):
#     def lineReceived(self, line):
#     def irc_PRIVMSG(self, prefix, params):
#     def irc_NOTICE(self, prefix, params):
#     def irc_NICK(self, prefix, params):
#     def irc_TOPIC(self, prefix, params):
#     def irc_MODE(self, prefix, params):
#     def irc_JOIN(self, prefix, params):
#     def irc_PART(self, prefix, params):
#     def irc_KICK(self, prefix, params):
#     def irc_QUIT(self, prefix, params):
#     def irc_RPL_WHOREPLY(self, prefix, params):
#     def irc_RPL_ENDOFWHO(self, prefix, params):
#     def irc_INVITE(self, prefix, params):
#     def who(self, channel):
#     def config(self, plugin):
#     def sendMsg(self, channel, message, length=None):
#     def send(self, message):
#     def disconnect(self, message=''):
#     def disconnected(self):
#     def get_db(self, name, network_specific=True, default=None):
#         def db():
#     def get_user_tuple(string):
#     def reactor(self):
#     def __init__(self,
#                  network,
#                  server_password,
#                  server_commands,
#                  channels,
#                  nickname,
#                  password,
#                  username,
#                  realname,
#                  plugins,
#                  blacklist,
#                  storage):
#     def _sigint(self, signal, frame):
#     def clientConnectionLost(self, connector, reason):
#     def clientConnectionFailed(self, connector, reason):
#     def __init__(self, chanmodes, param_modes):
#     def __len__(self):
#     def __getitem__(self, key):
#     def __iter__(self):
#     def add(self, name):
#     def remove(self, name):
#     def set_modes(self, channel, modes, args):
#     def __init__(self, name):
#     def allows_color(self):
# 
# Path: plugins/help/plugin.py
# class HelpPlugin:
#     def _get_admins(self, cardinal):
#     def _get_commands(self, cardinal):
#     def _get_command_help(self, cardinal, help_command):
#     def _get_meta(self, cardinal):
#     def _pretty_uptime(self, seconds):
#     def cmd_help(self, cardinal, user, channel, msg):
#     def cmd_info(self, cardinal, user, channel, msg):


from datetime import datetime, timedelta
from mock import Mock, PropertyMock, call, patch
from cardinal.bot import CardinalBot, user_info
from plugins.help import plugin




class TestHelpPlugin:
    def setup_method(self, method):
        self.mock_cardinal = Mock(spec=CardinalBot)
        self.plugin = plugin.HelpPlugin()


# Path: cardinal/bot.py
# USER_REGEX = re.compile(r'^(.*?)!(.*?)@(.*?)$')
# UNLOCKED = 'unlocked'
# LOCKED = 'locked'
#     MINIMUM_RECONNECTION_WAIT = 10
#     MAXIMUM_RECONNECTION_WAIT = 300
# class CardinalBot(irc.IRCClient, object):
# class CardinalBotFactory(protocol.ClientFactory):
# class ChannelManager:
# class Channel:
#     def network(self):
#     def network(self, value):
#     def nickname(self):
#     def nickname(self, value):
#     def password(self):
#     def password(self, value):
#     def username(self):
#     def username(self, value):
#     def realname(self):
#     def realname(self, value):
#     def storage_path(self):
#     def __init__(self):
#     def signedOn(self):
#     def isupport(self, options):
#     def joined(self, channel):
#     def irc_RPL_CHANNELMODEIS(self, prefix, params):
#     def left(self, channel):
#     def kickedFrom(self, channel):
#     def lineReceived(self, line):
#     def irc_PRIVMSG(self, prefix, params):
#     def irc_NOTICE(self, prefix, params):
#     def irc_NICK(self, prefix, params):
#     def irc_TOPIC(self, prefix, params):
#     def irc_MODE(self, prefix, params):
#     def irc_JOIN(self, prefix, params):
#     def irc_PART(self, prefix, params):
#     def irc_KICK(self, prefix, params):
#     def irc_QUIT(self, prefix, params):
#     def irc_RPL_WHOREPLY(self, prefix, params):
#     def irc_RPL_ENDOFWHO(self, prefix, params):
#     def irc_INVITE(self, prefix, params):
#     def who(self, channel):
#     def config(self, plugin):
#     def sendMsg(self, channel, message, length=None):
#     def send(self, message):
#     def disconnect(self, message=''):
#     def disconnected(self):
#     def get_db(self, name, network_specific=True, default=None):
#         def db():
#     def get_user_tuple(string):
#     def reactor(self):
#     def __init__(self,
#                  network,
#                  server_password,
#                  server_commands,
#                  channels,
#                  nickname,
#                  password,
#                  username,
#                  realname,
#                  plugins,
#                  blacklist,
#                  storage):
#     def _sigint(self, signal, frame):
#     def clientConnectionLost(self, connector, reason):
#     def clientConnectionFailed(self, connector, reason):
#     def __init__(self, chanmodes, param_modes):
#     def __len__(self):
#     def __getitem__(self, key):
#     def __iter__(self):
#     def add(self, name):
#     def remove(self, name):
#     def set_modes(self, channel, modes, args):
#     def __init__(self, name):
#     def allows_color(self):
# 
# Path: plugins/help/plugin.py
# class HelpPlugin:
#     def _get_admins(self, cardinal):
#     def _get_commands(self, cardinal):
#     def _get_command_help(self, cardinal, help_command):
#     def _get_meta(self, cardinal):
#     def _pretty_uptime(self, seconds):
#     def cmd_help(self, cardinal, user, channel, msg):
#     def cmd_info(self, cardinal, user, channel, msg):


# Path: plugins/help/test_plugin.py
from datetime import datetime, timedelta
from mock import Mock, PropertyMock, call, patch
from cardinal.bot import CardinalBot, user_info
from plugins.help import plugin





class TestHelpPlugin:
    def setup_method(self, method):
        self.mock_cardinal = Mock(spec=CardinalBot)
        self.plugin = plugin.HelpPlugin()


    @patch.object(plugin, 'datetime')