예제 #1
0
    def testClearLogfile(self):
        self.logger.logLine('SUCCES','Some logline 1')
        self.logger.close()
        self.logger = EventLogger(self._eventLogFile, maxLogLines=4)
        self.logger.logLine('SUCCES','Some logline 2')
        self.logger.logLine('SUCCES','Some logline 3')
        self.logger.logLine('SUCCES','Some logline 4')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 5')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 6')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 5', logfile.readline().strip()[DATELENGTH:])
예제 #2
0
    def testClearLogfile(self):
        self.logger.logLine('SUCCES','Some logline 1')
        self.logger.close()
        self.logger = EventLogger(self._eventLogFile, maxLogLines=4)
        self.logger.logLine('SUCCES','Some logline 2')
        self.logger.logLine('SUCCES','Some logline 3')
        self.logger.logLine('SUCCES','Some logline 4')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 5')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 6')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 5', logfile.readline().strip()[DATELENGTH:])
예제 #3
0
 def setUp(self):
     super(EventLoggerTest, self).setUp()
     self._eventLogFile = self.tmp_path/'EventLoggerTestFile'
     self.logger = EventLogger(self._eventLogFile)
     self.logfile = open(self._eventLogFile, 'r+')
예제 #4
0
class EventLoggerTest(SeecrTestCase):
    def setUp(self):
        super(EventLoggerTest, self).setUp()
        self._eventLogFile = self.tmp_path/'EventLoggerTestFile'
        self.logger = EventLogger(self._eventLogFile)
        self.logfile = open(self._eventLogFile, 'r+')

    def tearDown(self):
        super(EventLoggerTest, self).tearDown()
        self.logfile.close()
        self.logger.close()

    def readLogLine(self):
        line = self.logfile.readline().strip()
        #[2005-08-24 14:08:14] SUCCES   [] Comments
        match = LOGLINE_RE.match(line)
        return match.groups()

    def testLogLine(self):
        self.logger.logLine('SUCCES','Some logline')
        date,event,id,logtext = self.readLogLine()
        #Something like [2005-08-24 14:08:14]
        self.assertTrue(re.match(r'^\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}.\d{3}$',date))
        self.logger.logLine('1234567890', 'comment')
        self.logger.logLine('1', 'Even more comments')
        self.logger.logLine('1 3 5 7', 'Even\r \nmore\n\r\n comments')
        self.logger.logLine('2', 'aab', id='123')
        self.logger.logLine('3', 'bbbccc', id='uu_1234')
        self.logger.logLine('error\terr', 'bbb\tddd', id='uu_234')
        self.assertEqual('1234567890\t[]\tcomment', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('1\t[]\tEven more comments', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('1 3 5 7\t[]\tEven more comments', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('2\t[123]\taab', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('3\t[uu_1234]\tbbbccc', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('error err\t[uu_234]\tbbb ddd', self.logfile.readline().strip()[DATELENGTH:])

    def testSucces(self):
        self.logger.logSuccess('really succesful')
        self.logger.logSuccess('really succesful','aa')
        date,event,id,logtext = self.readLogLine()
        self.assertEqual('', id)
        self.assertEqual('SUCCES', event)
        self.assertEqual('really succesful',logtext)
        self.assertEqual('SUCCES\t[aa]\treally succesful', self.logfile.readline().strip()[DATELENGTH:])

    def testFailure(self):
        self.logger.logFailure()
        self.logger.logFailure('uh oh','11')
        self.logger.logFailure('comm','id')
        self.assertEqual('FAILURE\t[]\t', self.logfile.readline()[DATELENGTH:-1])
        self.assertEqual('FAILURE\t[11]\tuh oh', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('FAILURE\t[id]\tcomm', self.logfile.readline().strip()[DATELENGTH:])

    def testError(self):
        self.logger.logError()
        self.logger.logError('uh oh','11')
        self.logger.logError('comm','id')
        self.assertEqual('ERROR\t[]\t', self.logfile.readline()[DATELENGTH:-1])
        self.assertEqual('ERROR\t[11]\tuh oh', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEqual('ERROR\t[id]\tcomm', self.logfile.readline().strip()[DATELENGTH:])

    def testTestStreamLog(self):
        stream = StringIO()
        logger = StreamEventLogger(stream)
        logger.logLine('BLA','something')
        logger.logError('this should not happen.')
        lines = []
        stream.seek(0)
        for line in stream:
            lines.append(line.strip()[DATELENGTH:])
        self.assertEqual(['BLA\t[]\tsomething','ERROR\t[]\tthis should not happen.'],lines)

    def testLogNone(self):
        stream = StringIO()
        logger = StreamEventLogger(stream)
        logger.logError(None)
        logger.logLine(None, None)
        lines = []
        stream.seek(0)
        for line in stream:
            lines.append(line[DATELENGTH:])
        self.assertEqual(['ERROR\t[]\tNone\n', 'None\t[]\tNone\n'],lines)

    def compositLogger(self):
        stream1 = StringIO()
        stream2 = StringIO()
        log1 = StreamEventLogger(stream1)
        log2 = StreamEventLogger(stream2)
        comp = CompositeLogger([
                (['*'], log1),
                (['ERROR'], log2)
            ])
        return stream1, stream2, comp

    def testCompositeLogger(self):
        stream1, stream2, comp = self.compositLogger()
        comp.logInfo('info', 'id')
        self.assertEqual('', stream2.getvalue())
        self.assertEqual('INFO\t[id]\tinfo\n', stream1.getvalue()[DATELENGTH:])

    def testCompositeLogger2(self):
        stream1, stream2, comp = self.compositLogger()
        comp.logError('error', 'id')
        self.assertEqual('ERROR\t[id]\terror\n', stream1.getvalue()[DATELENGTH:])
        self.assertEqual('ERROR\t[id]\terror\n', stream2.getvalue()[DATELENGTH:])

    def testClearLogfile(self):
        self.logger.logLine('SUCCES','Some logline 1')
        self.logger.close()
        self.logger = EventLogger(self._eventLogFile, maxLogLines=4)
        self.logger.logLine('SUCCES','Some logline 2')
        self.logger.logLine('SUCCES','Some logline 3')
        self.logger.logLine('SUCCES','Some logline 4')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 5')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 6')
        with open(self._eventLogFile,'r+') as logfile:
            self.assertEqual('SUCCES\t[]\tSome logline 5', logfile.readline().strip()[DATELENGTH:])
예제 #5
0
 def setUp(self):
     super(EventLoggerTest, self).setUp()
     self._eventLogFile = join(self.tempdir, 'EventLoggerTestFile')
     self.logger = EventLogger(self._eventLogFile)
     self.logfile = open(self._eventLogFile, 'r+')
예제 #6
0
class EventLoggerTest(SeecrTestCase):
    def setUp(self):
        super(EventLoggerTest, self).setUp()
        self._eventLogFile = join(self.tempdir, 'EventLoggerTestFile')
        self.logger = EventLogger(self._eventLogFile)
        self.logfile = open(self._eventLogFile, 'r+')

    def tearDown(self):
        super(EventLoggerTest, self).tearDown()
        self.logfile.close()
        self.logger.close()

    def readLogLine(self):
        line = self.logfile.readline().strip()
        #[2005-08-24 14:08:14] SUCCES   [] Comments
        match = LOGLINE_RE.match(line)
        return match.groups()

    def testLogLine(self):
        self.logger.logLine('SUCCES','Some logline')
        date,event,id,logtext = self.readLogLine()
        #Something like [2005-08-24 14:08:14]
        self.assert_(re.match(r'^\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}.\d{3}$',date))
        self.logger.logLine('1234567890', 'comment')
        self.logger.logLine('1', 'Even more comments')
        self.logger.logLine('1 3 5 7', 'Even\r \nmore\n\r\n comments')
        self.logger.logLine('2', 'aab', id='123')
        self.logger.logLine('3', 'bbbccc', id='uu_1234')
        self.logger.logLine('error\terr', 'bbb\tddd', id='uu_234')
        self.assertEquals('1234567890\t[]\tcomment', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('1\t[]\tEven more comments', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('1 3 5 7\t[]\tEven more comments', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('2\t[123]\taab', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('3\t[uu_1234]\tbbbccc', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('error err\t[uu_234]\tbbb ddd', self.logfile.readline().strip()[DATELENGTH:])

    def testSucces(self):
        self.logger.logSuccess('really succesful')
        self.logger.logSuccess('really succesful','aa')
        date,event,id,logtext = self.readLogLine()
        self.assertEquals('', id)
        self.assertEquals('SUCCES', event)
        self.assertEquals('really succesful',logtext)
        self.assertEquals('SUCCES\t[aa]\treally succesful', self.logfile.readline().strip()[DATELENGTH:])

    def testFailure(self):
        self.logger.logFailure()
        self.logger.logFailure('uh oh','11')
        self.logger.logFailure('comm','id')
        self.assertEquals('FAILURE\t[]\t', self.logfile.readline()[DATELENGTH:-1])
        self.assertEquals('FAILURE\t[11]\tuh oh', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('FAILURE\t[id]\tcomm', self.logfile.readline().strip()[DATELENGTH:])

    def testError(self):
        self.logger.logError()
        self.logger.logError('uh oh','11')
        self.logger.logError('comm','id')
        self.assertEquals('ERROR\t[]\t', self.logfile.readline()[DATELENGTH:-1])
        self.assertEquals('ERROR\t[11]\tuh oh', self.logfile.readline().strip()[DATELENGTH:])
        self.assertEquals('ERROR\t[id]\tcomm', self.logfile.readline().strip()[DATELENGTH:])

    def testTestStreamLog(self):
        stream = StringIO()
        logger = StreamEventLogger(stream)
        logger.logLine('BLA','something')
        logger.logError('this should not happen.')
        lines = []
        stream.seek(0)
        for line in stream:
            lines.append(line.strip()[DATELENGTH:])
        self.assertEquals(['BLA\t[]\tsomething','ERROR\t[]\tthis should not happen.'],lines)

    def testLogNone(self):
        stream = StringIO()
        logger = StreamEventLogger(stream)
        logger.logError(None)
        logger.logLine(None, None)
        lines = []
        stream.seek(0)
        for line in stream:
            lines.append(line[DATELENGTH:])
        self.assertEquals(['ERROR\t[]\tNone\n', 'None\t[]\tNone\n'],lines)

    def compositLogger(self):
        stream1 = StringIO()
        stream2 = StringIO()
        log1 = StreamEventLogger(stream1)
        log2 = StreamEventLogger(stream2)
        comp = CompositeLogger([
                (['*'], log1),
                (['ERROR'], log2)
            ])
        return stream1, stream2, comp

    def testCompositeLogger(self):
        stream1, stream2, comp = self.compositLogger()
        comp.logInfo('info', 'id')
        self.assertEquals('', stream2.getvalue())
        self.assertEquals('INFO\t[id]\tinfo\n', stream1.getvalue()[DATELENGTH:])

    def testCompositeLogger2(self):
        stream1, stream2, comp = self.compositLogger()
        comp.logError('error', 'id')
        self.assertEquals('ERROR\t[id]\terror\n', stream1.getvalue()[DATELENGTH:])
        self.assertEquals('ERROR\t[id]\terror\n', stream2.getvalue()[DATELENGTH:])

    def testClearLogfile(self):
        self.logger.logLine('SUCCES','Some logline 1')
        self.logger.close()
        self.logger = EventLogger(self._eventLogFile, maxLogLines=4)
        self.logger.logLine('SUCCES','Some logline 2')
        self.logger.logLine('SUCCES','Some logline 3')
        self.logger.logLine('SUCCES','Some logline 4')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 5')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 3', logfile.readline().strip()[DATELENGTH:])

        self.logger.logLine('SUCCES','Some logline 6')
        logfile = open(self._eventLogFile,'r+')
        self.assertEquals('SUCCES\t[]\tSome logline 5', logfile.readline().strip()[DATELENGTH:])
예제 #7
0
 def setUp(self):
     os.path.isfile(EVENTLOGFILE) and os.remove(EVENTLOGFILE)
     self.logger = EventLogger(EVENTLOGFILE)
     self.logfile = open(EVENTLOGFILE,'r+')