File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ """
2+ Ensure objects defined in gitlab.v4.objects are imported in
3+ `gitlab/v4/objects/__init__.py`
4+
5+ """
6+ import os
7+ import pkgutil
8+ from typing import Set
9+
10+ import gitlab .v4 .objects
11+
12+
13+ def test_verify_v4_objects_imported () -> None :
14+ assert len (gitlab .v4 .objects .__path__ ) == 1
15+ v4_objects_init_file = os .path .join (gitlab .v4 .objects .__path__ [0 ], "__init__.py" )
16+
17+ init_files : Set [str ] = set ()
18+ with open (v4_objects_init_file , "r" ) as in_file :
19+ for line in in_file .readlines ():
20+ if line .startswith ("from ." ):
21+ init_files .add (line .rstrip ())
22+
23+ object_files = set ()
24+ for module in pkgutil .iter_modules (gitlab .v4 .objects .__path__ ):
25+ object_files .add (f"from .{ module .name } import *" )
26+
27+ missing_in_init = object_files - init_files
28+ error_message = (
29+ f"\n The file { v4_objects_init_file !r} is missing the following imports:"
30+ )
31+ for missing in sorted (missing_in_init ):
32+ error_message += f"\n { missing } "
33+
34+ assert not missing_in_init , error_message
You can’t perform that action at this time.
0 commit comments