def test_get_culprit_is_patched(): from sentry.lang.javascript.plugin import fix_culprit, generate_modules data = { 'message': 'hello', 'platform': 'javascript', 'sentry.interfaces.Exception': { 'values': [{ 'type': 'Error', 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 4, 'colno': 0, 'function': 'thing', }, { 'abs_path': 'http://example.com/bar.js', 'filename': 'bar.js', 'lineno': 1, 'colno': 0, 'function': 'oops', }, ], }, }], } } generate_modules(data) fix_culprit(data) assert data['culprit'] == 'bar in oops'
def test_generate_modules_skips_none(self): from sentry.lang.javascript.plugin import fix_culprit, generate_modules expected = { 'culprit': '', 'exception': { 'values': [ None, {}, { 'value': 'MyError', 'stacktrace': None, }, { 'value': 'MyError', 'stacktrace': { 'frames': None, }, }, { 'value': 'MyError', 'stacktrace': { 'frames': [ None ], }, }, ] } } actual = deepcopy(expected) generate_modules(actual) fix_culprit(actual) assert actual == expected
def test_get_culprit_is_patched(): from sentry.lang.javascript.plugin import fix_culprit, generate_modules data = { 'message': 'hello', 'platform': 'javascript', 'sentry.interfaces.Exception': { 'values': [ { 'type': 'Error', 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 4, 'colno': 0, 'function': 'thing', }, { 'abs_path': 'http://example.com/bar.js', 'filename': 'bar.js', 'lineno': 1, 'colno': 0, 'function': 'oops', }, ], }, } ], } } generate_modules(data) fix_culprit(data) assert data['culprit'] == 'bar in oops'
def test_generate_modules_skips_none(self): from sentry.lang.javascript.plugin import fix_culprit, generate_modules expected = { 'culprit': '', 'exception': { 'values': [ None, {}, { 'value': 'MyError', 'stacktrace': None, }, { 'value': 'MyError', 'stacktrace': { 'frames': None, }, }, { 'value': 'MyError', 'stacktrace': { 'frames': [None], }, }, ] } } actual = deepcopy(expected) generate_modules(actual) fix_culprit(actual) assert actual == expected