def test_parse_supybot_log(self): """Test whether it parses a log""" # Empty lines and empty comment lines are ignored messages = Supybot.parse_supybot_log( os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data/supybot/supybot_valid.log')) messages = [m for m in messages] self.assertEqual(len(messages), 97) msg = messages[1] self.assertEqual(msg['timestamp'], '2012-10-17T09:16:29+0000') self.assertEqual(msg['type'], SupybotParser.TCOMMENT) self.assertEqual(msg['nick'], 'benpol') self.assertEqual(msg['body'], "they're related to fragmentation?") msg = messages[-2] self.assertEqual(msg['timestamp'], '2012-10-17T23:42:10+0000') self.assertEqual(msg['type'], SupybotParser.TCOMMENT) self.assertEqual(msg['nick'], 'supy-bot') self.assertEqual(msg['body'], "[backend] Fix bug #23: invalid timestamp") msg = messages[-1] self.assertEqual(msg['timestamp'], '2012-10-17T23:42:26+0000') self.assertEqual(msg['type'], SupybotParser.TCOMMENT) self.assertEqual(msg['nick'], 'gregaf') self.assertEqual( msg['body'], "but I may be wrong or debugging at the wrong level...")
def test_parse_supybot_without_tz_log(self): """Test whether it parses a log without timezone information""" # Empty lines and empty comment lines are ignored messages = Supybot.parse_supybot_log( os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data/supybot/supybot_date_without_tz.log')) messages = [m for m in messages] self.assertEqual(len(messages), 3) msg = messages[0] self.assertEqual(msg['timestamp'], '2021-01-12T11:28:19') self.assertEqual(msg['type'], SupybotParser.TSERVER) self.assertEqual(msg['nick'], 'grimoire_bot') self.assertEqual( msg['body'], "grimoire_bot <[email protected]> has joined #rit-foss" ) msg = messages[1] self.assertEqual(msg['timestamp'], '2021-01-12T11:29:41') self.assertEqual(msg['type'], SupybotParser.TCOMMENT) self.assertEqual(msg['nick'], 'nolski') self.assertEqual(msg['body'], "test") msg = messages[-1] self.assertEqual(msg['timestamp'], '2021-01-12T11:29:41') self.assertEqual(msg['type'], SupybotParser.TCOMMENT) self.assertEqual(msg['nick'], 'xbot1313') self.assertEqual(msg['body'], "Test Case Passed!")
def test_parse_supybot_invalid_log(self): """Test whether it raises an exception when the log is invalid""" with self.assertRaises(ParseError): messages = Supybot.parse_supybot_log(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data/supybot/supybot_invalid_msg.log')) _ = [message for message in messages]
def test_parse_supybot_invalid_log(self): """Test whether it raises an exception when the log is invalid""" with self.assertRaises(ParseError): messages = Supybot.parse_supybot_log( 'data/supybot_invalid_msg.log') _ = [message for message in messages]