Skip to content

Commit 3452fae

Browse files
committed
ref(django): Drop send_default_pii support
1 parent ffb9c2b commit 3452fae

4 files changed

Lines changed: 48 additions & 85 deletions

File tree

‎tests/integrations/django/test_basic.py‎

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def test_view_exceptions(
5656
):
5757
sentry_init(
5858
integrations=[DjangoIntegration()],
59-
send_default_pii=True,
59+
data_collection={},
6060
)
6161
exceptions = capture_exceptions()
6262
items = capture_items("event")
@@ -85,7 +85,7 @@ def test_ensures_x_forwarded_header_is_honored_in_sdk_when_enabled_in_django(
8585

8686
sentry_init(
8787
integrations=[DjangoIntegration()],
88-
send_default_pii=True,
88+
data_collection={},
8989
)
9090
exceptions = capture_exceptions()
9191
items = capture_items("event")
@@ -111,7 +111,7 @@ def test_ensures_x_forwarded_header_is_not_honored_when_unenabled_in_django(
111111
"""
112112
sentry_init(
113113
integrations=[DjangoIntegration()],
114-
send_default_pii=True,
114+
data_collection={},
115115
)
116116
exceptions = capture_exceptions()
117117
items = capture_items("event")
@@ -125,7 +125,7 @@ def test_ensures_x_forwarded_header_is_not_honored_when_unenabled_in_django(
125125

126126

127127
def test_middleware_exceptions(sentry_init, client, capture_exceptions):
128-
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
128+
sentry_init(integrations=[DjangoIntegration()], data_collection={})
129129
exceptions = capture_exceptions()
130130
client.get(reverse("middleware_exc"))
131131

@@ -313,7 +313,7 @@ def test_user_captured(
313313
):
314314
sentry_init(
315315
integrations=[DjangoIntegration()],
316-
send_default_pii=True,
316+
data_collection={},
317317
)
318318
items = capture_items("event")
319319
content, status, headers = unpack_werkzeug_response(client.get(reverse("mylogin")))
@@ -343,7 +343,7 @@ def test_materialized_user_captured(
343343
):
344344
sentry_init(
345345
integrations=[DjangoIntegration()],
346-
send_default_pii=True,
346+
data_collection={},
347347
traces_sample_rate=1.0,
348348
)
349349

@@ -446,7 +446,7 @@ def test_custom_error_handler_request_context(
446446

447447

448448
def test_500(sentry_init, client):
449-
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
449+
sentry_init(integrations=[DjangoIntegration()], data_collection={})
450450

451451
content, status, headers = unpack_werkzeug_response(client.get("/view-exc"))
452452
assert status.lower() == "500 internal server error"
@@ -474,7 +474,7 @@ def test_sql_queries(
474474
):
475475
sentry_init(
476476
integrations=[DjangoIntegration()] if with_integration else [],
477-
send_default_pii=True,
477+
data_collection={},
478478
_experiments={"record_sql_params": True},
479479
)
480480

@@ -509,7 +509,7 @@ def test_sql_dict_query_params(
509509
):
510510
sentry_init(
511511
integrations=[DjangoIntegration()],
512-
send_default_pii=True,
512+
data_collection={},
513513
_experiments={"record_sql_params": True},
514514
)
515515

@@ -586,7 +586,7 @@ def test_sql_psycopg2_string_composition(
586586
):
587587
sentry_init(
588588
integrations=[DjangoIntegration()],
589-
send_default_pii=True,
589+
data_collection={},
590590
_experiments={
591591
"record_sql_params": True,
592592
},
@@ -624,7 +624,7 @@ def test_sql_psycopg2_placeholders(
624624
):
625625
sentry_init(
626626
integrations=[DjangoIntegration()],
627-
send_default_pii=True,
627+
data_collection={},
628628
_experiments={
629629
"record_sql_params": True,
630630
},
@@ -695,7 +695,7 @@ def test_django_connect_trace(
695695
"""
696696
sentry_init(
697697
integrations=[DjangoIntegration()],
698-
send_default_pii=True,
698+
data_collection={},
699699
traces_sample_rate=1.0,
700700
)
701701

@@ -736,7 +736,7 @@ def test_django_connect_breadcrumbs(
736736
"""
737737
sentry_init(
738738
integrations=[DjangoIntegration()],
739-
send_default_pii=True,
739+
data_collection={},
740740
)
741741

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

762762
assert event["breadcrumbs"]["values"][-2:] == [
763763
{"message": "connect", "category": "query", "type": "default"},
764-
{"message": "select 1", "category": "query", "data": {}, "type": "default"},
764+
{
765+
"message": "select 1",
766+
"category": "query",
767+
"data": {"db.paramstyle": "format"},
768+
"type": "default",
769+
},
765770
]
766771

767772

@@ -774,7 +779,7 @@ def test_db_connection_span_data(
774779
):
775780
sentry_init(
776781
integrations=[DjangoIntegration()],
777-
send_default_pii=True,
782+
data_collection={},
778783
traces_sample_rate=1.0,
779784
)
780785

@@ -851,7 +856,7 @@ def test_segment_name(
851856
sentry_init(
852857
integrations=[DjangoIntegration()],
853858
traces_sample_rate=1.0,
854-
send_default_pii=True,
859+
data_collection={},
855860
)
856861
items = capture_items("event", "span")
857862

@@ -887,7 +892,7 @@ def test_segment_name_tracing_disabled(
887892
):
888893
sentry_init(
889894
integrations=[DjangoIntegration()],
890-
send_default_pii=True,
895+
data_collection={},
891896
)
892897
items = capture_items("event")
893898

@@ -1221,7 +1226,7 @@ def test_rest_framework_basic(
12211226
pytest.importorskip("rest_framework")
12221227
sentry_init(
12231228
integrations=[DjangoIntegration()],
1224-
send_default_pii=True,
1229+
data_collection={},
12251230
)
12261231
exceptions = capture_exceptions()
12271232
items = capture_items("event")

‎tests/integrations/django/test_data_scrubbing.py‎

Lines changed: 12 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -117,34 +117,20 @@ def test_data_collection_cookies(
117117
@pytest.mark.forked
118118
@pytest_mark_django_db_decorator()
119119
@pytest.mark.parametrize(
120-
"init_kwargs, expected_query_string",
120+
"data_collection, expected_query_string",
121121
[
122122
pytest.param(
123-
{"send_default_pii": True},
124-
"toy=tennisball&color=red&auth=secret",
125-
id="legacy_send_default_pii_true",
126-
),
127-
pytest.param(
128-
{"send_default_pii": False},
129-
"toy=tennisball&color=red&auth=secret",
130-
id="legacy_send_default_pii_false",
131-
),
132-
pytest.param(
133-
{"data_collection": {}},
123+
{},
134124
"toy=tennisball&color=red&auth=%5BFiltered%5D",
135125
id="data_collection_denylist_default",
136126
),
137127
pytest.param(
138-
{
139-
"data_collection": {
140-
"url_query_params": {"mode": "allowlist", "terms": ["toy"]}
141-
}
142-
},
128+
{"url_query_params": {"mode": "allowlist", "terms": ["toy"]}},
143129
"toy=tennisball&color=%5BFiltered%5D&auth=%5BFiltered%5D",
144130
id="data_collection_allowlist",
145131
),
146132
pytest.param(
147-
{"data_collection": {"url_query_params": {"mode": "off"}}},
133+
{"url_query_params": {"mode": "off"}},
148134
None,
149135
id="data_collection_off",
150136
),
@@ -154,10 +140,10 @@ def test_query_string_data_collection(
154140
sentry_init,
155141
client,
156142
capture_events,
157-
init_kwargs,
143+
data_collection,
158144
expected_query_string,
159145
):
160-
sentry_init(integrations=[DjangoIntegration()], **init_kwargs)
146+
sentry_init(integrations=[DjangoIntegration()], data_collection=data_collection)
161147
events = capture_events()
162148

163149
client.get(reverse("view_exc") + "?" + QUERY_STRING)
@@ -173,34 +159,20 @@ def test_query_string_data_collection(
173159
@pytest.mark.forked
174160
@pytest_mark_django_db_decorator()
175161
@pytest.mark.parametrize(
176-
"init_kwargs, expected_query",
162+
"data_collection, expected_query",
177163
[
178164
pytest.param(
179-
{"send_default_pii": True},
180-
"toy=tennisball&color=red&auth=secret",
181-
id="legacy_send_default_pii_true",
182-
),
183-
pytest.param(
184-
{"send_default_pii": False},
185-
None,
186-
id="legacy_send_default_pii_false",
187-
),
188-
pytest.param(
189-
{"data_collection": {}},
165+
{},
190166
"toy=tennisball&color=red&auth=%5BFiltered%5D",
191167
id="data_collection_denylist_default",
192168
),
193169
pytest.param(
194-
{
195-
"data_collection": {
196-
"url_query_params": {"mode": "allowlist", "terms": ["toy"]}
197-
}
198-
},
170+
{"url_query_params": {"mode": "allowlist", "terms": ["toy"]}},
199171
"toy=tennisball&color=%5BFiltered%5D&auth=%5BFiltered%5D",
200172
id="data_collection_allowlist",
201173
),
202174
pytest.param(
203-
{"data_collection": {"url_query_params": {"mode": "off"}}},
175+
{"url_query_params": {"mode": "off"}},
204176
None,
205177
id="data_collection_off",
206178
),
@@ -210,13 +182,13 @@ def test_span_http_query_data_collection(
210182
sentry_init,
211183
client,
212184
capture_items,
213-
init_kwargs,
185+
data_collection,
214186
expected_query,
215187
):
216188
sentry_init(
217189
integrations=[DjangoIntegration()],
218190
traces_sample_rate=1.0,
219-
**init_kwargs,
191+
data_collection=data_collection,
220192
)
221193

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

236208

237-
@pytest.mark.forked
238-
@pytest_mark_django_db_decorator()
239-
def test_query_string_empty_legacy_emits_empty_string(
240-
sentry_init, client, capture_events
241-
):
242-
sentry_init(integrations=[DjangoIntegration()], send_default_pii=True)
243-
events = capture_events()
244-
245-
client.get(reverse("view_exc"))
246-
247-
(event,) = events
248-
assert event["request"]["query_string"] == ""
249-
250-
251209
@pytest.mark.forked
252210
@pytest_mark_django_db_decorator()
253211
def test_empty_query_string_is_dropped_with_data_collection(

‎tests/integrations/django/test_db_query_data.py‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_query_source_disabled(
3838
):
3939
sentry_options = {
4040
"integrations": [DjangoIntegration()],
41-
"send_default_pii": True,
41+
"data_collection": {},
4242
"traces_sample_rate": 1.0,
4343
"enable_db_query_source": False,
4444
"db_query_source_threshold_ms": 0,
@@ -86,7 +86,7 @@ def test_query_source_enabled(
8686
):
8787
sentry_options = {
8888
"integrations": [DjangoIntegration()],
89-
"send_default_pii": True,
89+
"data_collection": {},
9090
"traces_sample_rate": 1.0,
9191
"db_query_source_threshold_ms": 0,
9292
}
@@ -134,7 +134,7 @@ def test_query_source(
134134
):
135135
sentry_init(
136136
integrations=[DjangoIntegration()],
137-
send_default_pii=True,
137+
data_collection={},
138138
traces_sample_rate=1.0,
139139
enable_db_query_source=True,
140140
db_query_source_threshold_ms=0,
@@ -199,7 +199,7 @@ def test_query_source_with_module_in_search_path(
199199

200200
sentry_init(
201201
integrations=[DjangoIntegration()],
202-
send_default_pii=True,
202+
data_collection={},
203203
traces_sample_rate=1.0,
204204
enable_db_query_source=True,
205205
db_query_source_threshold_ms=0,
@@ -255,7 +255,7 @@ def test_query_source_with_in_app_exclude(
255255
):
256256
sentry_init(
257257
integrations=[DjangoIntegration()],
258-
send_default_pii=True,
258+
data_collection={},
259259
traces_sample_rate=1.0,
260260
enable_db_query_source=True,
261261
db_query_source_threshold_ms=0,
@@ -325,7 +325,7 @@ def test_query_source_with_in_app_include(
325325
):
326326
sentry_init(
327327
integrations=[DjangoIntegration()],
328-
send_default_pii=True,
328+
data_collection={},
329329
traces_sample_rate=1.0,
330330
enable_db_query_source=True,
331331
db_query_source_threshold_ms=0,
@@ -382,7 +382,7 @@ def test_no_query_source_if_duration_too_short(
382382
):
383383
sentry_init(
384384
integrations=[DjangoIntegration()],
385-
send_default_pii=True,
385+
data_collection={},
386386
traces_sample_rate=1.0,
387387
enable_db_query_source=True,
388388
db_query_source_threshold_ms=100,
@@ -451,7 +451,7 @@ def test_query_source_if_duration_over_threshold(
451451
):
452452
sentry_init(
453453
integrations=[DjangoIntegration()],
454-
send_default_pii=True,
454+
data_collection={},
455455
traces_sample_rate=1.0,
456456
enable_db_query_source=True,
457457
db_query_source_threshold_ms=100,

0 commit comments

Comments
 (0)