cuando termines y verifica que esté todo subido

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-15 01:33:35 +02:00
parent e1e9bb7499
commit a90b7443e4
20 changed files with 1855 additions and 2 deletions
@@ -0,0 +1,40 @@
"""Tests para open_obsidian_vault."""
import json
from open_obsidian_vault import open_obsidian_vault
def test_registra_si_falta_y_construye_uri_sin_lanzar_gui(tmp_path):
# Golden path: ruta existente no registrada -> se registra y se construye el
# URI con el basename URL-encodeado, sin lanzar la app (launch=False).
cfg = str(tmp_path / "obsidian.json")
vault = tmp_path / "Mi Vault"
vault.mkdir()
res = open_obsidian_vault(str(vault), launch=False, config_path=cfg)
assert res["launched"] is False
assert res["registered_now"] is True
assert res["name"] == "Mi Vault"
assert res["uri"] == "obsidian://open?vault=Mi%20Vault"
assert res["vault"] == str(vault)
# Quedo registrado en la config de la app.
with open(cfg, "r", encoding="utf-8") as f:
data = json.load(f)
paths = [e["path"] for e in data["vaults"].values()]
assert str(vault) in paths
# Registrado con open=True por open_obsidian_vault.
entry = next(e for e in data["vaults"].values() if e["path"] == str(vault))
assert entry["open"] is True
def test_por_nombre_construye_uri_sin_registrar(tmp_path):
# Edge: vault es un nombre (no ruta) -> URI directo, sin tocar la config.
cfg = str(tmp_path / "obsidian.json")
res = open_obsidian_vault("MiVaultPorNombre", launch=False, config_path=cfg)
assert res["uri"] == "obsidian://open?vault=MiVaultPorNombre"
assert res["name"] == "MiVaultPorNombre"
assert res["registered_now"] is False
assert res["launched"] is False