mirror of
https://github.com/Jerryplusy/AI-powered-switches.git
synced 2025-10-14 09:49:19 +00:00
73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
import asyncio
|
|
import logging
|
|
from src.backend.app.api.network_config import SwitchConfigurator
|
|
#该文件用于测试
|
|
|
|
logging.basicConfig(
|
|
level=logging.DEBUG,
|
|
format='%(asctime)s - %(levelname)s - %(message)s'
|
|
)
|
|
|
|
|
|
async def test_connection(configurator):
|
|
"""测试基础连接"""
|
|
try:
|
|
version = await configurator._send_commands("127.0.0.1", ["display version"])
|
|
print("交换机版本信息:\n", version)
|
|
return True
|
|
except Exception as e:
|
|
print("❌ 连接测试失败:", str(e))
|
|
return False
|
|
|
|
|
|
async def test_vlan_config(configurator):
|
|
"""测试 VLAN 配置"""
|
|
try:
|
|
result = await configurator.safe_apply(
|
|
"127.0.0.1",
|
|
config={
|
|
"type": "vlan",
|
|
"vlan_id": 100,
|
|
"name": "自动化测试VLAN"
|
|
}
|
|
)
|
|
print("VLAN 配置结果:", result)
|
|
|
|
# 验证配置
|
|
vlan_list = await configurator._send_commands("127.0.0.1", ["display vlan"])
|
|
print("当前VLAN列表:\n", vlan_list)
|
|
|
|
return "success" in result.get("status", "")
|
|
except Exception as e:
|
|
print("❌ VLAN 配置失败:", str(e))
|
|
return False
|
|
|
|
|
|
async def main():
|
|
"""主测试流程"""
|
|
# 尝试不同端口
|
|
for port in [2000, 2010, 2020, 23]:
|
|
print(f"\n尝试端口: {port}")
|
|
configurator = SwitchConfigurator(
|
|
ensp_mode=True,
|
|
ensp_port=port,
|
|
username="",
|
|
password="admin",
|
|
timeout=15
|
|
)
|
|
|
|
if await test_connection(configurator):
|
|
print(f"✅ 成功连接到端口 {port}")
|
|
if await test_vlan_config(configurator):
|
|
print("✅ 所有测试通过!")
|
|
return
|
|
else:
|
|
print("⚠️ VLAN 配置失败,继续尝试其他端口...")
|
|
else:
|
|
print("⚠️ 连接失败,尝试下一个端口...")
|
|
|
|
print("❌ 所有端口尝试失败,请检查配置")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main()) |