def test_ensure_module_names(): from sentry.lang.javascript.plugin import generate_modules data = { 'message': 'hello', 'platform': 'javascript', 'sentry.interfaces.Exception': { 'values': [{ 'type': 'Error', 'stacktrace': { 'frames': [ { 'filename': 'foo.js', 'lineno': 4, 'colno': 0, 'function': 'thing', }, { 'abs_path': 'http://example.com/foo/bar.js', 'filename': 'bar.js', 'lineno': 1, 'colno': 0, 'function': 'oops', }, ], }, }], } } generate_modules(data) exc = data['sentry.interfaces.Exception']['values'][0] assert exc['stacktrace']['frames'][1]['module'] == 'foo/bar'
def test_ensure_module_names(): from sentry.lang.javascript.plugin import generate_modules data = { 'message': 'hello', 'platform': 'javascript', 'sentry.interfaces.Exception': { 'values': [ { 'type': 'Error', 'stacktrace': { 'frames': [ { 'filename': 'foo.js', 'lineno': 4, 'colno': 0, 'function': 'thing', }, { 'abs_path': 'http://example.com/foo/bar.js', 'filename': 'bar.js', 'lineno': 1, 'colno': 0, 'function': 'oops', }, ], }, } ], } } generate_modules(data) exc = data['sentry.interfaces.Exception']['values'][0] assert exc['stacktrace']['frames'][1]['module'] == 'foo/bar'
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_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_generate_modules_skips_none(self): from sentry.lang.javascript.plugin import 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) assert actual == expected
def test_ensure_module_names(self): from sentry.lang.javascript.plugin import generate_modules data = { "message": "hello", "platform": "javascript", "exception": { "values": [{ "type": "Error", "stacktrace": { "frames": [ { "filename": "foo.js", "lineno": 4, "colno": 0, "function": "thing", }, { "abs_path": "http://example.com/foo/bar.js", "filename": "bar.js", "lineno": 1, "colno": 0, "function": "oops", }, ] }, }] }, } generate_modules(data) exc = data["exception"]["values"][0] assert exc["stacktrace"]["frames"][1]["module"] == "foo/bar"
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