fix 0.1.1 (#17)

Reviewed-on: https://hattori.ztsh.eu/iac/karl/pulls/17
This commit is contained in:
Piotr Dec 2025-12-12 21:40:03 +01:00
parent d3e990384d
commit e2fd185971
47 changed files with 1043 additions and 35 deletions

50
tests/test_mo.py Normal file
View file

@ -0,0 +1,50 @@
from pathlib import Path
import pytest
import yaml
from karl.services import Passwords
from karl.services.mo import Mo
@pytest.fixture(scope='class')
def target_path():
p = Path('tests/files/test1/test.yaml')
# posprzątaj przed testem, gdyby plik istniał z poprzednich uruchomień
if p.exists():
p.unlink()
yield p
# sprzątanie po teście
if p.exists():
p.unlink()
@pytest.fixture(scope='class')
def test1_content(target_path: Path):
mo = Mo(Passwords())
mo.process(Path('tests/files/test1/test.mo.yaml').absolute())
assert target_path.exists()
content = target_path.read_text()
assert '${' not in content
yield yaml.load(content, Loader=yaml.FullLoader)
class TestParsing:
def test_simple(self, test1_content: dict):
assert test1_content['value'] == 'some_pass'
def test_nested(self, test1_content: dict):
assert test1_content['nested'] == 'nested_pass'
def test_custom_field(self, test1_content: dict):
assert test1_content['custom'] == 'custom_content'
def test_username_field(self, test1_content: dict):
assert test1_content['uname'] == 'sample_username'
def test_invalid_key(self, test1_content: dict):
assert test1_content.get('invalid') == 'None'