Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 23 additions & 18 deletions tests/integrations/django/test_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def test_view_exceptions(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
exceptions = capture_exceptions()
items = capture_items("event")
Expand Down Expand Up @@ -85,7 +85,7 @@ def test_ensures_x_forwarded_header_is_honored_in_sdk_when_enabled_in_django(

sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
exceptions = capture_exceptions()
items = capture_items("event")
Expand All @@ -111,7 +111,7 @@ def test_ensures_x_forwarded_header_is_not_honored_when_unenabled_in_django(
"""
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
exceptions = capture_exceptions()
items = capture_items("event")
Expand All @@ -125,7 +125,7 @@ def test_ensures_x_forwarded_header_is_not_honored_when_unenabled_in_django(


def test_middleware_exceptions(sentry_init, client, capture_exceptions):
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
sentry_init(integrations=[DjangoIntegration()], data_collection={})
exceptions = capture_exceptions()
client.get(reverse("middleware_exc"))

Expand Down Expand Up @@ -313,7 +313,7 @@ def test_user_captured(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
items = capture_items("event")
content, status, headers = unpack_werkzeug_response(client.get(reverse("mylogin")))
Expand Down Expand Up @@ -343,7 +343,7 @@ def test_materialized_user_captured(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
)

Expand Down Expand Up @@ -446,7 +446,7 @@ def test_custom_error_handler_request_context(


def test_500(sentry_init, client):
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
sentry_init(integrations=[DjangoIntegration()], data_collection={})

content, status, headers = unpack_werkzeug_response(client.get("/view-exc"))
assert status.lower() == "500 internal server error"
Expand Down Expand Up @@ -474,7 +474,7 @@ def test_sql_queries(
):
sentry_init(
integrations=[DjangoIntegration()] if with_integration else [],
send_default_pii=True,
data_collection={},
_experiments={"record_sql_params": True},
)

Expand Down Expand Up @@ -509,7 +509,7 @@ def test_sql_dict_query_params(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
_experiments={"record_sql_params": True},
)

Expand Down Expand Up @@ -586,7 +586,7 @@ def test_sql_psycopg2_string_composition(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
_experiments={
"record_sql_params": True,
},
Expand Down Expand Up @@ -624,7 +624,7 @@ def test_sql_psycopg2_placeholders(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
_experiments={
"record_sql_params": True,
},
Expand Down Expand Up @@ -695,7 +695,7 @@ def test_django_connect_trace(
"""
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
)

Expand Down Expand Up @@ -736,7 +736,7 @@ def test_django_connect_breadcrumbs(
"""
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)

from django.db import connections
Expand All @@ -761,7 +761,12 @@ def test_django_connect_breadcrumbs(

assert event["breadcrumbs"]["values"][-2:] == [
{"message": "connect", "category": "query", "type": "default"},
{"message": "select 1", "category": "query", "data": {}, "type": "default"},
{
"message": "select 1",
"category": "query",
"data": {"db.paramstyle": "format"},
"type": "default",
},
]


Expand All @@ -774,7 +779,7 @@ def test_db_connection_span_data(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
)

Expand Down Expand Up @@ -851,7 +856,7 @@ def test_segment_name(
sentry_init(
integrations=[DjangoIntegration()],
traces_sample_rate=1.0,
send_default_pii=True,
data_collection={},
)
items = capture_items("event", "span")

Expand Down Expand Up @@ -887,7 +892,7 @@ def test_segment_name_tracing_disabled(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
items = capture_items("event")

Expand Down Expand Up @@ -1221,7 +1226,7 @@ def test_rest_framework_basic(
pytest.importorskip("rest_framework")
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
)
exceptions = capture_exceptions()
items = capture_items("event")
Expand Down
66 changes: 12 additions & 54 deletions tests/integrations/django/test_data_scrubbing.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,34 +117,20 @@ def test_data_collection_cookies(
@pytest.mark.forked
@pytest_mark_django_db_decorator()
@pytest.mark.parametrize(
"init_kwargs, expected_query_string",
"data_collection, expected_query_string",
[
pytest.param(
{"send_default_pii": True},
"toy=tennisball&color=red&auth=secret",
id="legacy_send_default_pii_true",
),
pytest.param(
{"send_default_pii": False},
"toy=tennisball&color=red&auth=secret",
id="legacy_send_default_pii_false",
),
pytest.param(
{"data_collection": {}},
{},
"toy=tennisball&color=red&auth=%5BFiltered%5D",
id="data_collection_denylist_default",
),
pytest.param(
{
"data_collection": {
"url_query_params": {"mode": "allowlist", "terms": ["toy"]}
}
},
{"url_query_params": {"mode": "allowlist", "terms": ["toy"]}},
"toy=tennisball&color=%5BFiltered%5D&auth=%5BFiltered%5D",
id="data_collection_allowlist",
),
pytest.param(
{"data_collection": {"url_query_params": {"mode": "off"}}},
{"url_query_params": {"mode": "off"}},
None,
id="data_collection_off",
),
Expand All @@ -154,10 +140,10 @@ def test_query_string_data_collection(
sentry_init,
client,
capture_events,
init_kwargs,
data_collection,
expected_query_string,
):
sentry_init(integrations=[DjangoIntegration()], **init_kwargs)
sentry_init(integrations=[DjangoIntegration()], data_collection=data_collection)
events = capture_events()

client.get(reverse("view_exc") + "?" + QUERY_STRING)
Expand All @@ -173,34 +159,20 @@ def test_query_string_data_collection(
@pytest.mark.forked
@pytest_mark_django_db_decorator()
@pytest.mark.parametrize(
"init_kwargs, expected_query",
"data_collection, expected_query",
[
pytest.param(
{"send_default_pii": True},
"toy=tennisball&color=red&auth=secret",
id="legacy_send_default_pii_true",
),
pytest.param(
{"send_default_pii": False},
None,
id="legacy_send_default_pii_false",
),
pytest.param(
{"data_collection": {}},
{},
"toy=tennisball&color=red&auth=%5BFiltered%5D",
id="data_collection_denylist_default",
),
pytest.param(
{
"data_collection": {
"url_query_params": {"mode": "allowlist", "terms": ["toy"]}
}
},
{"url_query_params": {"mode": "allowlist", "terms": ["toy"]}},
"toy=tennisball&color=%5BFiltered%5D&auth=%5BFiltered%5D",
id="data_collection_allowlist",
),
pytest.param(
{"data_collection": {"url_query_params": {"mode": "off"}}},
{"url_query_params": {"mode": "off"}},
None,
id="data_collection_off",
),
Expand All @@ -210,13 +182,13 @@ def test_span_http_query_data_collection(
sentry_init,
client,
capture_items,
init_kwargs,
data_collection,
expected_query,
):
sentry_init(
integrations=[DjangoIntegration()],
traces_sample_rate=1.0,
**init_kwargs,
data_collection=data_collection,
)

items = capture_items("span")
Expand All @@ -234,20 +206,6 @@ def test_span_http_query_data_collection(
assert root_span["attributes"][SPANDATA.HTTP_QUERY] == expected_query


@pytest.mark.forked
@pytest_mark_django_db_decorator()
def test_query_string_empty_legacy_emits_empty_string(
sentry_init, client, capture_events
):
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
events = capture_events()

client.get(reverse("view_exc"))

(event,) = events
assert event["request"]["query_string"] == ""


@pytest.mark.forked
@pytest_mark_django_db_decorator()
def test_empty_query_string_is_dropped_with_data_collection(
Expand Down
16 changes: 8 additions & 8 deletions tests/integrations/django/test_db_query_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def test_query_source_disabled(
):
sentry_options = {
"integrations": [DjangoIntegration()],
"send_default_pii": True,
"data_collection": {},
"traces_sample_rate": 1.0,
"enable_db_query_source": False,
"db_query_source_threshold_ms": 0,
Expand Down Expand Up @@ -86,7 +86,7 @@ def test_query_source_enabled(
):
sentry_options = {
"integrations": [DjangoIntegration()],
"send_default_pii": True,
"data_collection": {},
"traces_sample_rate": 1.0,
"db_query_source_threshold_ms": 0,
}
Expand Down Expand Up @@ -134,7 +134,7 @@ def test_query_source(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=0,
Expand Down Expand Up @@ -199,7 +199,7 @@ def test_query_source_with_module_in_search_path(

sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=0,
Expand Down Expand Up @@ -255,7 +255,7 @@ def test_query_source_with_in_app_exclude(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=0,
Expand Down Expand Up @@ -325,7 +325,7 @@ def test_query_source_with_in_app_include(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=0,
Expand Down Expand Up @@ -382,7 +382,7 @@ def test_no_query_source_if_duration_too_short(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=100,
Expand Down Expand Up @@ -451,7 +451,7 @@ def test_query_source_if_duration_over_threshold(
):
sentry_init(
integrations=[DjangoIntegration()],
send_default_pii=True,
data_collection={},
traces_sample_rate=1.0,
enable_db_query_source=True,
db_query_source_threshold_ms=100,
Expand Down
Loading
Loading