fix: preserve empty native group metadata

This commit is contained in:
2026-08-08 13:35:39 +08:00
parent 6403d2f511
commit 48c9c651d7
4 changed files with 24 additions and 5 deletions
+20
View File
@@ -282,6 +282,7 @@ class Sub2APIQuotaTUITests(unittest.TestCase):
self.assertEqual(rows["oai-quota-unknown"]["pricing_source"], "-")
self.assertEqual(rows["oai-quota-ycy-primary"]["pricing_source"], "ycy")
self.assertEqual(rows["oai-quota-ycy-primary"]["pricing_state"], "error")
self.assertIn("error", rows["oai-quota-ycy-primary"]["pricing_fetch"])
self.assertIsNone(rows["oai-quota-ycy-primary"]["pricing_cny"])
self.assertEqual(rows["oai-quota-codeplan--primary"]["pricing_source"], "-")
self.assertEqual(rows["oai-quota-codeplan-primary-"]["pricing_source"], "-")
@@ -342,6 +343,25 @@ class Sub2APIQuotaTUITests(unittest.TestCase):
self.assertIsNone(failed["pricing_cny"])
self.assertIn("upstream_error", failed["pricing_fetch"])
def test_new_projection_does_not_use_key_group_as_native_group_fallback(self) -> None:
mod = load_module()
rows = mod.normalize_account_rows(
{
"accounts": [
{
"id": 1,
"name": "ordinary-account",
"routing_group": "key-group",
"account_group_names": [],
"kind": "quota_limited",
}
]
}
)
self.assertEqual(rows[0]["routing_group"], "key-group")
self.assertEqual(rows[0]["groups"], "-")
def test_normalize_pricing_rows_uses_pricing_monitor_source_balances(self) -> None:
mod = load_module()
payload = {