From f67cb5ae95d46231d9c93666bc31f351fe3d3644 Mon Sep 17 00:00:00 2001 From: Jonathan Lange Date: Thu, 13 Dec 2012 15:28:12 +0000 Subject: Give up on MementoHandler, just test LogHandler instead. --- lib/fixtures/__init__.py | 4 ++-- lib/fixtures/_fixtures/__init__.py | 4 ++-- lib/fixtures/_fixtures/logger.py | 1 + lib/fixtures/tests/_fixtures/test_logger.py | 31 +++++++++++++++-------------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/lib/fixtures/__init__.py b/lib/fixtures/__init__.py index 46f2139..5863c52 100644 --- a/lib/fixtures/__init__.py +++ b/lib/fixtures/__init__.py @@ -46,7 +46,7 @@ __all__ = [ 'Fixture', 'FunctionFixture', 'LoggerFixture', - 'MementoLogger', + 'LogHandler', 'MethodFixture', 'MonkeyPatch', 'NestedTempfile', @@ -73,7 +73,7 @@ from fixtures._fixtures import ( FakeLogger, FakePopen, LoggerFixture, - MementoLogger, + LogHandler, MonkeyPatch, NestedTempfile, PackagePathEntry, diff --git a/lib/fixtures/_fixtures/__init__.py b/lib/fixtures/_fixtures/__init__.py index da2a70b..b61b010 100644 --- a/lib/fixtures/_fixtures/__init__.py +++ b/lib/fixtures/_fixtures/__init__.py @@ -22,7 +22,7 @@ __all__ = [ 'FakeLogger', 'FakePopen', 'LoggerFixture', - 'MementoLogger', + 'LogHandler', 'MonkeyPatch', 'NestedTempfile', 'PackagePathEntry', @@ -43,7 +43,7 @@ from fixtures._fixtures.environ import ( from fixtures._fixtures.logger import ( FakeLogger, LoggerFixture, - MementoLogger, + LogHandler, ) from fixtures._fixtures.monkeypatch import MonkeyPatch from fixtures._fixtures.popen import ( diff --git a/lib/fixtures/_fixtures/logger.py b/lib/fixtures/_fixtures/logger.py index 2b60205..f3ba844 100644 --- a/lib/fixtures/_fixtures/logger.py +++ b/lib/fixtures/_fixtures/logger.py @@ -24,6 +24,7 @@ from fixtures import Fixture __all__ = [ 'FakeLogger', 'LoggerFixture', + 'LogHandler', ] diff --git a/lib/fixtures/tests/_fixtures/test_logger.py b/lib/fixtures/tests/_fixtures/test_logger.py index 361a377..d464d5c 100644 --- a/lib/fixtures/tests/_fixtures/test_logger.py +++ b/lib/fixtures/tests/_fixtures/test_logger.py @@ -16,16 +16,11 @@ import logging from testtools import TestCase -from testtools.matchers import ( - ContainsDict, - Equals, - MatchesListwise, - ) from cStringIO import StringIO from fixtures import ( FakeLogger, - MementoLogger, + LogHandler, TestWithFixtures, ) from fixtures._fixtures.logger import MementoHandler @@ -123,10 +118,20 @@ class TestMementoHandler(TestCase): self.assertIsInstance(handler, logging.Handler) -class MementoLoggerTest(TestCase, TestWithFixtures): +class LogHandlerTest(TestCase, TestWithFixtures): + + class CustomHandler(logging.Handler): + + def __init__(self, *args, **kwargs): + """Create the instance, and add a records attribute.""" + logging.Handler.__init__(self, *args, **kwargs) + self.msgs = [] + + def emit(self, record): + self.msgs.append(record.msg) def setUp(self): - super(MementoLoggerTest, self).setUp() + super(LogHandlerTest, self).setUp() self.logger = logging.getLogger() self.addCleanup(self.removeHandlers, self.logger) @@ -134,11 +139,7 @@ class MementoLoggerTest(TestCase, TestWithFixtures): for handler in logger.handlers: logger.removeHandler(handler) - def test_get_records_has_records(self): - fixture = self.useFixture(MementoLogger()) + def test_captures_logging(self): + fixture = self.useFixture(LogHandler(self.CustomHandler())) logging.info("some message") - self.assertThat( - fixture.get_records(), - MatchesListwise( - [ContainsDict({'msg': Equals("some message"), - 'levelname': Equals('INFO')})])) + self.assertEqual(["some message"], fixture.handler.msgs) -- cgit v1.2.1