Skip to content

Commit 7f48563

Browse files
authored
chore(issues): Opt codeowners tasks into stronger typing (#94576)
1 parent 2ab4ec1 commit 7f48563

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,7 @@ module = [
381381
"sentry.stacktraces.platform",
382382
"sentry.status_checks.*",
383383
"sentry.tasks.beacon",
384+
"sentry.tasks.codeowners.*",
384385
"sentry.tasks.commit_context",
385386
"sentry.tasks.embeddings_grouping.backfill_seer_grouping_records_for_project",
386387
"sentry.tasks.on_demand_metrics",
@@ -537,6 +538,7 @@ module = [
537538
"tests.sentry.security.*",
538539
"tests.sentry.snuba.metrics.test_metrics_query_layer.*",
539540
"tests.sentry.tasks.integrations.*",
541+
"tests.sentry.tasks.test_code_owners",
540542
"tests.sentry.tasks.test_on_demand_metrics",
541543
"tests.sentry.types.*",
542544
"tests.sentry.types.test_actor",

src/sentry/tasks/codeowners/code_owners_auto_sync.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from typing import Any
2+
13
from rest_framework.exceptions import NotFound
24

35
from sentry.integrations.models.repository_project_path_config import RepositoryProjectPathConfig
@@ -29,7 +31,7 @@
2931
),
3032
)
3133
@retry(on=(Commit.DoesNotExist,))
32-
def code_owners_auto_sync(commit_id: int, **kwargs):
34+
def code_owners_auto_sync(commit_id: int, **kwargs: Any) -> None:
3335
from django.db.models import BooleanField, Case, Exists, OuterRef, Subquery, When
3436

3537
from sentry.integrations.api.endpoints.organization_code_mapping_codeowners import (

tests/sentry/tasks/test_code_owners.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from datetime import datetime, timezone
2-
from unittest.mock import patch
2+
from unittest.mock import MagicMock, patch
33

44
from sentry.integrations.models.external_actor import ExternalActor
55
from sentry.models.commit import Commit
@@ -18,7 +18,7 @@
1818

1919

2020
class CodeOwnersTest(TestCase):
21-
def setUp(self):
21+
def setUp(self) -> None:
2222
self.login_as(user=self.user)
2323

2424
self.team = self.create_team(
@@ -49,7 +49,7 @@ def setUp(self):
4949
self.project, self.code_mapping, raw=self.data["raw"]
5050
)
5151

52-
def test_simple(self):
52+
def test_simple(self) -> None:
5353
with self.tasks() and self.feature({"organizations:integrations-codeowners": True}):
5454
# new external team mapping
5555
self.external_team = self.create_external_team(integration=self.integration)
@@ -87,7 +87,9 @@ def test_simple(self):
8787
"sentry.integrations.github.integration.GitHubIntegration.get_codeowner_file",
8888
return_value=LATEST_GITHUB_CODEOWNERS,
8989
)
90-
def test_codeowners_auto_sync_successful(self, mock_get_codeowner_file, mock_timezone_now):
90+
def test_codeowners_auto_sync_successful(
91+
self, mock_get_codeowner_file: MagicMock, mock_timezone_now: MagicMock
92+
) -> None:
9193
with self.tasks() and self.feature({"organizations:integrations-codeowners": True}):
9294
self.create_external_team()
9395
self.create_external_user(external_name="@NisanthanNanthakumar")
@@ -134,10 +136,9 @@ def test_codeowners_auto_sync_successful(self, mock_get_codeowner_file, mock_tim
134136
@patch("sentry.notifications.notifications.codeowners_auto_sync.AutoSyncNotification.send")
135137
def test_codeowners_auto_sync_failed_to_fetch_file(
136138
self,
137-
mock_send_email,
138-
mock_get_codeowner_file,
139-
):
140-
139+
mock_send_email: MagicMock,
140+
mock_get_codeowner_file: MagicMock,
141+
) -> None:
141142
with self.tasks() and self.feature({"organizations:integrations-codeowners": True}):
142143
commit = Commit.objects.create(
143144
repository_id=self.repo.id,

0 commit comments

Comments
 (0)