test: add comprehensive coverage for cli, chat, renderer, dirs, install, paths

56 new tests covering previously untested modules:
- test_cli.py: memory write/read/append/list + plugin enable/disable + daemon stubs (via CliRunner)
- test_chat_history.py: ConversationHistory build_for_api, add_*/clear, _trim_to_budget
- test_chat_renderer.py: render_text_response return values, void render_* functions
- test_config_dirs.py: bootstrap idempotency, directory/template/vault/db creation
- test_plugin_install.py: list_bundled_plugins, read_manifest, install_bundled_plugin
- test_utils_paths.py: ensure_dir (nested, idempotent), safe_chmod

Total: 171 → 227 passing tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curo1305
2026-05-18 20:16:25 +02:00
parent 928724ba39
commit 6bb7c77692
6 changed files with 476 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
import os
def test_ensure_dir_creates_directory(tmp_path):
from pyra.utils.paths import ensure_dir
target = tmp_path / "new_dir"
result = ensure_dir(target, 0o700)
assert target.exists()
assert target.is_dir()
def test_ensure_dir_returns_path(tmp_path):
from pyra.utils.paths import ensure_dir
target = tmp_path / "new_dir"
result = ensure_dir(target)
assert result == target
def test_ensure_dir_idempotent(tmp_path):
from pyra.utils.paths import ensure_dir
target = tmp_path / "existing_dir"
ensure_dir(target, 0o700)
ensure_dir(target, 0o700) # should not raise
assert target.is_dir()
def test_ensure_dir_creates_nested(tmp_path):
from pyra.utils.paths import ensure_dir
target = tmp_path / "a" / "b" / "c"
ensure_dir(target, 0o700)
assert target.exists()
def test_safe_chmod_sets_permissions(tmp_path):
from pyra.utils.paths import safe_chmod
f = tmp_path / "test.txt"
f.write_text("content")
safe_chmod(f, 0o600)
if os.name != "nt":
assert oct(f.stat().st_mode)[-3:] == "600"
def test_safe_chmod_different_modes(tmp_path):
from pyra.utils.paths import safe_chmod
f = tmp_path / "test.txt"
f.write_text("content")
safe_chmod(f, 0o644)
if os.name != "nt":
assert oct(f.stat().st_mode)[-3:] == "644"