Skip to content

Commit 93d7ac2

Browse files
committed
fixup
1 parent a3b150f commit 93d7ac2

File tree

2 files changed

+66
-5
lines changed

2 files changed

+66
-5
lines changed

src/sentry/workflow_engine/buffer/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
from sentry.buffer.base import Buffer
66
from sentry.utils.services import LazyServiceWrapper
77

8+
# Workflows-specific Buffer that can be configured separately from the default Buffer.
89
_backend = LazyServiceWrapper(
910
Buffer, settings.SENTRY_WORKFLOW_BUFFER, settings.SENTRY_WORKFLOW_BUFFER_OPTIONS
1011
)
1112

1213

13-
def validate_new_backend() -> None:
14-
pass
15-
16-
1714
def get_backend() -> LazyServiceWrapper[Buffer]:
15+
"""
16+
Retrieve the appropriate Buffer to use for the workflow engine.
17+
"""
1818
if options.get("workflow_engine.buffer.use_new_buffer"):
1919
return _backend
2020
else:

tests/sentry/workflow_engine/processors/test_workflow.py

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@
44
import pytest
55
from django.utils import timezone
66

7-
from sentry import buffer
7+
from sentry.eventstore.models import GroupEvent
88
from sentry.eventstream.base import GroupState
99
from sentry.grouping.grouptype import ErrorGroupType
1010
from sentry.models.activity import Activity
1111
from sentry.models.environment import Environment
1212
from sentry.services.eventstore.models import GroupEvent
1313
from sentry.testutils.factories import Factories
1414
from sentry.testutils.helpers.datetime import before_now, freeze_time
15+
from sentry.testutils.helpers.options import override_options
1516
from sentry.testutils.helpers.redis import mock_redis_buffer
1617
from sentry.testutils.pytest.fixtures import django_db_all
1718
from sentry.types.activity import ActivityType
1819
from sentry.utils import json
20+
from sentry.workflow_engine import buffer as workflow_buffer
1921
from sentry.workflow_engine.models import (
2022
Action,
2123
DataConditionGroup,
@@ -440,10 +442,15 @@ def test_enqueues_workflow_all_logic_type(self) -> None:
440442

441443
process_workflows(self.event_data)
442444

445+
<<<<<<< HEAD
443446
project_ids = buffer.backend.bulk_get_sorted_set(
444447
self.buffer_keys,
445448
min=0,
446449
max=self.buffer_timestamp,
450+
=======
451+
project_ids = workflow_buffer.get_backend().get_sorted_set(
452+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, self.buffer_timestamp
453+
>>>>>>> 72e32fd402c (fixup)
447454
)
448455
assert list(project_ids.keys()) == [self.project.id]
449456

@@ -472,10 +479,15 @@ def test_enqueues_workflow_any_logic_type(self) -> None:
472479

473480
process_workflows(self.event_data)
474481

482+
<<<<<<< HEAD
475483
project_ids = buffer.backend.bulk_get_sorted_set(
476484
self.buffer_keys,
477485
min=0,
478486
max=self.buffer_timestamp,
487+
=======
488+
project_ids = workflow_buffer.get_backend().get_sorted_set(
489+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, self.buffer_timestamp
490+
>>>>>>> 72e32fd402c (fixup)
479491
)
480492
assert list(project_ids.keys()) == [self.project.id]
481493

@@ -554,10 +566,15 @@ def test_enqueues_with_when_and_if_slow_conditions(self) -> None:
554566

555567
process_workflows(self.event_data)
556568

569+
<<<<<<< HEAD
557570
project_ids = buffer.backend.bulk_get_sorted_set(
558571
self.buffer_keys,
559572
min=0,
560573
max=self.buffer_timestamp,
574+
=======
575+
project_ids = workflow_buffer.get_backend().get_sorted_set(
576+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, self.buffer_timestamp
577+
>>>>>>> 72e32fd402c (fixup)
561578
)
562579
assert list(project_ids.keys()) == [self.project.id]
563580

@@ -583,10 +600,15 @@ def test_enqueues_event_if_meets_fast_conditions(self) -> None:
583600

584601
process_workflows(self.event_data)
585602

603+
<<<<<<< HEAD
586604
project_ids = buffer.backend.bulk_get_sorted_set(
587605
self.buffer_keys,
588606
min=0,
589607
max=self.buffer_timestamp,
608+
=======
609+
project_ids = workflow_buffer.get_backend().get_sorted_set(
610+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, self.buffer_timestamp
611+
>>>>>>> 72e32fd402c (fixup)
590612
)
591613
assert not project_ids
592614

@@ -595,10 +617,15 @@ def test_enqueues_event_if_meets_fast_conditions(self) -> None:
595617

596618
process_workflows(self.event_data)
597619

620+
<<<<<<< HEAD
598621
project_ids = buffer.backend.bulk_get_sorted_set(
599622
self.buffer_keys,
600623
min=0,
601624
max=self.buffer_timestamp,
625+
=======
626+
project_ids = workflow_buffer.get_backend().get_sorted_set(
627+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, self.buffer_timestamp
628+
>>>>>>> 72e32fd402c (fixup)
602629
)
603630
assert list(project_ids.keys()) == [self.project.id]
604631

@@ -748,10 +775,15 @@ def test_enqueues_when_slow_conditions(self):
748775

749776
enqueue_workflows(queue_items)
750777

778+
<<<<<<< HEAD
751779
project_ids = buffer.backend.bulk_get_sorted_set(
752780
self.buffer_keys,
753781
min=0,
754782
max=timezone.now().timestamp(),
783+
=======
784+
project_ids = workflow_buffer.get_backend().get_sorted_set(
785+
WORKFLOW_ENGINE_BUFFER_LIST_KEY, 0, timezone.now().timestamp()
786+
>>>>>>> 72e32fd402c (fixup)
755787
)
756788
assert list(project_ids.keys()) == [self.project.id]
757789

@@ -787,7 +819,11 @@ def setUp(self) -> None:
787819

788820
@patch("sentry.buffer.backend.push_to_sorted_set")
789821
@patch("sentry.buffer.backend.push_to_hash_bulk")
822+
<<<<<<< HEAD
790823
@patch("random.choice")
824+
=======
825+
@override_options({"workflow_engine.buffer.use_new_buffer": False})
826+
>>>>>>> 72e32fd402c (fixup)
791827
def test_enqueue_workflows__adds_to_workflow_engine_buffer(
792828
self, mock_randchoice, mock_push_to_hash_bulk, mock_push_to_sorted_set
793829
):
@@ -810,8 +846,33 @@ def test_enqueue_workflows__adds_to_workflow_engine_buffer(
810846
value=[self.group_event.project_id],
811847
)
812848

849+
@patch("sentry.workflow_engine.buffer._backend.push_to_sorted_set")
850+
@patch("sentry.workflow_engine.buffer._backend.push_to_hash_bulk")
851+
@override_options({"workflow_engine.buffer.use_new_buffer": True})
852+
def test_enqueue_workflows__adds_to_workflow_engine_buffer_new_buffer(
853+
self, mock_push_to_hash_bulk, mock_push_to_sorted_set
854+
):
855+
enqueue_workflows(
856+
{
857+
self.workflow: DelayedWorkflowItem(
858+
self.workflow,
859+
self.group_event,
860+
self.workflow.when_condition_group_id,
861+
[self.slow_workflow_filter_group.id],
862+
[self.workflow_filter_group.id],
863+
timestamp=timezone.now(),
864+
)
865+
}
866+
)
867+
868+
mock_push_to_sorted_set.assert_called_once_with(
869+
key=WORKFLOW_ENGINE_BUFFER_LIST_KEY,
870+
value=[self.group_event.project_id],
871+
)
872+
813873
@patch("sentry.buffer.backend.push_to_sorted_set")
814874
@patch("sentry.buffer.backend.push_to_hash_bulk")
875+
@override_options({"workflow_engine.buffer.use_new_buffer": False})
815876
def test_enqueue_workflow__adds_to_workflow_engine_set(
816877
self, mock_push_to_hash_bulk, mock_push_to_sorted_set
817878
):

0 commit comments

Comments
 (0)