feat: infer status url and check updates

This commit is contained in:
2026-06-09 16:45:17 +08:00
parent 3b9d092c06
commit 01aa4a6012
5 changed files with 123 additions and 12 deletions
+17
View File
@@ -86,6 +86,23 @@ class Sub2APIQuotaTUITests(unittest.TestCase):
self.assertEqual([row["name"] for row in mod.normalize_account_rows(payload, "sfast")], ["beta"])
self.assertEqual([row["name"] for row in mod.normalize_account_rows(payload, "anthropic")], ["alpha"])
def test_infers_public_status_url_from_accounts_url(self) -> None:
mod = load_module()
self.assertEqual(
mod.inferred_status_url("https://codex.server2.shujk.top/1232131231313123/api/tui/accounts"),
"https://codex.server2.shujk.top/1232131231313123/api/status",
)
self.assertEqual(mod.inferred_status_url("https://example.com/nope"), "")
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"), "")
def test_once_output_is_name_first_and_includes_daily_quota(self) -> None:
mod = load_module()
payload = {