Просмотр исходного кода

ref: fix typing for sentry.testutils.fixtures (#80754)

<!-- Describe your PR here. -->
anthony sottile 3 месяцев назад
Родитель
Сommit
70ce3397d1
2 измененных файлов с 24 добавлено и 42 удалено
  1. 0 1
      pyproject.toml
  2. 24 41
      src/sentry/testutils/fixtures.py

+ 0 - 1
pyproject.toml

@@ -319,7 +319,6 @@ module = [
     "sentry.tasks.auth",
     "sentry.tasks.base",
     "sentry.testutils.cases",
-    "sentry.testutils.fixtures",
     "sentry.testutils.helpers.notifications",
     "sentry.utils.auth",
     "sentry.utils.committers",

+ 24 - 41
src/sentry/testutils/fixtures.py

@@ -1,6 +1,6 @@
 from __future__ import annotations
 
-from collections.abc import Mapping
+from collections.abc import Iterable, Mapping
 from datetime import datetime, timedelta
 from typing import Any
 
@@ -26,6 +26,7 @@ from sentry.models.team import Team
 from sentry.monitors.models import Monitor, MonitorType, ScheduleType
 from sentry.organizations.services.organization import RpcOrganization
 from sentry.silo.base import SiloMode
+from sentry.snuba.models import QuerySubscription
 from sentry.testutils.factories import Factories
 from sentry.testutils.helpers.datetime import before_now, iso_format
 from sentry.testutils.silo import assume_test_silo_mode
@@ -44,7 +45,7 @@ from sentry.uptime.models import (
 from sentry.users.models.identity import Identity, IdentityProvider
 from sentry.users.models.user import User
 from sentry.users.services.user import RpcUser
-from sentry.workflow_engine.models import DataSource, Detector, Workflow
+from sentry.workflow_engine.models import DataSource, Detector, DetectorState, Workflow
 from sentry.workflow_engine.types import DetectorPriorityLevel
 
 
@@ -183,36 +184,27 @@ class Fixtures:
     def create_project_bookmark(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_project_bookmark(project=project, *args, **kwargs)
+        return Factories.create_project_bookmark(project, *args, **kwargs)
 
     def create_project_key(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_project_key(project=project, *args, **kwargs)
+        return Factories.create_project_key(project, *args, **kwargs)
 
     def create_project_rule(self, project=None, *args, **kwargs) -> Rule:
         if project is None:
             project = self.project
         return Factories.create_project_rule(project, *args, **kwargs)
 
-    def create_slack_project_rule(
-        self, project=None, integration_id=None, channel_id=None, channel_name=None, *args, **kwargs
-    ):
+    def create_slack_project_rule(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_slack_project_rule(
-            project,
-            integration_id=integration_id,
-            channel_id=channel_id,
-            channel_name=channel_name,
-            *args,
-            **kwargs,
-        )
+        return Factories.create_slack_project_rule(project, *args, **kwargs)
 
-    def create_release(self, project=None, user=None, *args, **kwargs):
+    def create_release(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_release(project=project, user=user, *args, **kwargs)
+        return Factories.create_release(project, *args, **kwargs)
 
     def create_group_release(self, project: Project | None = None, *args, **kwargs) -> GroupRelease:
         if project is None:
@@ -249,7 +241,7 @@ class Fixtures:
     def create_repo(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_repo(project=project, *args, **kwargs)
+        return Factories.create_repo(project, *args, **kwargs)
 
     def create_commit(self, *args, **kwargs):
         return Factories.create_commit(*args, **kwargs)
@@ -277,7 +269,7 @@ class Fixtures:
         user: User | None = None,
         provider: str | None = None,
         uid: str | None = None,
-        extra_data: Mapping[str, Any] | None = None,
+        extra_data: dict[str, Any] | None = None,
     ):
         if not user:
             user = self.user
@@ -291,7 +283,7 @@ class Fixtures:
     def create_group(self, project=None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_group(project=project, *args, **kwargs)
+        return Factories.create_group(project, *args, **kwargs)
 
     def create_file(self, **kwargs):
         return Factories.create_file(**kwargs)
@@ -302,12 +294,12 @@ class Fixtures:
     def create_event_attachment(self, event=None, *args, **kwargs):
         if event is None:
             event = self.event
-        return Factories.create_event_attachment(event=event, *args, **kwargs)
+        return Factories.create_event_attachment(event, *args, **kwargs)
 
-    def create_dif_file(self, project=None, *args, **kwargs):
+    def create_dif_file(self, project: Project | None = None, *args, **kwargs):
         if project is None:
             project = self.project
-        return Factories.create_dif_file(project=project, *args, **kwargs)
+        return Factories.create_dif_file(project, *args, **kwargs)
 
     def create_dif_from_path(self, project=None, *args, **kwargs):
         if project is None:
@@ -371,18 +363,16 @@ class Fixtures:
     def create_integration_external_project(self, *args, **kwargs):
         return Factories.create_integration_external_project(*args, **kwargs)
 
-    def create_incident(self, organization=None, projects=None, subscription=None, *args, **kwargs):
+    def create_incident(self, organization=None, projects=None, *args, **kwargs):
         if not organization:
             organization = self.organization
         if projects is None:
             projects = [self.project]
 
-        return Factories.create_incident(
-            organization=organization, projects=projects, subscription=subscription, *args, **kwargs
-        )
+        return Factories.create_incident(organization, projects, *args, **kwargs)
 
-    def create_incident_activity(self, incident, *args, **kwargs):
-        return Factories.create_incident_activity(incident=incident, *args, **kwargs)
+    def create_incident_activity(self, *args, **kwargs):
+        return Factories.create_incident_activity(*args, **kwargs)
 
     def create_incident_comment(self, incident, *args, **kwargs):
         return self.create_incident_activity(
@@ -401,8 +391,8 @@ class Fixtures:
 
     def create_alert_rule_activation(
         self,
-        alert_rule=None,
-        query_subscriptions=None,
+        alert_rule: AlertRule | None = None,
+        query_subscriptions: Iterable[QuerySubscription] | None = None,
         project=None,
         monitor_type=AlertRuleMonitorTypeInt.ACTIVATED,
         activator=None,
@@ -411,9 +401,7 @@ class Fixtures:
         **kwargs,
     ):
         if not alert_rule:
-            alert_rule = self.create_alert_rule(
-                monitor_type=monitor_type,
-            )
+            alert_rule = self.create_alert_rule(monitor_type=monitor_type)
         if not query_subscriptions:
             projects = [project] if project else [self.project]
             # subscribing an activated alert rule will create an activation
@@ -427,9 +415,7 @@ class Fixtures:
         created_activations = []
         for sub in query_subscriptions:
             created_activations.append(
-                Factories.create_alert_rule_activation(
-                    alert_rule=alert_rule, query_subscription=sub, *args, **kwargs
-                )
+                Factories.create_alert_rule_activation(alert_rule, sub, *args, **kwargs)
             )
         return created_activations
 
@@ -622,9 +608,6 @@ class Fixtures:
     def create_dashboard_widget_query(self, *args, **kwargs):
         return Factories.create_dashboard_widget_query(*args, **kwargs)
 
-    def create_workflow_action(self, *args, **kwargs) -> Workflow:
-        return Factories.create_workflow_action(*args, **kwargs)
-
     def create_workflow(self, *args, **kwargs) -> Workflow:
         return Factories.create_workflow(*args, **kwargs)
 
@@ -654,7 +637,7 @@ class Fixtures:
     def create_detector(self, *args, **kwargs) -> Detector:
         return Factories.create_detector(*args, **kwargs)
 
-    def create_detector_state(self, *args, **kwargs) -> Detector:
+    def create_detector_state(self, *args, **kwargs) -> DetectorState:
         return Factories.create_detector_state(*args, **kwargs)
 
     def create_data_source_detector(self, *args, **kwargs):