From e44d9be6a2107cc2ec67f6b2c4add1e70737a5b6 Mon Sep 17 00:00:00 2001 From: Malachi Willey Date: Mon, 6 Oct 2025 15:52:57 -0700 Subject: [PATCH] fix(aci): Return empty list from open periods endpoint when detector has no group yet --- .../workflow_engine/endpoints/organization_open_periods.py | 7 ++----- .../endpoints/test_organization_open_periods.py | 7 +++---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/sentry/workflow_engine/endpoints/organization_open_periods.py b/src/sentry/workflow_engine/endpoints/organization_open_periods.py index e12b8505138df7..17c5fbf9f25d1a 100644 --- a/src/sentry/workflow_engine/endpoints/organization_open_periods.py +++ b/src/sentry/workflow_engine/endpoints/organization_open_periods.py @@ -1,7 +1,6 @@ from __future__ import annotations from drf_spectacular.utils import OpenApiParameter, extend_schema -from rest_framework import status from rest_framework.exceptions import ParseError, ValidationError from rest_framework.request import Request from rest_framework.response import Response @@ -128,10 +127,8 @@ def get(self, request: Request, organization: Organization) -> Response: ) ) if not target_group: - return Response( - {"detail": "Group not found. Could not query open periods."}, - status=status.HTTP_404_NOT_FOUND, - ) + return self.paginate(request=request, queryset=[]) + limit = None per_page = request.GET.get("per_page") if per_page: diff --git a/tests/sentry/workflow_engine/endpoints/test_organization_open_periods.py b/tests/sentry/workflow_engine/endpoints/test_organization_open_periods.py index 1366fdf120c341..ed6743dd93e651 100644 --- a/tests/sentry/workflow_engine/endpoints/test_organization_open_periods.py +++ b/tests/sentry/workflow_engine/endpoints/test_organization_open_periods.py @@ -1,7 +1,6 @@ from datetime import timedelta from django.utils import timezone -from rest_framework import status from sentry.incidents.grouptype import MetricIssue from sentry.models.activity import Activity @@ -52,12 +51,12 @@ def get_url_args(self): def test_no_group_link(self) -> None: # Create a new detector with no linked group detector = self.create_detector() - resp = self.get_error_response( + resp = self.get_success_response( self.organization.slug, qs_params={"detectorId": detector.id}, - status_code=status.HTTP_404_NOT_FOUND, + status_code=200, ) - assert resp.data["detail"] == "Group not found. Could not query open periods." + assert resp.data == [] def test_open_period_linked_to_group(self) -> None: response = self.get_success_response(