From 6da44985ca9e40b8d1da13019b6e7ee9265024fb Mon Sep 17 00:00:00 2001 From: Ashley Camba Garrido Date: Fri, 19 Jan 2018 14:21:00 +0100 Subject: [PATCH 1/2] Add test for hook_libraries --- tests/breadcrumbs/tests.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/breadcrumbs/tests.py b/tests/breadcrumbs/tests.py index 1acc4b42d..3625c1a5f 100644 --- a/tests/breadcrumbs/tests.py +++ b/tests/breadcrumbs/tests.py @@ -1,5 +1,6 @@ import sys import logging +import requests from raven.utils.testutils import TestCase @@ -9,6 +10,11 @@ from io import StringIO +class DummyClass(object): + def dummy_method(self): + pass + + class BreadcrumbTestCase(TestCase): def test_crumb_buffer(self): @@ -153,3 +159,28 @@ def handler(logger, level, msg, args, kwargs): logger.debug('aha!') crumbs = client.context.breadcrumbs.get_buffer() assert len(crumbs) == 0 + + def test_hook_libraries(self): + + @breadcrumbs.libraryhook('dummy') + def _install_func(): + old_func = DummyClass.dummy_method + + def new_func(self): + breadcrumbs.record(type='dummy', category='dummy', message="Dummy message") + old_func(self) + + DummyClass.dummy_method = new_func + + client = Client('http://foo:bar@example.com/0', hook_libraries=['requests']) + with client.context: + DummyClass().dummy_method() + crumbs = client.context.breadcrumbs.get_buffer() + assert 'dummy' not in set([i['type'] for i in crumbs]) + + client = Client('http://foo:bar@example.com/0', hook_libraries=['requests', 'dummy']) + with client.context: + DummyClass().dummy_method() + crumbs = client.context.breadcrumbs.get_buffer() + assert 'dummy' in set([i['type'] for i in crumbs]) + From a368e1d455c0a4efe8e9540fe58a65d7a1810e78 Mon Sep 17 00:00:00 2001 From: Ashley Camba Date: Fri, 19 Jan 2018 14:22:10 +0100 Subject: [PATCH 2/2] removed requests --- tests/breadcrumbs/tests.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/breadcrumbs/tests.py b/tests/breadcrumbs/tests.py index 3625c1a5f..c68492505 100644 --- a/tests/breadcrumbs/tests.py +++ b/tests/breadcrumbs/tests.py @@ -1,6 +1,5 @@ import sys import logging -import requests from raven.utils.testutils import TestCase