| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,32 @@ | |||
| 1 | + """ | ||
| 2 | + Ensure objects defined in gitlab.v4.objects are imported in | ||
| 3 | + `gitlab/v4/objects/__init__.py` | ||
| 4 | + | ||
| 5 | + """ | ||
| 6 | + import pkgutil | ||
| 7 | + from typing import Set | ||
| 8 | + | ||
| 9 | + import gitlab.v4.objects | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + def test_verify_v4_objects_imported() -> None: | ||
| 13 | + assert len(gitlab.v4.objects.__path__) == 1 | ||
| 14 | + | ||
| 15 | + init_files: Set[str] = set() | ||
| 16 | + with open(gitlab.v4.objects.__file__, "r") as in_file: | ||
| 17 | + for line in in_file.readlines(): | ||
| 18 | + if line.startswith("from ."): | ||
| 19 | + init_files.add(line.rstrip()) | ||
| 20 | + | ||
| 21 | + object_files = set() | ||
| 22 | + for module in pkgutil.iter_modules(gitlab.v4.objects.__path__): | ||
| 23 | + object_files.add(f"from .{module.name} import *") | ||
| 24 | + | ||
| 25 | + missing_in_init = object_files - init_files | ||
| 26 | + error_message = ( | ||
| 27 | + f"\nThe file {gitlab.v4.objects.__file__!r} is missing the following imports:" | ||
| 28 | + ) | ||
| 29 | + for missing in sorted(missing_in_init): | ||
| 30 | + error_message += f"\n {missing}" | ||
| 31 | + | ||
| 32 | + assert not missing_in_init, error_message | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments