| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- import pytest
 
- from borgmatic.config import environment as module
 
- def test_env(monkeypatch):
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE', 'foo')
 
-     config = {'key': 'Hello $MY_CUSTOM_VALUE'}
 
-     module.resolve_env_variables(config)
 
-     assert config == {'key': 'Hello $MY_CUSTOM_VALUE'}
 
- def test_env_braces(monkeypatch):
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE', 'foo')
 
-     config = {'key': 'Hello ${MY_CUSTOM_VALUE}'}  # noqa: FS003
 
-     module.resolve_env_variables(config)
 
-     assert config == {'key': 'Hello foo'}
 
- def test_env_multi(monkeypatch):
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE', 'foo')
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE2', 'bar')
 
-     config = {'key': 'Hello ${MY_CUSTOM_VALUE}${MY_CUSTOM_VALUE2}'}  # noqa: FS003
 
-     module.resolve_env_variables(config)
 
-     assert config == {'key': 'Hello foobar'}
 
- def test_env_escape(monkeypatch):
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE', 'foo')
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE2', 'bar')
 
-     config = {'key': r'Hello ${MY_CUSTOM_VALUE} \${MY_CUSTOM_VALUE}'}  # noqa: FS003
 
-     module.resolve_env_variables(config)
 
-     assert config == {'key': r'Hello foo ${MY_CUSTOM_VALUE}'}  # noqa: FS003
 
- def test_env_default_value(monkeypatch):
 
-     monkeypatch.delenv('MY_CUSTOM_VALUE', raising=False)
 
-     config = {'key': 'Hello ${MY_CUSTOM_VALUE:-bar}'}  # noqa: FS003
 
-     module.resolve_env_variables(config)
 
-     assert config == {'key': 'Hello bar'}
 
- def test_env_unknown(monkeypatch):
 
-     monkeypatch.delenv('MY_CUSTOM_VALUE', raising=False)
 
-     config = {'key': 'Hello ${MY_CUSTOM_VALUE}'}  # noqa: FS003
 
-     with pytest.raises(ValueError):
 
-         module.resolve_env_variables(config)
 
- def test_env_full(monkeypatch):
 
-     monkeypatch.setenv('MY_CUSTOM_VALUE', 'foo')
 
-     monkeypatch.delenv('MY_CUSTOM_VALUE2', raising=False)
 
-     config = {
 
-         'key': 'Hello $MY_CUSTOM_VALUE is not resolved',
 
-         'dict': {
 
-             'key': 'value',
 
-             'anotherdict': {
 
-                 'key': 'My ${MY_CUSTOM_VALUE} here',  # noqa: FS003
 
-                 'other': '${MY_CUSTOM_VALUE}',  # noqa: FS003
 
-                 'escaped': r'\${MY_CUSTOM_VALUE}',  # noqa: FS003
 
-                 'list': [
 
-                     '/home/${MY_CUSTOM_VALUE}/.local',  # noqa: FS003
 
-                     '/var/log/',
 
-                     '/home/${MY_CUSTOM_VALUE2:-bar}/.config',  # noqa: FS003
 
-                 ],
 
-             },
 
-         },
 
-         'list': [
 
-             '/home/${MY_CUSTOM_VALUE}/.local',  # noqa: FS003
 
-             '/var/log/',
 
-             '/home/${MY_CUSTOM_VALUE2-bar}/.config',  # noqa: FS003
 
-         ],
 
-     }
 
-     module.resolve_env_variables(config)
 
-     assert config == {
 
-         'key': 'Hello $MY_CUSTOM_VALUE is not resolved',
 
-         'dict': {
 
-             'key': 'value',
 
-             'anotherdict': {
 
-                 'key': 'My foo here',
 
-                 'other': 'foo',
 
-                 'escaped': '${MY_CUSTOM_VALUE}',  # noqa: FS003
 
-                 'list': ['/home/foo/.local', '/var/log/', '/home/bar/.config'],
 
-             },
 
-         },
 
-         'list': ['/home/foo/.local', '/var/log/', '/home/bar/.config'],
 
-     }
 
 
  |