@@ -118,94 +118,72 @@ def tearDown(self):
118118
119119 def test_user_is_owner (self ):
120120 """测试用户是所有者"""
121- import json
121+ from unittest . mock import Mock
122122
123- request = self .factory .post (
124- "/api/test/" ,
125- data = json .dumps ({"engineer" : "test_user" }),
126- content_type = "application/json" ,
127- )
128- # Wrap in DRF Request to parse data
129- request = Request (request )
123+ # Create a mock request with data attribute
124+ request = Mock ()
130125 request .user = self .user
126+ request .data = {"engineer" : "test_user" }
131127
132128 has_permission = self .permission .has_permission (request , None )
133129 self .assertTrue (has_permission )
134130
135131 def test_user_is_not_owner (self ):
136132 """测试用户不是所有者"""
137- import json
133+ from unittest . mock import Mock
138134
139- request = self .factory .post (
140- "/api/test/" ,
141- data = json .dumps ({"engineer" : "other_user" }),
142- content_type = "application/json" ,
143- )
144- # Wrap in DRF Request to parse data
145- request = Request (request )
135+ # Create a mock request with data attribute
136+ request = Mock ()
146137 request .user = self .user
138+ request .data = {"engineer" : "other_user" }
147139
148140 has_permission = self .permission .has_permission (request , None )
149141 self .assertFalse (has_permission )
150142
151143 def test_missing_engineer_parameter (self ):
152144 """测试缺少engineer参数"""
153- import json
145+ from unittest . mock import Mock
154146
155- request = self .factory .post (
156- "/api/test/" , data = json .dumps ({}), content_type = "application/json"
157- )
158- # Wrap in DRF Request to parse data
159- request = Request (request )
147+ # Create a mock request with data attribute but missing engineer
148+ request = Mock ()
160149 request .user = self .user
150+ request .data = {}
161151
162152 has_permission = self .permission .has_permission (request , None )
163153 self .assertFalse (has_permission )
164154
165155 def test_none_engineer_parameter (self ):
166156 """测试engineer参数为None"""
167- import json
157+ from unittest . mock import Mock
168158
169- request = self .factory .post (
170- "/api/test/" ,
171- data = json .dumps ({"engineer" : None }),
172- content_type = "application/json" ,
173- )
174- # Wrap in DRF Request to parse data
175- request = Request (request )
159+ # Create a mock request with engineer=None
160+ request = Mock ()
176161 request .user = self .user
162+ request .data = {"engineer" : None }
177163
178164 has_permission = self .permission .has_permission (request , None )
179165 self .assertFalse (has_permission )
180166
181167 def test_empty_engineer_parameter (self ):
182168 """测试engineer参数为空字符串"""
183- import json
169+ from unittest . mock import Mock
184170
185- request = self .factory .post (
186- "/api/test/" ,
187- data = json .dumps ({"engineer" : "" }),
188- content_type = "application/json" ,
189- )
190- # Wrap in DRF Request to parse data
191- request = Request (request )
171+ # Create a mock request with empty engineer string
172+ request = Mock ()
192173 request .user = self .user
174+ request .data = {"engineer" : "" }
193175
194176 has_permission = self .permission .has_permission (request , None )
195177 self .assertFalse (has_permission )
196178
197179 def test_case_sensitive_username (self ):
198180 """测试用户名大小写敏感"""
199- import json
181+ from unittest . mock import Mock
200182
201- request = self .factory .post (
202- "/api/test/" ,
203- data = json .dumps ({"engineer" : "TEST_USER" }), # 大写用户名
204- content_type = "application/json" ,
205- )
206- # Wrap in DRF Request to parse data
207- request = Request (request )
208- request .user = self .user # 小写用户名
183+ # Create a mock request with uppercase engineer name
184+ request = Mock ()
185+ request .user = self .user # 小写用户名 test_user
186+ request .data = {"engineer" : "TEST_USER" } # 大写用户名
209187
210188 has_permission = self .permission .has_permission (request , None )
211189 # 取决于实现,如果用户名大小写敏感,应该返回False
0 commit comments