コード例 #1
0
 def test_event_post_data_sanitized(self, names, url, post_data,
                                    expected_post_data):
     """Request POST data are sanitized of sensitive values."""
     event = {"request": {"url": url, "data": deepcopy(post_data)}}
     processed = get_before_send()(event, {})
     expected = {"request": {"url": url, "data": expected_post_data}}
     assert processed == expected
コード例 #2
0
 def test_event_headers_sanitized(self, names, url, headers,
                                  expected_headers):
     """Request headers are sanitized of sensitive values."""
     event = {"request": {"url": url, "headers": deepcopy(headers)}}
     processed = get_before_send()(event, {})
     expected = {"request": {"url": url, "headers": expected_headers}}
     assert processed == expected
コード例 #3
0
    def test_breadcrumb_queries_truncated(self):
        """Query breadcrumbs are truncated on sensitive column names."""

        event = {'breadcrumbs': []}
        expected = {'breadcrumbs': []}
        for sql in TestSanitizeSQLQueryCrumb.CASES.values():
            event['breadcrumbs'].append({'category': 'query', 'message': sql})
            expected['breadcrumbs'].append({'category': 'query', 'message': '[filtered]'})
        processed = get_before_send()(event, {})
        assert processed == expected
コード例 #4
0
 def test_event_querystring_sanitized(self, names, url, query_string,
                                      expected_query_string):
     """Request querystrings are sanitized of sensitive values."""
     event = {"request": {"url": url, "query_string": query_string}}
     processed = get_before_send()(event, {})
     expected = {
         "request": {
             "url": url,
             "query_string": expected_query_string
         }
     }
     assert processed == expected
コード例 #5
0
    def test_breadcrumb_queries_truncated(self):
        """Query breadcrumbs are truncated on sensitive column names."""

        event = {"breadcrumbs": []}
        expected = {"breadcrumbs": []}
        for sql in TestSanitizeSQLQueryCrumb.CASES.values():
            event["breadcrumbs"].append({"category": "query", "message": sql})
            expected["breadcrumbs"].append({
                "category": "query",
                "message": "[filtered]"
            })
        processed = get_before_send()(event, {})
        assert processed == expected
コード例 #6
0
ファイル: base.py プロジェクト: khyveasna/socorro
SOCORRO_REVISION = get_version()

# Comma-separated list of urls that serve version information in JSON format
OVERVIEW_VERSION_URLS = config("OVERVIEW_VERSION_URLS", "")

# Sentry aggregates reports of uncaught errors and other events
SENTRY_DSN = config("SENTRY_DSN", "")
SENTRY_DEBUG = config("SENTRY_DEBUG", False)  # Be noisy at init and processing events
if SENTRY_DSN:
    sentry_sdk.init(
        dsn=SENTRY_DSN,
        release=SOCORRO_REVISION,
        send_default_pii=False,
        integrations=[DjangoIntegration()],
        debug=SENTRY_DEBUG,
        before_send=get_before_send(),
    )

    # Do not generate events for some logs (ERROR or above)
    ignore_logger(SENTRY_LOG_NAME)  # avoid infinite logging loops
    ignore_logger(
        "django.security.DisallowedHost"
    )  # no fix needed, the system is working

    if SENTRY_DEBUG:
        # Add a DEBUG level handler for sentry processing messages
        LOGGING["handlers"]["sentry"] = {
            "level": "DEBUG",
            "class": "logging.StreamHandler",
            "formatter": "socorroapp",
        }
コード例 #7
0
 def test_repr(self):
     """The sanitizer has a useful repr without crashes."""
     before_send = get_before_send()
     assert "SentrySanitizer" in repr(before_send)