feat: persist config from uvx bootstrap
This commit is contained in:
+23
-4
@@ -2,9 +2,11 @@ from __future__ import annotations
|
||||
|
||||
import contextlib
|
||||
import io
|
||||
import os
|
||||
from pathlib import Path
|
||||
import importlib.util
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
|
||||
@@ -98,10 +100,27 @@ class Sub2APIQuotaTUITests(unittest.TestCase):
|
||||
def test_version_update_message_only_for_newer_versions(self) -> None:
|
||||
mod = load_module()
|
||||
|
||||
self.assertEqual(mod.latest_version_from_text('name = "shusub2"\nversion = "0.1.7"\n'), "0.1.7")
|
||||
self.assertIn("0.1.6 -> 0.1.7", mod.version_update_message("0.1.7", "0.1.6"))
|
||||
self.assertEqual(mod.version_update_message("0.1.6", "0.1.6"), "")
|
||||
self.assertEqual(mod.version_update_message("0.1.5", "0.1.6"), "")
|
||||
self.assertEqual(mod.latest_version_from_text('name = "shusub2"\nversion = "0.1.8"\n'), "0.1.8")
|
||||
self.assertIn("0.1.7 -> 0.1.8", mod.version_update_message("0.1.8", "0.1.7"))
|
||||
self.assertEqual(mod.version_update_message("0.1.7", "0.1.7"), "")
|
||||
self.assertEqual(mod.version_update_message("0.1.6", "0.1.7"), "")
|
||||
|
||||
def test_write_api_url_config_uses_config_file_env(self) -> None:
|
||||
mod = load_module()
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
config_file = Path(tmp) / "shusub2" / "api-url"
|
||||
old_value = os.environ.get("SHUSUB2_API_URL_FILE")
|
||||
os.environ["SHUSUB2_API_URL_FILE"] = str(config_file)
|
||||
try:
|
||||
written = mod.write_api_url_config("https://example.com/api/tui/accounts")
|
||||
self.assertEqual(written, config_file)
|
||||
self.assertEqual(config_file.read_text(encoding="utf-8"), "https://example.com/api/tui/accounts\n")
|
||||
finally:
|
||||
if old_value is None:
|
||||
os.environ.pop("SHUSUB2_API_URL_FILE", None)
|
||||
else:
|
||||
os.environ["SHUSUB2_API_URL_FILE"] = old_value
|
||||
|
||||
def test_once_output_is_name_first_and_includes_daily_quota(self) -> None:
|
||||
mod = load_module()
|
||||
|
||||
Reference in New Issue
Block a user