summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Lange <jml@canonical.com>2012-12-13 15:28:12 +0000
committerJonathan Lange <jml@canonical.com>2012-12-13 15:28:12 +0000
commitf67cb5ae95d46231d9c93666bc31f351fe3d3644 (patch)
tree2d6066f745dfcfc50c83d824ab459d2fcbf26182
parent98dd5d5c6559056670575cf2a6e171e2869597ef (diff)
downloadfixtures-f67cb5ae95d46231d9c93666bc31f351fe3d3644.tar.gz
Give up on MementoHandler, just test LogHandler instead.
-rw-r--r--lib/fixtures/__init__.py4
-rw-r--r--lib/fixtures/_fixtures/__init__.py4
-rw-r--r--lib/fixtures/_fixtures/logger.py1
-rw-r--r--lib/fixtures/tests/_fixtures/test_logger.py31
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)