Files
meeting-room/backend/test_meeting_control.py

83 lines
2.5 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
测试会议控制功能
"""
import requests
API_BASE = 'http://localhost:8000/api/v1'
def test_meeting_control():
print("="*60)
print("🎛️ 测试会议控制功能")
print("="*60)
# 登录
res = requests.post(f'{API_BASE}/auth/login/', json={
'username': 'test',
'password': 'test123'
})
token = res.json()['token']
headers = {'Authorization': f'Bearer {token}'}
print(f"✅ 登录成功")
# 创建会议
res = requests.post(f'{API_BASE}/meetings/', json={
'topic': '会议控制测试'
}, headers=headers)
meeting = res.json()
meeting_id = meeting['id']
print(f"✅ 创建会议:{meeting_id}")
print(f" 初始状态:{meeting['status']}")
# 开始会议
res = requests.post(f'{API_BASE}/meetings/{meeting_id}/start/', headers=headers)
if res.status_code == 200:
print(f"✅ 开始会议成功")
print(f" 状态:{res.json()}")
else:
print(f"❌ 开始会议失败:{res.text}")
return False
# 获取会议详情(检查状态)
res = requests.get(f'{API_BASE}/meetings/{meeting_id}/', headers=headers)
meeting = res.json()
print(f" 当前状态:{meeting['status']}")
# 发送消息(会议中)
res = requests.post(f'{API_BASE}/meetings/{meeting_id}/send_message/', json={
'content': '会议进行中...'
}, headers=headers)
if res.status_code == 201:
print(f"✅ 会议中发送消息成功")
else:
print(f"❌ 发送消息失败:{res.text}")
# 结束会议
res = requests.post(f'{API_BASE}/meetings/{meeting_id}/end/', headers=headers)
if res.status_code == 200:
print(f"✅ 结束会议成功")
print(f" 状态:{res.json()}")
else:
print(f"❌ 结束会议失败:{res.text}")
return False
# 获取会议详情(检查状态)
res = requests.get(f'{API_BASE}/meetings/{meeting_id}/', headers=headers)
meeting = res.json()
print(f" 最终状态:{meeting['status']}")
# 尝试在已结束的会议发消息(应该失败)
res = requests.post(f'{API_BASE}/meetings/{meeting_id}/send_message/', json={
'content': '会议结束后发消息'
}, headers=headers)
print(f" 结束后发消息:{res.status_code} (预期失败)")
print("\n" + "="*60)
print("✅ 会议控制测试通过!")
print("="*60)
return True
if __name__ == '__main__':
test_meeting_control()