Files
webterm/tests/test_config_manifest.py
T
2026-01-28 17:10:49 +00:00

48 lines
1.2 KiB
Python

import tempfile
from pathlib import Path
from webterm.config import load_compose_manifest, load_landing_yaml
def test_load_landing_yaml_simple():
data = """
- name: One
slug: one
command: echo one
- name: Two
command: echo two
"""
with tempfile.NamedTemporaryFile("w+", delete=False) as f:
f.write(data)
f.flush()
apps = load_landing_yaml(Path(f.name))
assert len(apps) == 2
assert apps[0].slug == "one"
assert apps[1].command == "echo two"
def test_load_compose_manifest_reads_label():
data = """
services:
svc1:
labels:
webterm-command: echo svc1
webterm-theme: nord
svc2:
labels:
- webterm-command=echo svc2
svc3:
labels:
other: value
"""
with tempfile.NamedTemporaryFile("w+", delete=False) as f:
f.write(data)
f.flush()
apps = load_compose_manifest(Path(f.name))
slugs = {a.slug for a in apps}
commands = {a.command for a in apps}
assert slugs == {"svc1", "svc2"}
assert "echo svc1" in commands and "echo svc2" in commands
svc1 = next(app for app in apps if app.slug == "svc1")
assert svc1.theme == "nord"