Skip to content
This repository was archived by the owner on Oct 23, 2023. It is now read-only.

Commit 6b5044a

Browse files
committed
Resolved an issue with badly recorded crumbs.
1 parent 7ab26cb commit 6b5044a

3 files changed

Lines changed: 33 additions & 5 deletions

File tree

CHANGES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Version 5.19.0
44
* remove duration from SQL query breadcrumbs. This was not rendered
55
in the UI and will come back in future versions of Sentry with a
66
different interface.
7+
* resolved a bug that caused crumbs to be recorded incorrectly.
78

89
Version 5.18.0
910
--------------

raven/breadcrumbs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ def record(message=None, timestamp=None, level=None, category=None,
9292
if timestamp is None:
9393
timestamp = time.time()
9494
for ctx in raven.context.get_active_contexts():
95-
ctx.breadcrumbs.record(type, timestamp, level, message,
96-
category, data, processor)
95+
ctx.breadcrumbs.record(timestamp, level, message, category,
96+
data, type, processor)
9797

9898

9999
def _record_log_breadcrumb(logger, level, msg, *args, **kwargs):

tests/breadcrumbs/tests.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from raven.utils.testutils import TestCase
55

66
from raven.base import Client
7-
from raven.breadcrumbs import record_breadcrumb
7+
from raven import breadcrumbs
88

99
from 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

Comments
 (0)