fix: 优化AI生成失败提示与素材失效处理

This commit is contained in:
hh
2026-07-21 14:02:10 +08:00
parent d0c3690d47
commit a99aae8231
12 changed files with 746 additions and 20 deletions
+37
View File
@@ -640,6 +640,43 @@ class AdminModelProviderTests(TestCase):
self.assertEqual(r.status_code, 200)
self.assertEqual(r.data["status"], "disabled")
def test_provider_error_rules_are_validated_on_admin_write(self):
valid_metadata = {
"error_rules": [
{
"provider_code": "NewProviderCode",
"contains_all": ["reference token", "expired"],
"public_code": "asset_unavailable",
"enabled": True,
}
]
}
accepted = self.ac.patch(
f"/api/admin/providers/{self.prov.id}/",
{"metadata": valid_metadata},
format="json",
)
self.assertEqual(accepted.status_code, 200)
self.assertEqual(accepted.data["metadata"], valid_metadata)
rejected = self.ac.patch(
f"/api/admin/providers/{self.prov.id}/",
{
"metadata": {
"error_rules": [
{
"contains_all": [],
"public_code": "arbitrary_new_code",
}
]
}
},
format="json",
)
self.assertEqual(rejected.status_code, 400)
self.prov.refresh_from_db()
self.assertEqual(self.prov.metadata, valid_metadata)
def test_models_list_filter(self):
r = self.ac.get(f"/api/admin/models/?provider={self.prov.id}")
self.assertEqual(r.status_code, 200)