Exemplo n.º 1
0
    def on_send_clicked(self, checked):
        self.send_report_button.setEnabled(False)
        self.send_report_button.setText(tr("SENDING..."))

        endpoint = 'http://reporter.tribler.org/report'

        sys_info = ""
        sys_info_dict = defaultdict(lambda: [])
        for ind in range(self.env_variables_list.topLevelItemCount()):
            item = self.env_variables_list.topLevelItem(ind)
            key = item.text(0)
            value = item.text(1)

            sys_info += f"{key}\t{value}\n"
            sys_info_dict[key].append(value)

        comments = self.comments_text_edit.toPlainText()
        if len(comments) == 0:
            comments = tr("Not provided")
        stack = self.error_text_edit.toPlainText()

        post_data = {
            "version": self.tribler_version,
            "machine": platform.machine(),
            "os": platform.platform(),
            "timestamp": int(time.time()),
            "sysinfo": sys_info,
            "comments": comments,
            "stack": stack,
        }

        SentryReporter.send_event(self.sentry_event, post_data, sys_info_dict, self.additional_tags)

        TriblerNetworkRequest(endpoint, self.on_report_sent, raw_data=tribler_urlencode(post_data), method='POST')
Exemplo n.º 2
0
def test_send_defaults():
    assert SentryReporter.send_event(None, None, None) is None

    assert SentryReporter.send_event(event={}) == {
        'contexts': {
            'browser': {
                'name': 'Tribler',
                'version': None
            },
            'reporter': {
                '_stacktrace': [],
                '_stacktrace_context': [],
                '_stacktrace_extra': [],
                'comments': None,
                OS_ENVIRON: {},
                'sysinfo': {},
                'events': {},
            },
        },
        'tags': {
            'machine': None,
            'os': None,
            'platform': None,
            PLATFORM_DETAILS: None,
            'version': None
        },
    }
Exemplo n.º 3
0
def test_send_additional_tags():
    assert SentryReporter.send_event(
        event={}, additional_tags={'tag_key': 'tag_value'}) == {
            'contexts': {
                'browser': {
                    'name': 'Tribler',
                    'version': None
                },
                'reporter': {
                    '_stacktrace': [],
                    '_stacktrace_context': [],
                    '_stacktrace_extra': [],
                    'comments': None,
                    OS_ENVIRON: {},
                    'sysinfo': {},
                    'events': {},
                },
            },
            'tags': {
                'machine': None,
                'os': None,
                'platform': None,
                'platform.details': None,
                'version': None,
                'tag_key': 'tag_value',
            },
        }
Exemplo n.º 4
0
def test_send_sys_info():
    assert SentryReporter.send_event(
        event={},
        sys_info={
            'platform': ['darwin'],
            PLATFORM_DETAILS: ['details'],
            OS_ENVIRON: ['KEY:VALUE', 'KEY1:VALUE1'],
            'event_1': [{
                'type': ''
            }],
            'request_1': [{}],
            'event_2': [],
            'request_2': [],
        },
    ) == {
        'contexts': {
            'browser': {
                'name': 'Tribler',
                'version': None
            },
            'reporter': {
                '_stacktrace': [],
                '_stacktrace_context': [],
                '_stacktrace_extra': [],
                'comments': None,
                OS_ENVIRON: {
                    'KEY': 'VALUE',
                    'KEY1': 'VALUE1'
                },
                'sysinfo': {
                    'platform': ['darwin'],
                    PLATFORM_DETAILS: ['details']
                },
                'events': {
                    'event_1': [{
                        'type': ''
                    }],
                    'request_1': [{}],
                    'event_2': [],
                    'request_2': []
                },
            },
        },
        'tags': {
            'machine': None,
            'os': None,
            'platform': 'darwin',
            'platform.details': 'details',
            'version': None
        },
    }
Exemplo n.º 5
0
def test_send_post_data():
    assert SentryReporter.send_event(
        event={'a': 'b'},
        post_data={
            "version": '0.0.0',
            "machine": 'x86_64',
            "os": 'posix',
            "timestamp": 42,
            "sysinfo": '',
            "comments": 'comment',
            "stack": 'l1\nl2--LONG TEXT--l3\nl4',
        },
    ) == {
        'a': 'b',
        'contexts': {
            'browser': {
                'name': 'Tribler',
                'version': '0.0.0'
            },
            'reporter': {
                '_stacktrace': ['l1', 'l2'],
                '_stacktrace_context': [],
                '_stacktrace_extra': ['l3', 'l4'],
                'comments': 'comment',
                'os.environ': {},
                'sysinfo': {},
                'events': {},
            },
        },
        'tags': {
            'machine': 'x86_64',
            'os': 'posix',
            'platform': None,
            PLATFORM_DETAILS: None,
            'version': '0.0.0'
        },
    }