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]
Exemple #4
0
    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]