fix: 优化AI生成失败提示与素材失效处理
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user