@@ -548,74 +548,72 @@ def test_create_feedback_spam_detection_produce_to_kafka(
548
548
monkeypatch ,
549
549
feature_flag ,
550
550
):
551
- with Feature ({"organizations:user-feedback-spam-filter-actions" : True }):
552
-
553
- with Feature ({"organizations:user-feedback-spam-ingest" : feature_flag }):
554
- event = {
555
- "project_id" : default_project .id ,
556
- "request" : {
557
- "url" : "https://sentry.sentry.io/feedback/?statsPeriod=14d" ,
558
- "headers" : {
559
- "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
560
- },
551
+ with Feature ({"organizations:user-feedback-spam-ingest" : feature_flag }):
552
+ event = {
553
+ "project_id" : default_project .id ,
554
+ "request" : {
555
+ "url" : "https://sentry.sentry.io/feedback/?statsPeriod=14d" ,
556
+ "headers" : {
557
+ "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
561
558
},
562
- "event_id" : "56b08cf7852c42cbb95e4a6998c66ad6" ,
563
- "timestamp" : 1698255009.574 ,
564
- "received" : "2021-10-24T22:23:29.574000+00:00" ,
565
- "environment" : "prod" ,
566
- "release" : "frontend@daf1316f209d961443664cd6eb4231ca154db502" ,
567
- "user" : {
568
- "ip_address" : "72.164.175.154" ,
569
- "email" : "josh.ferge@sentry.io" ,
570
- "id" : 880461 ,
571
- "isStaff" : False ,
559
+ },
560
+ "event_id" : "56b08cf7852c42cbb95e4a6998c66ad6" ,
561
+ "timestamp" : 1698255009.574 ,
562
+ "received" : "2021-10-24T22:23:29.574000+00:00" ,
563
+ "environment" : "prod" ,
564
+ "release" : "frontend@daf1316f209d961443664cd6eb4231ca154db502" ,
565
+ "user" : {
566
+ "ip_address" : "72.164.175.154" ,
567
+ "email" : "josh.ferge@sentry.io" ,
568
+ "id" : 880461 ,
569
+ "isStaff" : False ,
570
+ "name" : "Josh Ferge" ,
571
+ },
572
+ "contexts" : {
573
+ "feedback" : {
574
+ "contact_email" : "josh.ferge@sentry.io" ,
572
575
"name" : "Josh Ferge" ,
576
+ "message" : input_message ,
577
+ "replay_id" : "3d621c61593c4ff9b43f8490a78ae18e" ,
578
+ "url" : "https://sentry.sentry.io/feedback/?statsPeriod=14d" ,
573
579
},
574
- "contexts" : {
575
- "feedback" : {
576
- "contact_email" : "josh.ferge@sentry.io" ,
577
- "name" : "Josh Ferge" ,
578
- "message" : input_message ,
579
- "replay_id" : "3d621c61593c4ff9b43f8490a78ae18e" ,
580
- "url" : "https://sentry.sentry.io/feedback/?statsPeriod=14d" ,
581
- },
582
- },
583
- "breadcrumbs" : [],
584
- "platform" : "javascript" ,
585
- }
580
+ },
581
+ "breadcrumbs" : [],
582
+ "platform" : "javascript" ,
583
+ }
586
584
587
- mock_openai = Mock ()
588
- mock_openai ().chat .completions .create = create_dummy_response
585
+ mock_openai = Mock ()
586
+ mock_openai ().chat .completions .create = create_dummy_response
589
587
590
- monkeypatch .setattr ("sentry.llm.providers.openai.OpenAI" , mock_openai )
588
+ monkeypatch .setattr ("sentry.llm.providers.openai.OpenAI" , mock_openai )
591
589
592
- create_feedback_issue (
593
- event , default_project .id , FeedbackCreationSource .NEW_FEEDBACK_ENVELOPE
594
- )
590
+ create_feedback_issue (
591
+ event , default_project .id , FeedbackCreationSource .NEW_FEEDBACK_ENVELOPE
592
+ )
595
593
596
- # Check if the 'is_spam' evidence in the Kafka message matches the expected result
597
- is_spam_evidence = [
598
- evidence .value
599
- for evidence in mock_produce_occurrence_to_kafka .call_args_list [0 ]
600
- .kwargs ["occurrence" ]
601
- .evidence_display
602
- if evidence .name == "is_spam"
603
- ]
604
- found_is_spam = is_spam_evidence [0 ] if is_spam_evidence else None
605
- assert (
606
- found_is_spam == expected_result
607
- ), f"Expected { expected_result } but found { found_is_spam } for { input_message } and feature flag { feature_flag } "
594
+ # Check if the 'is_spam' evidence in the Kafka message matches the expected result
595
+ is_spam_evidence = [
596
+ evidence .value
597
+ for evidence in mock_produce_occurrence_to_kafka .call_args_list [0 ]
598
+ .kwargs ["occurrence" ]
599
+ .evidence_display
600
+ if evidence .name == "is_spam"
601
+ ]
602
+ found_is_spam = is_spam_evidence [0 ] if is_spam_evidence else None
603
+ assert (
604
+ found_is_spam == expected_result
605
+ ), f"Expected { expected_result } but found { found_is_spam } for { input_message } and feature flag { feature_flag } "
608
606
609
- if expected_result and feature_flag :
610
- assert (
611
- mock_produce_occurrence_to_kafka .call_args_list [1 ]
612
- .kwargs ["status_change" ]
613
- .new_status
614
- == GroupStatus .IGNORED
615
- )
607
+ if expected_result and feature_flag :
608
+ assert (
609
+ mock_produce_occurrence_to_kafka .call_args_list [1 ]
610
+ .kwargs ["status_change" ]
611
+ .new_status
612
+ == GroupStatus .IGNORED
613
+ )
616
614
617
- if not (expected_result and feature_flag ):
618
- assert mock_produce_occurrence_to_kafka .call_count == 1
615
+ if not (expected_result and feature_flag ):
616
+ assert mock_produce_occurrence_to_kafka .call_count == 1
619
617
620
618
621
619
@django_db_all
@@ -904,7 +902,6 @@ def test_create_feedback_filters_large_message(
904
902
"""Large messages are filtered before spam detection and producing to kafka."""
905
903
features = (
906
904
{
907
- "organizations:user-feedback-spam-filter-actions" : True ,
908
905
"organizations:user-feedback-spam-ingest" : True ,
909
906
}
910
907
if spam_enabled
@@ -950,8 +947,8 @@ def test_create_feedback_evidence_has_spam(
950
947
source = FeedbackCreationSource .NEW_FEEDBACK_ENVELOPE
951
948
create_feedback_issue (event , default_project .id , source )
952
949
953
- assert mock_produce_occurrence_to_kafka .call_count == 1
954
- evidence = mock_produce_occurrence_to_kafka .call_args .kwargs ["occurrence" ].evidence_data
950
+ assert mock_produce_occurrence_to_kafka .call_count == 2 # second call is status change
951
+ evidence = mock_produce_occurrence_to_kafka .call_args_list [ 0 ] .kwargs ["occurrence" ].evidence_data
955
952
assert evidence ["is_spam" ] is True
956
953
957
954
0 commit comments