75 lines
2.6 KiB
Python
75 lines
2.6 KiB
Python
|
#!/usr/bin/env python3
|
||
|
# -*- coding: utf-8 -*-
|
||
|
"""
|
||
|
测试避免重复初始化功能
|
||
|
"""
|
||
|
|
||
|
import requests
|
||
|
import time
|
||
|
import json
|
||
|
|
||
|
def test_avoid_duplicate_initialization():
|
||
|
"""
|
||
|
测试避免重复初始化功能
|
||
|
"""
|
||
|
base_url = "http://localhost:5000"
|
||
|
|
||
|
print("=== 测试避免重复初始化功能 ===")
|
||
|
|
||
|
# 1. 获取初始设备状态
|
||
|
print("\n1. 获取初始设备状态")
|
||
|
try:
|
||
|
response = requests.get(f"{base_url}/api/devices/status")
|
||
|
if response.status_code == 200:
|
||
|
data = response.json()
|
||
|
print(f"设备状态: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||
|
else:
|
||
|
print(f"获取设备状态失败: {response.status_code}")
|
||
|
except Exception as e:
|
||
|
print(f"请求失败: {e}")
|
||
|
|
||
|
# 2. 第一次启动设备数据推送
|
||
|
print("\n2. 第一次启动设备数据推送")
|
||
|
try:
|
||
|
response = requests.post(f"{base_url}/api/devices/start_push")
|
||
|
if response.status_code == 200:
|
||
|
data = response.json()
|
||
|
print(f"第一次启动结果: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||
|
else:
|
||
|
print(f"第一次启动失败: {response.status_code}")
|
||
|
except Exception as e:
|
||
|
print(f"请求失败: {e}")
|
||
|
|
||
|
# 等待一段时间
|
||
|
print("\n等待5秒...")
|
||
|
time.sleep(5)
|
||
|
|
||
|
# 3. 第二次启动设备数据推送(应该避免重复初始化)
|
||
|
print("\n3. 第二次启动设备数据推送(测试避免重复初始化)")
|
||
|
try:
|
||
|
response = requests.post(f"{base_url}/api/devices/start_push")
|
||
|
if response.status_code == 200:
|
||
|
data = response.json()
|
||
|
print(f"第二次启动结果: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||
|
else:
|
||
|
print(f"第二次启动失败: {response.status_code}")
|
||
|
except Exception as e:
|
||
|
print(f"请求失败: {e}")
|
||
|
|
||
|
# 4. 再次获取设备状态
|
||
|
print("\n4. 获取最终设备状态")
|
||
|
try:
|
||
|
response = requests.get(f"{base_url}/api/devices/status")
|
||
|
if response.status_code == 200:
|
||
|
data = response.json()
|
||
|
print(f"最终设备状态: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||
|
else:
|
||
|
print(f"获取设备状态失败: {response.status_code}")
|
||
|
except Exception as e:
|
||
|
print(f"请求失败: {e}")
|
||
|
|
||
|
print("\n=== 测试完成 ===")
|
||
|
print("请查看终端日志,确认第二次启动时是否显示'已连接,跳过初始化'的消息")
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
test_avoid_duplicate_initialization()
|