summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJim Fulton <jim@jimfulton.info>2017-06-12 13:45:02 -0400
committerJim Fulton <jim@jimfulton.info>2017-06-12 13:45:02 -0400
commit122fbe28015c495bf5c0656a70b6cb0147fe1245 (patch)
treea5ed7578024f21ed500108f3352da4e686491560 /tests
parentbdd4c882574c84df3d7d1a709db2abd4da5537ab (diff)
downloadraven-122fbe28015c495bf5c0656a70b6cb0147fe1245.tar.gz
Added tests and refactored.
The first stab at this was cribbed off the zope integration. This is now a bit cleaner.
Diffstat (limited to 'tests')
-rw-r--r--tests/contrib/zconfig/__init__.py0
-rw-r--r--tests/contrib/zconfig/tests.py76
2 files changed, 76 insertions, 0 deletions
diff --git a/tests/contrib/zconfig/__init__.py b/tests/contrib/zconfig/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/contrib/zconfig/__init__.py
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("""
+ <logger>
+ %import raven.contrib.zconfig
+ <sentry>
+ dsn https://abc:def@example.com/42
+ </sentry>
+ </logger>
+ """)
+ 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("""
+ <logger>
+ %import raven.contrib.zconfig
+ <sentry>
+ 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
+ </sentry>
+ </logger>
+ """)
+ 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)