44from raven .utils .testutils import TestCase
55
66from raven .base import Client
7- from raven . breadcrumbs import record_breadcrumb
7+ from raven import breadcrumbs
88
99from io import StringIO
1010
@@ -16,8 +16,8 @@ def test_crumb_buffer(self):
1616 client = Client ('http://foo:bar@example.com/0' ,
1717 enable_breadcrumbs = enable )
1818 with client .context :
19- record_breadcrumb ( 'foo' , data = {'bar' : 'baz' },
20- message = 'aha' , category = 'huhu' )
19+ breadcrumbs . record ( type = 'foo' , data = {'bar' : 'baz' },
20+ message = 'aha' , category = 'huhu' )
2121 crumbs = client .context .breadcrumbs .get_buffer ()
2222 assert len (crumbs ) == enable
2323
@@ -92,3 +92,30 @@ def test_dedup_logging(self):
9292 assert crumbs [2 ]['type' ] == 'default'
9393 assert crumbs [2 ]['category' ] == 'whatever.foo'
9494 assert crumbs [2 ]['message' ] == 'This is a message with 42!'
95+
96+ def test_manual_record (self ):
97+ client = Client ('http://foo:bar@example.com/0' )
98+ with client .context :
99+ def processor (data ):
100+ assert data ['message' ] == 'whatever'
101+ assert data ['level' ] == 'warning'
102+ assert data ['category' ] == 'category'
103+ assert data ['type' ] == 'the_type'
104+ assert data ['data' ] == {'foo' : 'bar' }
105+ data ['data' ]['extra' ] = 'something'
106+
107+ breadcrumbs .record (message = 'whatever' ,
108+ level = 'warning' ,
109+ category = 'category' ,
110+ data = {'foo' : 'bar' },
111+ type = 'the_type' ,
112+ processor = processor )
113+
114+ crumbs = client .context .breadcrumbs .get_buffer ()
115+ assert len (crumbs ) == 1
116+ data = crumbs [0 ]
117+ assert data ['message' ] == 'whatever'
118+ assert data ['level' ] == 'warning'
119+ assert data ['category' ] == 'category'
120+ assert data ['type' ] == 'the_type'
121+ assert data ['data' ] == {'foo' : 'bar' , 'extra' : 'something' }
0 commit comments