Пример #1
0
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'
Пример #2
0
    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
Пример #3
0
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'
Пример #4
0
    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