@@ -15,6 +15,9 @@ def deprecated_methods(self):
15
15
def deprecated_modules (self ):
16
16
return {"deprecated_module" }
17
17
18
+ def deprecated_classes (self , module ):
19
+ return ["DeprecatedClass" ] if module == "deprecated" else []
20
+
18
21
def deprecated_arguments (self , method ):
19
22
if method == "myfunction1" :
20
23
# def myfunction1(arg1, deprecated_arg1='spam')
@@ -416,3 +419,55 @@ def test_deprecated_module_from(self):
416
419
)
417
420
):
418
421
self .checker .visit_importfrom (node )
422
+
423
+ def test_deprecated_class_import_from (self ):
424
+ # Tests detecting deprecated class via import from
425
+ node = astroid .extract_node (
426
+ """
427
+ from .deprecated import DeprecatedClass
428
+ """
429
+ )
430
+ with self .assertAddsMessages (
431
+ Message (
432
+ msg_id = "deprecated-class" ,
433
+ args = ("DeprecatedClass" , "deprecated" ),
434
+ node = node ,
435
+ confidence = UNDEFINED ,
436
+ )
437
+ ):
438
+ self .checker .visit_importfrom (node )
439
+
440
+ def test_deprecated_class_import (self ):
441
+ # Tests detecting deprecated class via import
442
+ node = astroid .extract_node (
443
+ """
444
+ import deprecated.DeprecatedClass
445
+ """
446
+ )
447
+ with self .assertAddsMessages (
448
+ Message (
449
+ msg_id = "deprecated-class" ,
450
+ args = ("DeprecatedClass" , "deprecated" ),
451
+ node = node ,
452
+ confidence = UNDEFINED ,
453
+ )
454
+ ):
455
+ self .checker .visit_import (node )
456
+
457
+ def test_deprecated_class_call (self ):
458
+ # Tests detecting deprecated class via call
459
+ node = astroid .extract_node (
460
+ """
461
+ import deprecated
462
+ deprecated.DeprecatedClass()
463
+ """
464
+ )
465
+ with self .assertAddsMessages (
466
+ Message (
467
+ msg_id = "deprecated-class" ,
468
+ args = ("DeprecatedClass" , "deprecated" ),
469
+ node = node ,
470
+ confidence = UNDEFINED ,
471
+ )
472
+ ):
473
+ self .checker .visit_call (node )
0 commit comments