1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #!/bin/bash
- # 配置管理API测试脚本
- API_BASE="http://localhost:8080/api"
- echo "🔧 配置管理API测试开始"
- echo "========================"
- # 测试获取完整配置
- echo "1. 获取完整配置:"
- curl -s "$API_BASE/config" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试获取全局配置
- echo "2. 获取全局配置:"
- curl -s "$API_BASE/config/global" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试获取流配置列表
- echo "3. 获取流配置列表:"
- curl -s "$API_BASE/config/streams" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试更新全局配置
- echo "4. 更新全局配置(增加并发流数):"
- curl -s -X PUT -H "Content-Type: application/json" \
- -d '{"max_concurrent_streams": 3, "poll_cycles": 5}' \
- "$API_BASE/config/global" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 验证更新结果
- echo "5. 验证全局配置更新结果:"
- curl -s "$API_BASE/config/global" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试添加新的流配置
- echo "6. 添加新的流配置:"
- curl -s -X POST -H "Content-Type: application/json" \
- -d '{
- "rtsp_url": "rtsp://test.example.com/stream",
- "duration_seconds": 25,
- "weight": 1.8,
- "output_filename": "test_new_stream.mp4"
- }' \
- "$API_BASE/config/streams" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 验证流配置添加结果
- echo "7. 验证流配置添加结果:"
- curl -s "$API_BASE/config/streams" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试更新第一个流配置
- echo "8. 更新第一个流配置:"
- curl -s -X PUT -H "Content-Type: application/json" \
- -d '{"duration_seconds": 30, "weight": 2.0}' \
- "$API_BASE/config/streams/0" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试保存配置
- echo "9. 保存配置到文件:"
- curl -s -X POST -H "Content-Type: application/json" \
- -d '{"file_path": "config_backup.json"}' \
- "$API_BASE/config/save" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试重新加载配置
- echo "10. 重新加载配置:"
- curl -s -X POST "$API_BASE/config/reload" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- # 测试删除最后一个流配置(如果有多个)
- STREAM_COUNT=$(curl -s "$API_BASE/config/streams" | jq '.count' 2>/dev/null)
- if [ "$STREAM_COUNT" -gt 1 ] 2>/dev/null; then
- LAST_INDEX=$((STREAM_COUNT - 1))
- echo "11. 删除最后一个流配置(索引 $LAST_INDEX):"
- curl -s -X DELETE "$API_BASE/config/streams/$LAST_INDEX" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
-
- echo "12. 验证删除结果:"
- curl -s "$API_BASE/config/streams" | jq '.' || echo "JSON解析失败"
- echo -e "\n"
- else
- echo "11. 跳过删除测试(只有一个流配置,不能删除)"
- echo -e "\n"
- fi
- echo "========================"
- echo "🎉 配置管理API测试完成"
|