4
4
import pytest
5
5
from django .utils import timezone
6
6
7
- from sentry import buffer
7
+ from sentry . eventstore . models import GroupEvent
8
8
from sentry .eventstream .base import GroupState
9
9
from sentry .grouping .grouptype import ErrorGroupType
10
10
from sentry .models .activity import Activity
11
11
from sentry .models .environment import Environment
12
12
from sentry .services .eventstore .models import GroupEvent
13
13
from sentry .testutils .factories import Factories
14
14
from sentry .testutils .helpers .datetime import before_now , freeze_time
15
+ from sentry .testutils .helpers .options import override_options
15
16
from sentry .testutils .helpers .redis import mock_redis_buffer
16
17
from sentry .testutils .pytest .fixtures import django_db_all
17
18
from sentry .types .activity import ActivityType
18
19
from sentry .utils import json
20
+ from sentry .workflow_engine import buffer as workflow_buffer
19
21
from sentry .workflow_engine .models import (
20
22
Action ,
21
23
DataConditionGroup ,
@@ -475,10 +477,15 @@ def test_enqueues_workflow_all_logic_type(self) -> None:
475
477
476
478
process_workflows (self .event_data )
477
479
480
+ < << << << HEAD
478
481
project_ids = buffer .backend .bulk_get_sorted_set (
479
482
self .buffer_keys ,
480
483
min = 0 ,
481
484
max = self .buffer_timestamp ,
485
+ == == == =
486
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
487
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , self .buffer_timestamp
488
+ >> > >> >> 72e32 fd402c (fixup )
482
489
)
483
490
assert list (project_ids .keys ()) == [self .project .id ]
484
491
@@ -507,10 +514,15 @@ def test_enqueues_workflow_any_logic_type(self) -> None:
507
514
508
515
process_workflows (self .event_data )
509
516
517
+ << < << << HEAD
510
518
project_ids = buffer .backend .bulk_get_sorted_set (
511
519
self .buffer_keys ,
512
520
min = 0 ,
513
521
max = self .buffer_timestamp ,
522
+ == == == =
523
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
524
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , self .buffer_timestamp
525
+ >> > >> >> 72e32 fd402c (fixup )
514
526
)
515
527
assert list (project_ids .keys ()) == [self .project .id ]
516
528
@@ -589,10 +601,15 @@ def test_enqueues_with_when_and_if_slow_conditions(self) -> None:
589
601
590
602
process_workflows (self .event_data )
591
603
604
+ << < << << HEAD
592
605
project_ids = buffer .backend .bulk_get_sorted_set (
593
606
self .buffer_keys ,
594
607
min = 0 ,
595
608
max = self .buffer_timestamp ,
609
+ == == == =
610
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
611
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , self .buffer_timestamp
612
+ >> > >> >> 72e32 fd402c (fixup )
596
613
)
597
614
assert list (project_ids .keys ()) == [self .project .id ]
598
615
@@ -618,10 +635,15 @@ def test_enqueues_event_if_meets_fast_conditions(self) -> None:
618
635
619
636
process_workflows (self .event_data )
620
637
638
+ << < << << HEAD
621
639
project_ids = buffer .backend .bulk_get_sorted_set (
622
640
self .buffer_keys ,
623
641
min = 0 ,
624
642
max = self .buffer_timestamp ,
643
+ == == == =
644
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
645
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , self .buffer_timestamp
646
+ >> > >> >> 72e32 fd402c (fixup )
625
647
)
626
648
assert not project_ids
627
649
@@ -630,10 +652,15 @@ def test_enqueues_event_if_meets_fast_conditions(self) -> None:
630
652
631
653
process_workflows (self .event_data )
632
654
655
+ << < << << HEAD
633
656
project_ids = buffer .backend .bulk_get_sorted_set (
634
657
self .buffer_keys ,
635
658
min = 0 ,
636
659
max = self .buffer_timestamp ,
660
+ == == == =
661
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
662
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , self .buffer_timestamp
663
+ >> > >> >> 72e32 fd402c (fixup )
637
664
)
638
665
assert list (project_ids .keys ()) == [self .project .id ]
639
666
@@ -783,10 +810,15 @@ def test_enqueues_when_slow_conditions(self):
783
810
784
811
enqueue_workflows (queue_items )
785
812
813
+ << < << << HEAD
786
814
project_ids = buffer .backend .bulk_get_sorted_set (
787
815
self .buffer_keys ,
788
816
min = 0 ,
789
817
max = timezone .now ().timestamp (),
818
+ == == == =
819
+ project_ids = workflow_buffer .get_backend ().get_sorted_set (
820
+ WORKFLOW_ENGINE_BUFFER_LIST_KEY , 0 , timezone .now ().timestamp ()
821
+ >> > >> >> 72e32 fd402c (fixup )
790
822
)
791
823
assert list (project_ids .keys ()) == [self .project .id ]
792
824
@@ -822,7 +854,11 @@ def setUp(self) -> None:
822
854
823
855
@patch ("sentry.buffer.backend.push_to_sorted_set" )
824
856
@patch ("sentry.buffer.backend.push_to_hash_bulk" )
857
+ << << << < HEAD
825
858
@patch ("random.choice" )
859
+ == == == =
860
+ @override_options ({"workflow_engine.buffer.use_new_buffer" : False })
861
+ >> >> >> > 72e32 fd402c (fixup )
826
862
def test_enqueue_workflows__adds_to_workflow_engine_buffer (
827
863
self , mock_randchoice , mock_push_to_hash_bulk , mock_push_to_sorted_set
828
864
):
@@ -845,8 +881,33 @@ def test_enqueue_workflows__adds_to_workflow_engine_buffer(
845
881
value = [self .group_event .project_id ],
846
882
)
847
883
884
+ @patch ("sentry.workflow_engine.buffer._backend.push_to_sorted_set" )
885
+ @patch ("sentry.workflow_engine.buffer._backend.push_to_hash_bulk" )
886
+ @override_options ({"workflow_engine.buffer.use_new_buffer" : True })
887
+ def test_enqueue_workflows__adds_to_workflow_engine_buffer_new_buffer (
888
+ self , mock_push_to_hash_bulk , mock_push_to_sorted_set
889
+ ):
890
+ enqueue_workflows (
891
+ {
892
+ self .workflow : DelayedWorkflowItem (
893
+ self .workflow ,
894
+ self .group_event ,
895
+ self .workflow .when_condition_group_id ,
896
+ [self .slow_workflow_filter_group .id ],
897
+ [self .workflow_filter_group .id ],
898
+ timestamp = timezone .now (),
899
+ )
900
+ }
901
+ )
902
+
903
+ mock_push_to_sorted_set .assert_called_once_with (
904
+ key = WORKFLOW_ENGINE_BUFFER_LIST_KEY ,
905
+ value = [self .group_event .project_id ],
906
+ )
907
+
848
908
@patch ("sentry.buffer.backend.push_to_sorted_set" )
849
909
@patch ("sentry.buffer.backend.push_to_hash_bulk" )
910
+ @override_options ({"workflow_engine.buffer.use_new_buffer" : False })
850
911
def test_enqueue_workflow__adds_to_workflow_engine_set (
851
912
self , mock_push_to_hash_bulk , mock_push_to_sorted_set
852
913
):
0 commit comments