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:
@@ -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
|
||||
Reference in New Issue
Block a user