88from typing import Tuple ,Type
99
1010import _pytest
11- import toml
1211
1312import gitlab .mixins
1413import gitlab .v4 .objects
@@ -18,20 +17,8 @@ def pytest_generate_tests(metafunc: _pytest.python.Metafunc) -> None:
1817"""Find all of the classes in gitlab.v4.objects and pass them to our test
1918 function"""
2019
21- # Ignore any modules that we are ignoring in our pyproject.toml
22- excluded_modules = set ()
23- with open ("pyproject.toml" ,"r" )as in_file :
24- pyproject = toml .load (in_file )
25- overrides = pyproject .get ("tool" , {}).get ("mypy" , {}).get ("overrides" , [])
26- for override in overrides :
27- if not override .get ("ignore_errors" ):
28- continue
29- for module in override .get ("module" , []):
30- if module .startswith ("gitlab.v4.objects" ):
31- excluded_modules .add (module )
32-
33- class_info_list = []
34- for module_name ,module_value in inspect .getmembers (gitlab .v4 .objects ):
20+ class_info_set = set ()
21+ for _ ,module_value in inspect .getmembers (gitlab .v4 .objects ):
3522if not inspect .ismodule (module_value ):
3623# We only care about the modules
3724continue
@@ -41,17 +28,16 @@ def pytest_generate_tests(metafunc: _pytest.python.Metafunc) -> None:
4128continue
4229
4330module_name = class_value .__module__
44- # Ignore modules that mypy is ignoring
45- if module_name in excluded_modules :
46- continue
47-
4831# Ignore imported classes from gitlab.base
4932if module_name == "gitlab.base" :
5033continue
5134
52- class_info_list .append ((class_name ,class_value ))
35+ if not class_name .endswith ("Manager" ):
36+ continue
37+
38+ class_info_set .add ((class_name ,class_value ))
5339
54- metafunc .parametrize ("class_info" ,class_info_list )
40+ metafunc .parametrize ("class_info" ,class_info_set )
5541
5642
5743class TestTypeHints :