Skip to content

Commit ec46697

Browse files
ref: fix some typing issues in tests when models are checked
1 parent 57d2c5b commit ec46697

21 files changed

+112
-37
lines changed

tests/sentry/api/endpoints/test_debug_files.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -492,9 +492,7 @@ def test_source_maps_sorting(self):
492492
def test_source_maps_delete_archive(self):
493493
project = self.create_project(name="foo")
494494

495-
release = Release.objects.create(
496-
organization_id=project.organization_id, version="1", id="1"
497-
)
495+
release = Release.objects.create(organization_id=project.organization_id, version="1", id=1)
498496
release.add_project(project)
499497

500498
ReleaseFile.objects.create(

tests/sentry/api/endpoints/test_group_notes.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def test_note_merge(self):
5252
data={"text": "This looks bad :)"},
5353
datetime=now - datetime.timedelta(days=70),
5454
)
55+
assert note1.data is not None
5556
note2 = Activity.objects.create(
5657
group=group1,
5758
project=project1,
@@ -60,6 +61,7 @@ def test_note_merge(self):
6061
data={"text": "Yeah we should probably look into this"},
6162
datetime=now - datetime.timedelta(days=66),
6263
)
64+
assert note2.data is not None
6365

6466
project2 = self.create_project()
6567
group2 = self.create_group(project2)
@@ -72,6 +74,7 @@ def test_note_merge(self):
7274
data={"text": "I have been a good Sentry :)"},
7375
datetime=now - datetime.timedelta(days=90),
7476
)
77+
assert note3.data is not None
7578
note4 = Activity.objects.create(
7679
group=group2,
7780
project=project2,
@@ -80,6 +83,7 @@ def test_note_merge(self):
8083
data={"text": "You have been a bad user :)"},
8184
datetime=now - datetime.timedelta(days=88),
8285
)
86+
assert note4.data is not None
8387

8488
with self.tasks():
8589
merge_groups([group1.id], group2.id)

tests/sentry/api/endpoints/test_project_ownership.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ def test_get(self):
216216

