def test_inlined_sources(self, discover_sourcemap, fetch_url, update): data = { 'project': self.project.id, 'sentry.interfaces.Exception': { 'values': [{ 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/test.min.js', 'filename': 'test.js', 'lineno': 1, 'colno': 0, }, ], }, }], } } discover_sourcemap.return_value = base64_sourcemap fetch_url.return_value.url = 'http://example.com/test.min.js' fetch_url.return_value.body = '\n'.join('<generated source>') expand_javascript_source(data) fetch_url.assert_called_once_with( 'http://example.com/test.min.js', project=self.project) frame_list = data['sentry.interfaces.Exception']['values'][0]['stacktrace']['frames'] frame = frame_list[0] assert not frame.get('pre_context') assert frame['context_line'] == 'console.log("hello, World!")' assert not frame.get('post_context')
def test_inlined_sources(self, discover_sourcemap, fetch_url, update): data = { 'sentry.interfaces.Exception': { 'values': [{ 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/test.js', 'filename': 'test.js', 'lineno': 1, 'colno': 0, }, ], }, }], } } discover_sourcemap.return_value = base64_sourcemap fetch_url.return_value.body = '\n'.join('<generated source>') expand_javascript_source(data) fetch_url.assert_called_once_with('http://example.com/test.js') frame_list = data['sentry.interfaces.Exception']['values'][0]['stacktrace']['frames'] frame = frame_list[0] assert not frame.get('pre_context') assert frame['context_line'] == 'console.log("hello, World!")' assert not frame.get('post_context')
def test_simple(self, discover_sourcemap, fetch_sourcemap, fetch_url, update): data = { 'project': self.project.id, 'sentry.interfaces.Exception': { 'values': [{ 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 4, 'colno': 0, }, { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 1, 'colno': 0, }, ], }, }], } } discover_sourcemap.return_value = None fetch_sourcemap.return_value = None fetch_url.return_value.body = '\n'.join('hello world') expand_javascript_source(data) fetch_url.assert_called_once_with( 'http://example.com/foo.js', project=self.project) frame_list = data['sentry.interfaces.Exception']['values'][0]['stacktrace']['frames'] frame = frame_list[0] assert frame['pre_context'] == ['h', 'e', 'l'] assert frame['context_line'] == 'l' assert frame['post_context'] == ['o', ' ', 'w', 'o', 'r'] frame = frame_list[1] assert not frame.get('pre_context') assert frame['context_line'] == 'h' assert frame['post_context'] == ['e', 'l', 'l', 'o', ' ']
def test_simple(self, discover_sourcemap, fetch_sourcemap, fetch_url, update): data = { 'sentry.interfaces.Exception': { 'values': [{ 'stacktrace': { 'frames': [ { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 4, 'colno': 0, }, { 'abs_path': 'http://example.com/foo.js', 'filename': 'foo.js', 'lineno': 1, 'colno': 0, }, ], }, }], } } discover_sourcemap.return_value = None fetch_sourcemap.return_value = None fetch_url.return_value.body = '\n'.join('hello world') expand_javascript_source(data) fetch_url.assert_called_once_with('http://example.com/foo.js') frame_list = data['sentry.interfaces.Exception']['values'][0][ 'stacktrace']['frames'] frame = frame_list[0] assert frame['pre_context'] == ['h', 'e', 'l'] assert frame['context_line'] == 'l' assert frame['post_context'] == ['o', ' ', 'w', 'o', 'r'] frame = frame_list[1] assert not frame.get('pre_context') assert frame['context_line'] == 'h' assert frame['post_context'] == ['e', 'l', 'l', 'o', ' ']