|
|
|
|
@ -12,15 +12,32 @@ from .robot import search, category, recents
|
|
|
|
|
|
|
|
|
|
# Create your tests here.
|
|
|
|
|
class ServerManagerTest(TestCase):
|
|
|
|
|
"""
|
|
|
|
|
服务器管理模块的测试类,用于测试聊天机器人、命令处理、文章搜索等功能。
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
|
"""
|
|
|
|
|
测试初始化方法,在每个测试方法执行前运行。
|
|
|
|
|
创建用于模拟HTTP请求的Client和RequestFactory实例。
|
|
|
|
|
"""
|
|
|
|
|
self.client = Client()
|
|
|
|
|
self.factory = RequestFactory()
|
|
|
|
|
|
|
|
|
|
def test_chat_gpt(self):
|
|
|
|
|
"""
|
|
|
|
|
测试ChatGPT聊天功能。
|
|
|
|
|
验证调用ChatGPT.chat方法能否返回非空内容。
|
|
|
|
|
"""
|
|
|
|
|
content = ChatGPT.chat("你好")
|
|
|
|
|
self.assertIsNotNone(content)
|
|
|
|
|
|
|
|
|
|
def test_validate_comment(self):
|
|
|
|
|
"""
|
|
|
|
|
测试评论验证及相关功能,包括用户登录、文章创建、命令处理和消息处理等。
|
|
|
|
|
验证搜索、分类、最近文章、命令执行和消息处理等功能是否正常运行。
|
|
|
|
|
"""
|
|
|
|
|
# 创建超级用户并登录
|
|
|
|
|
user = BlogUser.objects.create_superuser(
|
|
|
|
|
email="liangliangyy1@gmail.com",
|
|
|
|
|
username="liangliangyy1",
|
|
|
|
|
@ -28,10 +45,12 @@ class ServerManagerTest(TestCase):
|
|
|
|
|
|
|
|
|
|
self.client.login(username='liangliangyy1', password='liangliangyy1')
|
|
|
|
|
|
|
|
|
|
# 创建分类
|
|
|
|
|
c = Category()
|
|
|
|
|
c.name = "categoryccc"
|
|
|
|
|
c.save()
|
|
|
|
|
|
|
|
|
|
# 创建文章
|
|
|
|
|
article = Article()
|
|
|
|
|
article.title = "nicetitleccc"
|
|
|
|
|
article.body = "nicecontentccc"
|
|
|
|
|
@ -40,23 +59,33 @@ class ServerManagerTest(TestCase):
|
|
|
|
|
article.type = 'a'
|
|
|
|
|
article.status = 'p'
|
|
|
|
|
article.save()
|
|
|
|
|
|
|
|
|
|
# 测试搜索功能
|
|
|
|
|
s = TextMessage([])
|
|
|
|
|
s.content = "nice"
|
|
|
|
|
rsp = search(s, None)
|
|
|
|
|
|
|
|
|
|
# 测试分类功能
|
|
|
|
|
rsp = category(None, None)
|
|
|
|
|
self.assertIsNotNone(rsp)
|
|
|
|
|
|
|
|
|
|
# 测试最近文章功能
|
|
|
|
|
rsp = recents(None, None)
|
|
|
|
|
self.assertTrue(rsp != '暂时还没有文章')
|
|
|
|
|
|
|
|
|
|
# 创建并保存命令
|
|
|
|
|
cmd = commands()
|
|
|
|
|
cmd.title = "test"
|
|
|
|
|
cmd.command = "ls"
|
|
|
|
|
cmd.describe = "test"
|
|
|
|
|
cmd.save()
|
|
|
|
|
|
|
|
|
|
# 测试命令处理器
|
|
|
|
|
cmdhandler = CommandHandler()
|
|
|
|
|
rsp = cmdhandler.run('test')
|
|
|
|
|
self.assertIsNotNone(rsp)
|
|
|
|
|
|
|
|
|
|
# 测试消息处理器的各种场景
|
|
|
|
|
s.source = 'u'
|
|
|
|
|
s.content = 'test'
|
|
|
|
|
msghandler = MessageHandler(s, {})
|
|
|
|
|
@ -77,3 +106,5 @@ class ServerManagerTest(TestCase):
|
|
|
|
|
|
|
|
|
|
s.content = 'exit'
|
|
|
|
|
msghandler.handler()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|