217217
# Assert that "identifier" is not renamed to "name" in the backend
218218
ownership = ProjectOwnership.objects.get(project=self.project)
219+
assert ownership.schema is not None
219220
assert ownership.schema["rules"] == [
220221
{
221222
"matcher": {"type": "path", "pattern": "*.js"},

tests/sentry/deletions/test_organization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ def test_discover_query_cleanup(self):
254254
other = self.create_organization(name="other", owner=self.user)
255255
other_project = self.create_project(organization=other, name="other project")
256256

257-
query = DiscoverSavedQuery.objects.create(organization=org, name="test query", query="{}")
257+
query = DiscoverSavedQuery.objects.create(organization=org, name="test query", query={})
258258
# Make a cross-org project reference. This can happen when an account was
259259
# merged in the past and we didn't update the discover queries.
260260
query_project = DiscoverSavedQueryProject.objects.create(

tests/sentry/event_manager/test_event_manager.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@ def test_marks_as_unresolved_with_new_release(
357357
assert group.status == GroupStatus.RESOLVED
358358

359359
activity = Activity.objects.get(id=activity.id)
360+
assert activity.data is not None
360361
assert activity.data["version"] == ""
361362

362363
assert GroupResolution.objects.filter(group=group).exists()
@@ -371,6 +372,7 @@ def test_marks_as_unresolved_with_new_release(
371372
assert group.status == GroupStatus.UNRESOLVED
372373

373374
activity = Activity.objects.get(id=activity.id)
375+
assert activity.data is not None
374376
assert activity.data["version"] == "b"
375377

376378
assert not GroupResolution.objects.filter(group=group).exists()
@@ -431,11 +433,13 @@ def test_that_release_in_latest_activity_prior_to_regression_is_not_overridden(
431433
assert group.status == GroupStatus.UNRESOLVED
432434

433435
activity = Activity.objects.get(id=activity.id)
436+
assert activity.data is not None
434437
assert activity.data["version"] == "foobar"
435438

436439
regressed_activity = Activity.objects.get(
437440
group=group, type=ActivityType.SET_REGRESSION.value
438441
)
442+
assert regressed_activity.data is not None
439443
assert regressed_activity.data["version"] == "b"
440444
assert regressed_activity.data["follows_semver"] is False
441445

@@ -493,12 +497,14 @@ def test_current_release_version_in_latest_activity_prior_to_regression_is_not_o
493497
assert group.status == GroupStatus.UNRESOLVED
494498

495499
activity = Activity.objects.get(id=activity.id)
500+
assert activity.data is not None
496501
assert activity.data["version"] == "b"
497502
assert activity.data["current_release_version"] == "pre foobar"
498503

499504
regressed_activity = Activity.objects.get(
500505
group=group, type=ActivityType.SET_REGRESSION.value
501506
)
507+
assert regressed_activity.data is not None
502508
assert regressed_activity.data["version"] == "b"
503509

504510
mock_send_activity_notifications_delay.assert_called_once_with(regressed_activity.id)
@@ -555,11 +561,13 @@ def test_resolved_in_release_regression_activity_follows_semver(
555561
assert group.status == GroupStatus.UNRESOLVED
556562

557563
activity = Activity.objects.get(id=activity.id)
564+
assert activity.data is not None
558565
assert activity.data["version"] == "foo@1.0.0"
559566

560567
regressed_activity = Activity.objects.get(
561568
group=group, type=ActivityType.SET_REGRESSION.value
562569
)
570+
assert regressed_activity.data is not None
563571
assert regressed_activity.data["version"] == "foo@2.0.0"
564572
assert regressed_activity.data["follows_semver"] is True
565573
assert regressed_activity.data["resolved_in_version"] == "foo@1.0.0"
@@ -835,6 +843,7 @@ def test_marks_as_unresolved_with_new_release_with_integration(
835843
assert group.status == GroupStatus.RESOLVED
836844

837845
activity = Activity.objects.get(id=activity.id)
846+
assert activity.data is not None
838847
assert activity.data["version"] == ""
839848

840849
assert GroupResolution.objects.filter(group=group).exists()
@@ -853,6 +862,7 @@ def test_marks_as_unresolved_with_new_release_with_integration(
853862
assert group.status == GroupStatus.UNRESOLVED
854863

855864
activity = Activity.objects.get(id=activity.id)
865+
assert activity.data is not None
856866
assert activity.data["version"] == "b"
857867

858868
assert not GroupResolution.objects.filter(group=group).exists()

tests/sentry/event_manager/test_event_manager_grouping.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def test_puts_events_with_only_partial_message_match_in_different_groups(self):
7272
def test_adds_default_fingerprint_if_none_in_event(self):
7373
event = save_new_event({"message": "Dogs are great!"}, self.project)
7474

75-
assert event.data.get("fingerprint") == ["{{ default }}"]
75+
assert event.data["fingerprint"] == ["{{ default }}"]
7676

7777
def test_ignores_fingerprint_on_transaction_event(self):
7878
error_event = save_new_event(
@@ -116,7 +116,7 @@ def test_updates_group_metadata(self):
116116
assert group.times_seen == 1
117117
assert group.last_seen == event1.datetime
118118
assert group.message == event1.message
119-
assert group.data.get("metadata").get("title") == event1.title
119+
assert group.data["metadata"]["title"] == event1.title
120120

121121
# Normally this should go into a different group, since the messages don't match, but the
122122
# fingerprint takes precedence. (We need to make the messages different in order to show
@@ -131,7 +131,7 @@ def test_updates_group_metadata(self):
131131
assert group.times_seen == 2
132132
assert group.last_seen == event2.datetime
133133
assert group.message == event2.message
134-
assert group.data.get("metadata").get("title") == event2.title
134+
assert group.data["metadata"]["title"] == event2.title
135135

136136
def test_auto_updates_grouping_config(self):
137137
self.project.update_option("sentry:grouping_config", LEGACY_CONFIG)
@@ -145,7 +145,7 @@ def test_auto_updates_grouping_config(self):
145145
assert self.project.get_option("sentry:grouping_config") == DEFAULT_GROUPING_CONFIG
146146

147147
with assume_test_silo_mode_of(AuditLogEntry):
148-
audit_log_entry = AuditLogEntry.objects.first()
148+
audit_log_entry = AuditLogEntry.objects.get()
149149

150150
assert audit_log_entry.event == audit_log.get_event_id("PROJECT_EDIT")
151151
assert audit_log_entry.actor_label == "Sentry"
@@ -237,8 +237,8 @@ def test_fixes_broken_title_data(self):
237237
assert group.title == event2.title == "<unlabeled event>"
238238
assert group.data["title"] == event2.data["title"] == "<unlabeled event>"
239239
assert (
240-
group.data["metadata"].get("title")
241-
== event2.data["metadata"].get("title")
240+
group.data["metadata"]["title"]
241+
== event2.data["metadata"]["title"]
242242
== "<unlabeled event>"
243243
)
244244
assert group.message == "<unlabeled event>"
@@ -318,7 +318,7 @@ def test_bug_regression_no_longer_breaks_titles(self):
318318
assert event2.data["title"] == "<unlabeled event>"
319319
assert group.data["title"] == "DogsAreNeverAnError: Dogs are great!"
320320
assert group.data["metadata"].get("title") is None
321-
assert event2.data["metadata"].get("title") == "<unlabeled event>"
321+
assert event2.data["metadata"]["title"] == "<unlabeled event>"
322322
assert group.message == "Dogs are great! DogsAreNeverAnError"
323323

324324
# An event after the bug was fixed

tests/sentry/incidents/action_handlers/test_slack.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ def test_fire_metric_alert_sdk_error(self, mock_metrics):
103103
assert NotificationMessage.objects.all().count() == 1
104104
msg = NotificationMessage.objects.all()[0]
105105
assert msg.error_code == 200
106+
assert msg.error_details is not None
106107
assert msg.error_details["data"] == {"ok": False, "error": "invalid_auth"}
107108

108109
mock_metrics.incr.assert_called_with(

tests/sentry/integrations/msteams/notifications/test_note.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def test_note(self, mock_send_card: MagicMock):
4545
f"[{self.group.title}](http://testserver/organizations/{self.organization.slug}/issues/{self.group.id}/?referrer=note\\_activity-msteams&amp;notification\\_uuid="
4646
in body[1]["text"]
4747
)
48+
assert notification.activity.data is not None
4849
assert notification.activity.data["text"] == body[2]["text"]
4950
notification_uuid = self.get_notification_uuid(body[3]["columns"][1]["items"][0]["text"])
5051
assert (

tests/sentry/integrations/msteams/notifications/test_resolved.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def test_resolved_in_release(self, mock_send_card):
8282
body = args[1]["body"]
8383
assert 4 == len(body)
8484

85+
assert notification.activity.data is not None
8586
release_name = notification.activity.data["version"]
8687
assert (
8788
f"Issue marked as resolved in {release_name} by {self.user.get_display_name()}"

tests/sentry/issues/endpoints/test_organization_group_index.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4112,6 +4112,7 @@ def test_self_assign_issue_next_release(self) -> None:
41124112
activity = Activity.objects.get(
41134113
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
41144114
)
4115+
assert activity.data is not None
41154116
assert activity.data["version"] == ""
41164117
with assume_test_silo_mode(SiloMode.CONTROL):
41174118
uo1.delete()
@@ -4178,7 +4179,7 @@ def test_in_semver_projects_group_resolution_stores_current_release_version(self
41784179
ident=grp_resolution.id,
41794180
)
41804181

4181-
assert "current_release_version" in activity.data
4182+
assert activity.data is not None
41824183
assert activity.data["current_release_version"] == release_2.version
41834184

41844185
def test_in_non_semver_projects_group_resolution_stores_current_release_version(self) -> None:
@@ -4328,6 +4329,7 @@ def test_in_non_semver_projects_resolved_in_next_release_is_equated_to_in_releas
43284329
type=ActivityType.SET_RESOLVED_IN_RELEASE.value,
43294330
ident=grp_resolution.id,
43304331
)
4332+
assert activity.data is not None
43314333
assert activity.data["version"] == release_2.version
43324334

43334335
def test_selective_status_update(self) -> None:
@@ -4397,6 +4399,7 @@ def test_set_resolved_in_current_release(self) -> None:
43974399
activity = Activity.objects.get(
43984400
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
43994401
)
4402+
assert activity.data is not None
44004403
assert activity.data["version"] == release.version
44014404
assert GroupHistory.objects.filter(
44024405
group=group, status=GroupHistoryStatus.SET_RESOLVED_IN_RELEASE
@@ -4438,6 +4441,7 @@ def test_set_resolved_in_explicit_release(self) -> None:
44384441
activity = Activity.objects.get(
44394442
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
44404443
)
4444+
assert activity.data is not None
44414445
assert activity.data["version"] == release.version
44424446

44434447
def test_in_semver_projects_set_resolved_in_explicit_release(self) -> None:
@@ -4482,6 +4486,7 @@ def test_in_semver_projects_set_resolved_in_explicit_release(self) -> None:
44824486
activity = Activity.objects.get(
44834487
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
44844488
)
4489+
assert activity.data is not None
44854490
assert activity.data["version"] == release_1.version
44864491

44874492
assert GroupResolution.has_resolution(group=group, release=release_2)
@@ -4519,6 +4524,7 @@ def test_set_resolved_in_next_release(self) -> None:
45194524
activity = Activity.objects.get(
45204525
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
45214526
)
4527+
assert activity.data is not None
45224528
assert activity.data["version"] == ""
45234529

45244530
def test_set_resolved_in_next_release_legacy(self) -> None:
@@ -4556,6 +4562,7 @@ def test_set_resolved_in_next_release_legacy(self) -> None:
45564562
activity = Activity.objects.get(
45574563
group=group, type=ActivityType.SET_RESOLVED_IN_RELEASE.value
45584564
)
4565+
assert activity.data is not None
45594566
assert activity.data["version"] == ""
45604567

45614568
def test_set_resolved_in_explicit_commit_unreleased(self) -> None:
@@ -4588,6 +4595,7 @@ def test_set_resolved_in_explicit_commit_unreleased(self) -> None:
45884595
).exists()
45894596

45904597
activity = Activity.objects.get(group=group, type=ActivityType.SET_RESOLVED_IN_COMMIT.value)
4598+
assert activity.data is not None
45914599
assert activity.data["commit"] == commit.id
45924600
assert GroupHistory.objects.filter(
45934601
group=group, status=GroupHistoryStatus.SET_RESOLVED_IN_COMMIT
@@ -4626,6 +4634,7 @@ def test_set_resolved_in_explicit_commit_released(self) -> None:
46264634
).exists()
46274635

46284636
activity = Activity.objects.get(group=group, type=ActivityType.SET_RESOLVED_IN_COMMIT.value)
4637+
assert activity.data is not None
46294638
assert activity.data["commit"] == commit.id
46304639

46314640
resolution = GroupResolution.objects.get(group=group)
@@ -4759,6 +4768,7 @@ def test_snooze_count(self) -> None:
47594768
assert snooze.user_count is None
47604769
assert snooze.user_window is None
47614770
assert snooze.window is None
4771+
assert snooze.state is not None
47624772
assert snooze.state["times_seen"] == 1
47634773

47644774
assert response.data["status"] == "ignored"
@@ -4797,6 +4807,7 @@ def test_snooze_user_count(self) -> None:
47974807
assert snooze.user_count == 10
47984808
assert snooze.user_window is None
47994809
assert snooze.window is None
4810+
assert snooze.state is not None
48004811
assert snooze.state["users_seen"] == 10
48014812

48024813
assert response.data["status"] == "ignored"

0 commit comments

Comments
 (0)