test: add recorded ai generation smoke
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import base64
|
||||
import io
|
||||
|
||||
from cryptography.fernet import Fernet
|
||||
from django.contrib.admin.sites import AdminSite
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.management import call_command
|
||||
from django.test import RequestFactory, SimpleTestCase, TestCase, override_settings
|
||||
|
||||
from apps.ai.admin import AiConfigAuditLogAdmin, AiModelAdmin, ModelAliasAdmin
|
||||
@@ -560,3 +562,29 @@ class AiConfigAuditAdminTests(TestCase):
|
||||
self.assertFalse(model_admin.has_change_permission(self.request))
|
||||
self.assertFalse(model_admin.has_delete_permission(self.request))
|
||||
self.assertIn("changes", model_admin.get_readonly_fields(self.request))
|
||||
|
||||
|
||||
class AiGenerationSmokeCommandTests(TestCase):
|
||||
def test_recorded_title_smoke_runs_through_alias_and_provider_without_persisting(self):
|
||||
output = io.StringIO()
|
||||
|
||||
call_command(
|
||||
"smoke_ai_generation",
|
||||
"title",
|
||||
"--recorded",
|
||||
"--prompt",
|
||||
"为测试商品生成标题",
|
||||
stdout=output,
|
||||
)
|
||||
|
||||
text = output.getvalue()
|
||||
self.assertIn("Smoke generation OK", text)
|
||||
self.assertIn("mode=recorded", text)
|
||||
self.assertIn("operation=title", text)
|
||||
self.assertIn("alias=t-104-recorded-title-", text)
|
||||
self.assertIn("model_used=recorded-title-model", text)
|
||||
self.assertIn("title_count=3", text)
|
||||
self.assertNotIn("sk-recorded-placeholder", text)
|
||||
self.assertNotIn("Bearer", text)
|
||||
self.assertEqual(AiModel.objects.count(), 0)
|
||||
self.assertEqual(ModelAlias.objects.count(), 0)
|
||||
|
||||
Reference in New Issue
Block a user