test_lite_imports.py 883 B

1234567891011121314151617181920212223242526272829
  1. import importlib
  2. import sys
  3. def test_create_app_lite_mode_does_not_import_full_ops_modules() -> None:
  4. module_names = [
  5. "main",
  6. "dashboard.api",
  7. "ops.rotate",
  8. "ops.cleanup",
  9. "ops.validate",
  10. ]
  11. saved_modules = {name: sys.modules.get(name) for name in module_names}
  12. try:
  13. for name in module_names:
  14. sys.modules.pop(name, None)
  15. main = importlib.import_module("main")
  16. _app = main.create_app(enable_background_tasks=False, mode="lite")
  17. assert "ops.rotate" not in sys.modules
  18. assert "ops.cleanup" not in sys.modules
  19. assert "ops.validate" not in sys.modules
  20. finally:
  21. for name in module_names:
  22. sys.modules.pop(name, None)
  23. for name, module in saved_modules.items():
  24. if module is not None:
  25. sys.modules[name] = module