From 122fbe28015c495bf5c0656a70b6cb0147fe1245 Mon Sep 17 00:00:00 2001 From: Jim Fulton Date: Mon, 12 Jun 2017 13:45:02 -0400 Subject: Added tests and refactored. The first stab at this was cribbed off the zope integration. This is now a bit cleaner. --- tests/contrib/zconfig/__init__.py | 0 tests/contrib/zconfig/tests.py | 76 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 tests/contrib/zconfig/__init__.py create mode 100644 tests/contrib/zconfig/tests.py (limited to 'tests') diff --git a/tests/contrib/zconfig/__init__.py b/tests/contrib/zconfig/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/contrib/zconfig/tests.py b/tests/contrib/zconfig/tests.py new file mode 100644 index 0000000..9626a73 --- /dev/null +++ b/tests/contrib/zconfig/tests.py @@ -0,0 +1,76 @@ +from __future__ import absolute_import +import logging +import mock +import unittest +from ZConfig import configureLoggers + + +class TestConfig(unittest.TestCase): + + @mock.patch("raven.handlers.logging.Client") + def test_minimal(self, Client): + configureLoggers(""" + + %import raven.contrib.zconfig + + dsn https://abc:def@example.com/42 + + + """) + handler = logging.getLogger().handlers[-1] + logging.getLogger().handlers.remove(handler) + self.assertEqual(handler.level, logging.ERROR) + Client.assert_called_with( + dsn='https://abc:def@example.com/42', + site=None, + name=None, + release=None, + environment=None, + exclude_paths=None, + include_paths=None, + sample_rate=1.0, + list_max_length=None, + string_max_length=None, + auto_log_stacks=None, + processors=None, + level=logging.ERROR) + + @mock.patch("raven.handlers.logging.Client") + def test_many(self, Client): + configureLoggers(""" + + %import raven.contrib.zconfig + + level WARNING + dsn https://abc:def@example.com/42 + site test-site + name test + release 42.0 + environment testing + exclude_paths /a /b + include_paths /c /d + sample_rate 0.5 + list_max_length 9 + string_max_length 99 + auto_log_stacks true + processors x y z + + + """) + handler = logging.getLogger().handlers[-1] + logging.getLogger().handlers.remove(handler) + self.assertEqual(handler.level, logging.WARNING) + Client.assert_called_with( + dsn='https://abc:def@example.com/42', + site='test-site', + name='test', + release='42.0', + environment='testing', + exclude_paths=['/a', '/b'], + include_paths=['/c', '/d'], + sample_rate=0.5, + list_max_length=9, + string_max_length=99, + auto_log_stacks=True, + processors=['x', 'y', 'z'], + level=logging.WARNING) -- cgit v1.2.1