forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_config_literal_status.py
More file actions
38 lines (26 loc) · 1.36 KB
/
Copy pathtest_config_literal_status.py
File metadata and controls
38 lines (26 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""Regression tests for literal Rich status output in ``omi config``."""
from __future__ import annotations
from pathlib import Path
from omi_cli import config as cfg
from omi_cli.main import app
def test_config_profile_status_renders_user_markup_literally(config_path: Path, cli_runner) -> None:
name = "[/bold]"
use_result = cli_runner.invoke(app, ["config", "profile", "use", name])
assert use_result.exit_code == 0, use_result.output
assert name in use_result.stderr
assert cfg.load().active_profile == name
value = "https://example.test/[/bold]"
set_result = cli_runner.invoke(app, ["config", "set", "api_base", value])
assert set_result.exit_code == 0, set_result.output
assert value in set_result.stderr
assert cfg.load().get_profile(name).api_base == value
delete_result = cli_runner.invoke(app, ["config", "profile", "delete", name, "--yes"])
assert delete_result.exit_code == 0, delete_result.output
assert name in delete_result.stderr
assert name not in cfg.load().profiles
def test_config_status_preserves_matched_rich_tags_as_literal_text(config_path: Path, cli_runner) -> None:
name = "[bold]literal[/bold]"
result = cli_runner.invoke(app, ["config", "profile", "use", name])
assert result.exit_code == 0, result.output
assert name in result.stderr
assert cfg.load().active_profile == name