36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
"""Test python environment module."""
|
|
|
|
from pathlib import Path
|
|
|
|
from glicid_spawner import micromamba
|
|
|
|
MICROMAMBA_ROOT = Path(__file__).parent / 'data' / 'micromamba'
|
|
|
|
|
|
def test_micromamba_envs_getter(monkeypatch):
|
|
"""Test micromamba envs getter."""
|
|
monkeypatch.setattr(micromamba, 'MICROMAMBA_ROOT', MICROMAMBA_ROOT)
|
|
monkeypatch.setattr(micromamba, 'GLOBAL_USER', 'global')
|
|
monkeypatch.setattr(micromamba, 'GLOBAL_EXCLUDED', 'qux')
|
|
|
|
# User with micromamba envs
|
|
envs = micromamba.get_envs('john-doe')
|
|
|
|
assert len(envs) == 3
|
|
assert [env.scope for env in envs] == ['USER', 'USER', 'GLOBAL']
|
|
assert [env.name for env in envs] == ['bar', 'foo', 'baz']
|
|
assert [env.path for env in envs] == [
|
|
str(MICROMAMBA_ROOT / 'john-doe' / 'envs' / 'bar'),
|
|
str(MICROMAMBA_ROOT / 'john-doe' / 'envs' / 'foo'),
|
|
str(MICROMAMBA_ROOT / 'global' / 'envs' / 'baz'),
|
|
]
|
|
|
|
# User without micromamba envs, only global envs listed
|
|
envs = micromamba.get_envs('jane-smith')
|
|
|
|
assert len(envs) == 1
|
|
assert [env.scope for env in envs] == ['GLOBAL']
|
|
assert [env.name for env in envs] == ['baz']
|
|
assert [env.path for env in envs] == [
|
|
str(MICROMAMBA_ROOT / 'global' / 'envs' / 'baz'),
|
|
]
|