@@ -670,7 +670,7 @@ def test_does_not_capture_403(sentry_init, client, capture_events, endpoint):
670
670
sentry_init (integrations = [DjangoIntegration ()])
671
671
events = capture_events ()
672
672
673
- _content , status , _headers = client .get (reverse (endpoint ))
673
+ _ , status , _ = client .get (reverse (endpoint ))
674
674
assert status .lower () == "403 forbidden"
675
675
676
676
assert not events
@@ -697,32 +697,14 @@ def test_render_spans(sentry_init, client, capture_events, render_span_tree):
697
697
698
698
for url , expected_line in views_tests :
699
699
events = capture_events ()
700
- _content , status , _headers = client .get (url )
700
+ client .get (url )
701
701
transaction = events [0 ]
702
702
assert expected_line in render_span_tree (transaction )
703
703
704
704
705
- def test_middleware_spans (sentry_init , client , capture_events , render_span_tree ):
706
- sentry_init (
707
- integrations = [DjangoIntegration ()],
708
- traces_sample_rate = 1.0 ,
709
- _experiments = {"record_sql_params" : True },
710
- )
711
- events = capture_events ()
712
-
713
- _content , status , _headers = client .get (reverse ("message" ))
714
-
715
- message , transaction = events
716
-
717
- assert message ["message" ] == "hi"
718
-
719
- if DJANGO_VERSION >= (1 , 10 ):
720
- assert (
721
- render_span_tree (transaction )
722
- == """\
705
+ if DJANGO_VERSION >= (1 , 10 ):
706
+ EXPECTED_MIDDLEWARE_SPANS = """\
723
707
- op="http.server": description=null
724
- - op="event.django": description="django.db.reset_queries"
725
- - op="event.django": description="django.db.close_old_connections"
726
708
- op="middleware.django": description="django.contrib.sessions.middleware.SessionMiddleware.__call__"
727
709
- op="middleware.django": description="django.contrib.auth.middleware.AuthenticationMiddleware.__call__"
728
710
- op="middleware.django": description="django.middleware.csrf.CsrfViewMiddleware.__call__"
@@ -731,15 +713,9 @@ def test_middleware_spans(sentry_init, client, capture_events, render_span_tree)
731
713
- op="middleware.django": description="django.middleware.csrf.CsrfViewMiddleware.process_view"
732
714
- op="view.render": description="message"\
733
715
"""
734
- )
735
-
736
- else :
737
- assert (
738
- render_span_tree (transaction )
739
- == """\
716
+ else :
717
+ EXPECTED_MIDDLEWARE_SPANS = """\
740
718
- op="http.server": description=null
741
- - op="event.django": description="django.db.reset_queries"
742
- - op="event.django": description="django.db.close_old_connections"
743
719
- op="middleware.django": description="django.contrib.sessions.middleware.SessionMiddleware.process_request"
744
720
- op="middleware.django": description="django.contrib.auth.middleware.AuthenticationMiddleware.process_request"
745
721
- op="middleware.django": description="tests.integrations.django.myapp.settings.TestMiddleware.process_request"
@@ -749,22 +725,71 @@ def test_middleware_spans(sentry_init, client, capture_events, render_span_tree)
749
725
- op="middleware.django": description="django.middleware.csrf.CsrfViewMiddleware.process_response"
750
726
- op="middleware.django": description="django.contrib.sessions.middleware.SessionMiddleware.process_response"\
751
727
"""
752
- )
728
+
729
+
730
+ def test_middleware_spans (sentry_init , client , capture_events , render_span_tree ):
731
+ sentry_init (
732
+ integrations = [
733
+ DjangoIntegration (signals_spans = False ),
734
+ ],
735
+ traces_sample_rate = 1.0 ,
736
+ )
737
+ events = capture_events ()
738
+
739
+ client .get (reverse ("message" ))
740
+
741
+ message , transaction = events
742
+
743
+ assert message ["message" ] == "hi"
744
+ assert render_span_tree (transaction ) == EXPECTED_MIDDLEWARE_SPANS
753
745
754
746
755
747
def test_middleware_spans_disabled (sentry_init , client , capture_events ):
756
748
sentry_init (
757
- integrations = [DjangoIntegration (middleware_spans = False )], traces_sample_rate = 1.0
749
+ integrations = [
750
+ DjangoIntegration (middleware_spans = False , signals_spans = False ),
751
+ ],
752
+ traces_sample_rate = 1.0 ,
758
753
)
759
754
events = capture_events ()
760
755
761
- _content , status , _headers = client .get (reverse ("message" ))
756
+ client .get (reverse ("message" ))
762
757
763
758
message , transaction = events
764
759
765
760
assert message ["message" ] == "hi"
761
+ assert not len (transaction ["spans" ])
762
+
763
+
764
+ if DJANGO_VERSION >= (1 , 10 ):
765
+ EXPECTED_SIGNALS_SPANS = """\
766
+ - op="http.server": description=null
767
+ - op="event.django": description="django.db.reset_queries"
768
+ - op="event.django": description="django.db.close_old_connections"\
769
+ """
770
+ else :
771
+ EXPECTED_SIGNALS_SPANS = """\
772
+ - op="http.server": description=null
773
+ - op="event.django": description="django.db.reset_queries"
774
+ - op="event.django": description="django.db.close_old_connections"\
775
+ """
776
+
777
+
778
+ def test_signals_spans (sentry_init , client , capture_events , render_span_tree ):
779
+ sentry_init (
780
+ integrations = [
781
+ DjangoIntegration (middleware_spans = False ),
782
+ ],
783
+ traces_sample_rate = 1.0 ,
784
+ )
785
+ events = capture_events ()
766
786
767
- assert len (transaction ["spans" ]) == 2
787
+ client .get (reverse ("message" ))
788
+
789
+ message , transaction = events
790
+
791
+ assert message ["message" ] == "hi"
792
+ assert render_span_tree (transaction ) == EXPECTED_SIGNALS_SPANS
768
793
769
794
assert transaction ["spans" ][0 ]["op" ] == "event.django"
770
795
assert transaction ["spans" ][0 ]["description" ] == "django.db.reset_queries"
@@ -773,6 +798,23 @@ def test_middleware_spans_disabled(sentry_init, client, capture_events):
773
798
assert transaction ["spans" ][1 ]["description" ] == "django.db.close_old_connections"
774
799
775
800
801
+ def test_signals_spans_disabled (sentry_init , client , capture_events ):
802
+ sentry_init (
803
+ integrations = [
804
+ DjangoIntegration (middleware_spans = False , signals_spans = False ),
805
+ ],
806
+ traces_sample_rate = 1.0 ,
807
+ )
808
+ events = capture_events ()
809
+
810
+ client .get (reverse ("message" ))
811
+
812
+ message , transaction = events
813
+
814
+ assert message ["message" ] == "hi"
815
+ assert not transaction ["spans" ]
816
+
817
+
776
818
def test_csrf (sentry_init , client ):
777
819
"""
778
820
Assert that CSRF view decorator works even with the view wrapped in our own
0 commit comments