def test_direct_command(self): def cmd_checker1(match_list, cmd, sender): cmd_checker1.runned = True cmd_checker1.cmd = cmd ok_('1234' in match_list) def cmd_checker2(match_list, cmd, sender): cmd_checker2.runned = True cmd_checker2.cmd = cmd ok_('1234' in match_list) # Here we only test the api correctness # the integration test will be in command_server test ap = LinotArgParser('testcmd', self.parser, None) ap.add_direct_command(cmd_checker1, '[cxyz]+([0-9]+)', re.IGNORECASE) ap = LinotArgParser('testcmd2', self.parser, None) ap.add_direct_command(cmd_checker2, '[abc]+([0-9]+)', re.IGNORECASE) cmd_checker1.runned = False cmd_checker2.runned = False self.parser.process_direct_commands('1234', None) ok_(cmd_checker1.runned is False) ok_(cmd_checker2.runned is False) self.parser.process_direct_commands('xyz1234', None) ok_(cmd_checker1.runned is True) ok_(cmd_checker2.runned is False) cmd_checker1.runned = False self.parser.process_direct_commands('ab1234', None) ok_(cmd_checker1.runned is False) ok_(cmd_checker2.runned is True) cmd_checker2.runned = False self.parser.process_direct_commands('c1234', None) ok_(cmd_checker1.runned is True) ok_(cmd_checker2.runned is True) ok_(cmd_checker1.cmd == 'c1234') ok_(cmd_checker2.cmd == 'c1234')
def test_direct_command(self): def default_process(args, sender): ok_(False) # should not reach here lap = LinotArgParser('testcmd', self.parser, default_process) def cmd_checker(match_list, cmd, sender): ok_('somechannel' in match_list) ok_(len(match_list) == 1) ok_(cmd == 'www.twitch.tv/somechannel') cmd_checker.runned = True lap.add_direct_command(cmd_checker, 'twitch\.tv/(\w+)[\s\t,]*', re.IGNORECASE) cmd_checker.runned = False sender = CommandSubmitter('test', 'sender') fake_cmd = [ (sender, 'www.twitch.tv/somechannel') ] interfaces.get('test').add_command_list(fake_cmd) command_server.start(self.parser, ['test']) threading.Event().wait(.5) command_server.stop() ok_(cmd_checker.runned)