test: G14/open 旧口径测试按 P1 口径更新

- test_system_quota_exempt_server → test_system_quota_not_exempt_server:system 按普通属主算,quota 0 时照常拦(402)。
- test_system_task_exempt_from_quota → test_system_task_not_exempt_from_quota:system quota 0 时认领门拦,标 interrupted。
- test_poll_quota_lookup_failure_open → test_poll_quota_lookup_failure_open_returns_check_failed:open 异常时回 quota_check_failed(边界拒绝、轮询经 _quota_hit 过滤只警告),closed 回 quota_check_unavailable。
This commit is contained in:
host committed 2026-10-28 11:25:17 +08:00
1 parent e31fcc6cba
commit 9f49b97cd3
2 files changed
+26 -12

No files matched your search

+7 -3
View File
@@ -375,7 +375,10 @@ class ServerQuotasTestCase(unittest.TestCase):
self.assertEqual(n, 0)
# -- G13:system 豁免(server 侧) -----------------------------------
def test_system_quota_exempt_server(self):
def test_system_quota_not_exempt_server(self):
# P1 口径:system 按普通属主算,不豁免(G14 的 system 豁免
# 与 P1 冲突,rebase 时未合入)。quota 0、used 0 时
# used >= quota,照常拦。
conn = sqlite3.connect(self.db_path)
try:
conn.execute(
@@ -386,8 +389,9 @@ class ServerQuotasTestCase(unittest.TestCase):
conn.close()
handler = object.__new__(CloudControlPlaneHandler)
handler.server = SimpleNamespace(db_path=self.db_path)
self.assertIsNone(handler._check_quota("system"))
self.assertFalse(handler._reject_if_over_quota("system"))
handler._send_json = lambda *args, **kwargs: None
self.assertIsNotNone(handler._check_quota("system"))
self.assertTrue(handler._reject_if_over_quota("system"))
# -- G13/G14:/pr 按请求人过配额门、队列记归属人 ----------------------
def _merged_remote_task(self):
+19 -9
View File
@@ -360,7 +360,12 @@ class WorkerQuotaTestCase(unittest.TestCase):
conn.close()
self.assertEqual(rows, [])
def test_poll_quota_lookup_failure_open(self):
def test_poll_quota_lookup_failure_open_returns_check_failed(self):
# 合并后口径(G7 + P1):open 不再回 None 放行,而是回
# quota_check_failed——新回合边界见此串即拒绝;执行中
# 轮询经 _quota_hit 闭包过滤此串、只警告不杀轮(轮询
# 不杀的语义由闭包保证,不是由这里回 None 保证)。
# closed(认领门)回 quota_check_unavailable。
_insert_task(self.db_path, "T1")
worker = self._worker(_usage_runner(
{"input_tokens": 1, "output_tokens": 1, "total_tokens": 2},
@@ -369,21 +374,26 @@ class WorkerQuotaTestCase(unittest.TestCase):
with mock.patch.object(
Worker, "_quota_limit_and_used",
side_effect=RuntimeError("db down")):
# 默认 on_error="open":异常不冒充超限,放行。
self.assertIsNone(worker._quota_exceeded(task, None))
self.assertIsNone(worker._quota_exceeded(task, None,
on_error="open"))
err = worker._quota_exceeded(task, None)
self.assertTrue(err.startswith("quota_check_failed:"))
err = worker._quota_exceeded(task, None, on_error="open")
self.assertTrue(err.startswith("quota_check_failed:"))
err = worker._quota_exceeded(task, None, on_error="closed")
self.assertTrue(err.startswith("quota_check_unavailable:"))
# -- G13:system 豁免(worker 侧) ----------------------------------
def test_system_task_exempt_from_quota(self):
# -- G13:system 不豁免(worker 侧,P1 口径) ------------------------
def test_system_task_not_exempt_from_quota(self):
# P1 口径:system 按普通属主算,不豁免(G14 的 system 豁免
# 与 P1 冲突,rebase 时未合入)。quota 0 时认领门即拦,
# 标 interrupted(可续跑),不是 completed。
_insert_quota(self.db_path, "system", 0)
_insert_task(self.db_path, "T1", created_by="system")
worker = self._worker(_usage_runner(
{"input_tokens": 100, "output_tokens": 10, "total_tokens": 110},
self.calls))
result = worker.run_one()
self.assertEqual(result["status"], "completed")
self.assertEqual(_status(self.db_path, "T1"), "completed")
self.assertEqual(result["status"], "interrupted")
self.assertEqual(_status(self.db_path, "T1"), "interrupted")
# -- G8 Docker 轮询掐断 ---------------------------------------------
def test_docker_quota_poll_kills_container(self):