37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
import pytest
|
|
from flexmock import flexmock
|
|
|
|
from borgmatic.config import load as module
|
|
|
|
|
|
def test_probe_and_include_file_with_absolute_path_skips_probing():
|
|
config = flexmock()
|
|
flexmock(module).should_receive('load_configuration').with_args('/etc/include.yaml').and_return(
|
|
config
|
|
).once()
|
|
|
|
assert module.probe_and_include_file('/etc/include.yaml', ['/etc', '/var']) == config
|
|
|
|
|
|
def test_probe_and_include_file_with_relative_path_probes_include_directories():
|
|
config = flexmock()
|
|
flexmock(module.os.path).should_receive('exists').with_args('/etc/include.yaml').and_return(
|
|
False
|
|
)
|
|
flexmock(module.os.path).should_receive('exists').with_args('/var/include.yaml').and_return(
|
|
True
|
|
)
|
|
flexmock(module).should_receive('load_configuration').with_args('/etc/include.yaml').never()
|
|
flexmock(module).should_receive('load_configuration').with_args('/var/include.yaml').and_return(
|
|
config
|
|
).once()
|
|
|
|
assert module.probe_and_include_file('include.yaml', ['/etc', '/var']) == config
|
|
|
|
|
|
def test_probe_and_include_file_with_relative_path_and_missing_files_raises():
|
|
flexmock(module.os.path).should_receive('exists').and_return(False)
|
|
flexmock(module).should_receive('load_configuration').never()
|
|
|
|
with pytest.raises(FileNotFoundError):
|
|
module.probe_and_include_file('include.yaml', ['/etc', '/var'])
|