@@ -58,8 +58,9 @@ def test_sealed_deferred_field(self):
58
58
message = (
59
59
'Attempt to fetch deferred field "weight" on sealed <SeaLion instance>'
60
60
)
61
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
61
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
62
62
instance .weight
63
+ self .assertEqual (ctx .filename , __file__ )
63
64
64
65
def test_not_sealed_deferred_field (self ):
65
66
instance = SeaLion .objects .defer ("weight" ).get ()
@@ -70,8 +71,9 @@ def test_sealed_foreign_key(self):
70
71
message = (
71
72
'Attempt to fetch related field "location" on sealed <SeaLion instance>'
72
73
)
73
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
74
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
74
75
instance .location
76
+ self .assertEqual (ctx .filename , __file__ )
75
77
76
78
def test_not_sealed_foreign_key (self ):
77
79
instance = SeaLion .objects .get ()
@@ -84,10 +86,11 @@ def test_sealed_select_related_foreign_key(self):
84
86
message = (
85
87
'Attempt to fetch related field "location" on sealed <SeaLion instance>'
86
88
)
87
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
89
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
88
90
instance .sealion .location
89
91
instance = SeaGull .objects .select_related ("sealion__location" ).seal ().get ()
90
92
self .assertEqual (instance .sealion .location , self .location )
93
+ self .assertEqual (ctx .filename , __file__ )
91
94
92
95
def test_sealed_select_related_none_foreign_key (self ):
93
96
SeaLion .objects .update (location = None )
@@ -145,16 +148,18 @@ def test_sealed_select_related_deferred_field(self):
145
148
message = (
146
149
'Attempt to fetch deferred field "longitude" on sealed <Location instance>'
147
150
)
148
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
151
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
149
152
instance .sealion .location .longitude
153
+ self .assertEqual (ctx .filename , __file__ )
150
154
151
155
def test_sealed_one_to_one (self ):
152
156
instance = SeaGull .objects .seal ().get ()
153
157
message = (
154
158
'Attempt to fetch related field "sealion" on sealed <SeaGull instance>'
155
159
)
156
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
160
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
157
161
instance .sealion
162
+ self .assertEqual (ctx .filename , __file__ )
158
163
159
164
def test_not_sealed_one_to_one (self ):
160
165
instance = SeaGull .objects .get ()
@@ -185,10 +190,12 @@ def test_sealed_prefetch_related_reverse_one_to_one(self):
185
190
def test_sealed_many_to_many (self ):
186
191
instance = SeaLion .objects .seal ().get ()
187
192
message = 'Attempt to fetch many-to-many field "previous_locations" on sealed <SeaLion instance>'
188
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
193
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
189
194
list (instance .previous_locations .all ())
190
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
195
+ self .assertEqual (ctx .filename , __file__ )
196
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
191
197
instance .previous_locations .all ()[0 ]
198
+ self .assertEqual (ctx .filename , __file__ )
192
199
193
200
def test_sealed_many_to_many_queryset (self ):
194
201
instance = SeaLion .objects .seal ().get ()
@@ -212,8 +219,9 @@ def test_sealed_string_prefetched_many_to_many(self):
212
219
self .assertSequenceEqual (instance .previous_locations .all (), [self .location ])
213
220
instance = instance .previous_locations .all ()[0 ]
214
221
message = 'Attempt to fetch many-to-many field "previous_visitors" on sealed <Location instance>'
215
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
222
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
216
223
list (instance .previous_visitors .all ())
224
+ self .assertEqual (ctx .filename , __file__ )
217
225
218
226
def test_sealed_prefetch_prefetched_many_to_many (self ):
219
227
instance = (
@@ -227,8 +235,9 @@ def test_sealed_prefetch_prefetched_many_to_many(self):
227
235
self .assertSequenceEqual (instance .previous_locations .all (), [self .location ])
228
236
instance = instance .previous_locations .all ()[0 ]
229
237
message = 'Attempt to fetch many-to-many field "previous_visitors" on sealed <Location instance>'
230
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
238
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
231
239
list (instance .previous_visitors .all ())
240
+ self .assertEqual (ctx .filename , __file__ )
232
241
233
242
def test_sealed_prefetch_queryset_prefetched_many_to_many (self ):
234
243
instance = (
@@ -242,8 +251,9 @@ def test_sealed_prefetch_queryset_prefetched_many_to_many(self):
242
251
self .assertSequenceEqual (instance .previous_locations .all (), [self .location ])
243
252
instance = instance .previous_locations .all ()[0 ]
244
253
message = 'Attempt to fetch many-to-many field "previous_visitors" on sealed <Location instance>'
245
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
254
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
246
255
list (instance .previous_visitors .all ())
256
+ self .assertEqual (ctx .filename , __file__ )
247
257
248
258
def test_sealed_string_prefetched_nested_many_to_many (self ):
249
259
with self .assertNumQueries (3 ):
@@ -262,8 +272,9 @@ def test_sealed_string_prefetched_nested_many_to_many(self):
262
272
)
263
273
instance = instance .previous_locations .all ()[0 ].previous_visitors .all ()[0 ]
264
274
message = 'Attempt to fetch many-to-many field "previous_locations" on sealed <SeaLion instance>'
265
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
275
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
266
276
list (instance .previous_locations .all ())
277
+ self .assertEqual (ctx .filename , __file__ )
267
278
268
279
def test_sealed_prefetch_prefetched_nested_many_to_many (self ):
269
280
instance = (
@@ -281,8 +292,9 @@ def test_sealed_prefetch_prefetched_nested_many_to_many(self):
281
292
)
282
293
instance = instance .previous_locations .all ()[0 ].previous_visitors .all ()[0 ]
283
294
message = 'Attempt to fetch many-to-many field "previous_locations" on sealed <SeaLion instance>'
284
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
295
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
285
296
list (instance .previous_locations .all ())
297
+ self .assertEqual (ctx .filename , __file__ )
286
298
287
299
def test_prefetched_sealed_many_to_many (self ):
288
300
instance = SeaLion .objects .prefetch_related (
@@ -291,14 +303,16 @@ def test_prefetched_sealed_many_to_many(self):
291
303
with self .assertNumQueries (0 ):
292
304
self .assertSequenceEqual (instance .previous_locations .all (), [self .location ])
293
305
message = 'Attempt to fetch many-to-many field "previous_visitors" on sealed <Location instance>'
294
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
306
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
295
307
list (instance .previous_locations .all ()[0 ].previous_visitors .all ())
308
+ self .assertEqual (ctx .filename , __file__ )
296
309
297
310
def test_sealed_deferred_parent_link (self ):
298
311
instance = GreatSeaLion .objects .only ("pk" ).seal ().get ()
299
312
message = 'Attempt to fetch related field "sealion_ptr" on sealed <GreatSeaLion instance>'
300
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
313
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
301
314
instance .sealion_ptr
315
+ self .assertEqual (ctx .filename , __file__ )
302
316
303
317
def test_not_sealed_parent_link (self ):
304
318
instance = GreatSeaLion .objects .only ("pk" ).get ()
@@ -312,8 +326,9 @@ def test_sealed_parent_link(self):
312
326
def test_sealed_generic_foreign_key (self ):
313
327
instance = Nickname .objects .seal ().get ()
314
328
message = 'Attempt to fetch related field "content_object" on sealed <Nickname instance>'
315
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
329
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
316
330
instance .content_object
331
+ self .assertEqual (ctx .filename , __file__ )
317
332
318
333
def test_not_sealed_generic_foreign_key (self ):
319
334
instance = Nickname .objects .get ()
@@ -327,8 +342,9 @@ def test_sealed_prefetch_related_generic_foreign_key(self):
327
342
def test_sealed_reverse_foreign_key (self ):
328
343
instance = Location .objects .seal ().get ()
329
344
message = 'Attempt to fetch many-to-many field "visitors" on sealed <Location instance>'
330
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
345
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
331
346
list (instance .visitors .all ())
347
+ self .assertEqual (ctx .filename , __file__ )
332
348
333
349
def test_not_sealed_reverse_foreign_key (self ):
334
350
instance = Location .objects .get ()
@@ -343,8 +359,9 @@ def test_sealed_reverse_parent_link(self):
343
359
message = (
344
360
'Attempt to fetch related field "greatsealion" on sealed <SeaLion instance>'
345
361
)
346
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
362
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
347
363
instance .greatsealion
364
+ self .assertEqual (ctx .filename , __file__ )
348
365
349
366
def test_not_sealed_reverse_parent_link (self ):
350
367
instance = SeaLion .objects .get ()
@@ -357,10 +374,12 @@ def test_sealed_select_related_reverse_parent_link(self):
357
374
def test_sealed_reverse_many_to_many (self ):
358
375
instance = Location .objects .seal ().get ()
359
376
message = 'Attempt to fetch many-to-many field "previous_visitors" on sealed <Location instance>'
360
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
377
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
361
378
list (instance .previous_visitors .all ())
362
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
379
+ self .assertEqual (ctx .filename , __file__ )
380
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
363
381
instance .previous_visitors .all ()[0 ]
382
+ self .assertEqual (ctx .filename , __file__ )
364
383
365
384
def test_sealed_reverse_many_to_many_queryset (self ):
366
385
instance = Location .objects .seal ().get ()
@@ -385,10 +404,12 @@ def test_sealed_prefetched_reverse_many_to_many(self):
385
404
def test_sealed_generic_relation (self ):
386
405
instance = SeaGull .objects .seal ().get ()
387
406
message = 'Attempt to fetch many-to-many field "nicknames" on sealed <SeaGull instance>'
388
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
407
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
389
408
list (instance .nicknames .all ())
390
- with self .assertWarnsMessage (UnsealedAttributeAccess , message ):
409
+ self .assertEqual (ctx .filename , __file__ )
410
+ with self .assertWarnsMessage (UnsealedAttributeAccess , message ) as ctx :
391
411
instance .nicknames .all ()[0 ]
412
+ self .assertEqual (ctx .filename , __file__ )
392
413
393
414
def test_not_sealed_generic_relation (self ):
394
415
instance = SeaGull .objects .get ()
0 commit comments