|
14 | 14 |
|
15 | 15 | import pytest |
16 | 16 |
|
17 | | -from lumen.util import try_import_xarray |
| 17 | +from lumen.util import try_import |
18 | 18 |
|
19 | 19 | # Each entry: (module_path, class_name, guard_package, pip_extra) |
20 | 20 | OPTIONAL_SOURCES = [ |
@@ -88,28 +88,13 @@ def mock_import(name, *args, **kwargs): |
88 | 88 | sys.modules.update(saved) |
89 | 89 |
|
90 | 90 |
|
91 | | -def test_try_import_xarray_returns_module_when_installed(): |
92 | | - """try_import_xarray returns the xarray module when xarray and xarray-sql are installed.""" |
93 | | - xr = pytest.importorskip("xarray") |
94 | | - pytest.importorskip("xarray_sql") |
95 | | - assert try_import_xarray() is xr |
| 91 | +def test_try_import_returns_module_when_installed(): |
| 92 | + """try_import returns the imported module when it is available.""" |
| 93 | + import json |
96 | 94 |
|
| 95 | + assert try_import("json") is json |
97 | 96 |
|
98 | | -def test_try_import_xarray_none_when_missing(): |
99 | | - """try_import_xarray returns None (not raises) when xarray-sql is absent.""" |
100 | | - real_import = builtins.__import__ |
101 | | - |
102 | | - def mock_import(name, *args, **kwargs): |
103 | | - if name == "xarray_sql" or name.startswith("xarray_sql."): |
104 | | - raise ImportError("No module named 'xarray_sql'") |
105 | | - return real_import(name, *args, **kwargs) |
106 | 97 |
|
107 | | - saved = { |
108 | | - key: sys.modules.pop(key) |
109 | | - for key in [k for k in sys.modules if k == "xarray_sql" or k.startswith("xarray_sql.")] |
110 | | - } |
111 | | - try: |
112 | | - with patch("builtins.__import__", side_effect=mock_import): |
113 | | - assert try_import_xarray() is None |
114 | | - finally: |
115 | | - sys.modules.update(saved) |
| 98 | +def test_try_import_none_when_missing(): |
| 99 | + """try_import returns None (not raises) when the module is absent.""" |
| 100 | + assert try_import("a_module_that_definitely_does_not_exist_xyz") is None |
0 commit comments