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