6
6
from django .test import AsyncRequestFactory , RequestFactory
7
7
8
8
from debug_toolbar .panels .staticfiles import URLMixin
9
+
9
10
from ..base import BaseTestCase
10
11
11
12
@@ -82,21 +83,21 @@ def test_storage_state_preservation(self):
82
83
"""Ensure the URLMixin doesn't affect storage state"""
83
84
original_storage = storage .staticfiles_storage
84
85
original_attrs = dict (original_storage .__dict__ )
85
-
86
+
86
87
# Trigger mixin injection
87
88
self .panel .ready ()
88
-
89
+
89
90
# Verify all original attributes are preserved
90
91
self .assertEqual (original_attrs , dict (original_storage .__dict__ ))
91
92
92
93
def test_context_variable_lifecycle (self ):
93
94
"""Test the request_id context variable lifecycle"""
94
95
from debug_toolbar .panels .staticfiles import request_id_context_var
95
-
96
+
96
97
# Should not raise when context not set
97
98
url = storage .staticfiles_storage .url ("test.css" )
98
99
self .assertTrue (url .startswith ("/static/" ))
99
-
100
+
100
101
# Should track when context is set
101
102
token = request_id_context_var .set ("test-request-id" )
102
103
try :
@@ -105,18 +106,16 @@ def test_context_variable_lifecycle(self):
105
106
# Verify file was tracked
106
107
self .assertIn ("test.css" , [f .path for f in self .panel .used_paths ])
107
108
finally :
108
- request_id_context_var .reset (token )
109
-
109
+ request_id_context_var .reset (token )
110
+
110
111
def test_multiple_initialization (self ):
111
112
"""Ensure multiple panel initializations don't stack URLMixin"""
112
113
storage_class = storage .staticfiles_storage .__class__
113
-
114
+
114
115
# Initialize panel multiple times
115
116
for _ in range (3 ):
116
117
self .panel .ready ()
117
-
118
+
118
119
# Verify URLMixin appears exactly once in bases
119
- mixin_count = sum (
120
- 1 for base in storage_class .__bases__ if base == URLMixin
121
- )
120
+ mixin_count = sum (1 for base in storage_class .__bases__ if base == URLMixin )
122
121
self .assertEqual (mixin_count , 1 )
0 commit comments