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:])
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:])
def setUp(self): super(EventLoggerTest, self).setUp() self._eventLogFile = self.tmp_path/'EventLoggerTestFile' self.logger = EventLogger(self._eventLogFile) self.logfile = open(self._eventLogFile, 'r+')
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:])
def setUp(self): super(EventLoggerTest, self).setUp() self._eventLogFile = join(self.tempdir, 'EventLoggerTestFile') self.logger = EventLogger(self._eventLogFile) self.logfile = open(self._eventLogFile, 'r+')
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:])
def setUp(self): os.path.isfile(EVENTLOGFILE) and os.remove(EVENTLOGFILE) self.logger = EventLogger(EVENTLOGFILE) self.logfile = open(EVENTLOGFILE,'r+')