main.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. """Entry point to call various API actions."""
  2. from auth_session import login, set_sess_key
  3. from log_util import get_logger
  4. from acl_actions import get_acl_rules, add_acl_rule, edit_acl_rule, del_acl_rule
  5. from advanced_acl import get_all_test_ips, add_ip, del_ip
  6. def main():
  7. logger = get_logger("main")
  8. logger.info("开始 main()")
  9. try:
  10. resp, sess_cookie = login()
  11. except FileNotFoundError as e:
  12. logger.error(f"配置错误: {e}")
  13. return
  14. except Exception as e:
  15. logger.exception(f"请求或其他错误: {e}")
  16. return
  17. logger.info(f"已调用: login() | 参数: 默认 payload | 状态: {resp.status_code}")
  18. if sess_cookie:
  19. logger.info(f"返回的 sess_key: {sess_cookie}")
  20. # 保存为全局会话状态,供其他接口调用时使用
  21. set_sess_key(sess_cookie)
  22. print(f"sess_key: {sess_cookie}")
  23. # # 集成测试:演示高级接口的使用流程
  24. # test_ip = "1.5.6.7"
  25. # # 1) 列出当前集合
  26. # try:
  27. # ips = get_all_test_ips()
  28. # logger.info(f"当前 Test_* IP 数量: {len(ips)}")
  29. # print(f"当前 Test_* IP 数量: {len(ips)}")
  30. # except Exception as e:
  31. # logger.exception(f"获取 Test IP 列表失败: {e}")
  32. # print(f"获取 Test IP 列表失败: {e}")
  33. # # 2) 添加测试 IP
  34. # try:
  35. # res = add_ip(test_ip)
  36. # logger.info(f"add_ip({test_ip}) -> {res}")
  37. # print(f"add_ip -> {res}")
  38. # except Exception as e:
  39. # logger.exception(f"添加测试 IP 失败: {e}")
  40. # print(f"添加测试 IP 失败: {e}")
  41. # # 3) 再次列出以验证添加
  42. # try:
  43. # ips_after = get_all_test_ips()
  44. # logger.info(f"添加后 Test_* IP 数量: {len(ips_after)}")
  45. # print(f"添加后 Test_* IP 数量: {len(ips_after)}")
  46. # except Exception as e:
  47. # logger.exception(f"获取添加后列表失败: {e}")
  48. # print(f"获取添加后列表失败: {e}")
  49. # # 4) 删除测试 IP
  50. # try:
  51. # res_del = del_ip(test_ip)
  52. # logger.info(f"del_ip({test_ip}) -> {res_del}")
  53. # print(f"del_ip -> {res_del}")
  54. # except Exception as e:
  55. # logger.exception(f"删除测试 IP 失败: {e}")
  56. # print(f"删除测试 IP 失败: {e}")
  57. # # 5) 最终验证
  58. # try:
  59. # ips_final = get_all_test_ips()
  60. # logger.info(f"最终 Test_* IP 数量: {len(ips_final)}")
  61. # print(f"最终 Test_* IP 数量: {len(ips_final)}")
  62. # except Exception as e:
  63. # logger.exception(f"获取最终列表失败: {e}")
  64. # print(f"获取最终列表失败: {e}")
  65. # 旧的低级测试保留(按需)
  66. # 测试ACL接口
  67. # try:
  68. # acl_resp, acl_data = get_acl_rules()
  69. # logger.info(f"已调用: get_acl_rules() | 状态: {acl_resp.status_code}")
  70. # if acl_data:
  71. # logger.info(f"ACL规则总数: {acl_data.get('Data', {}).get('total', '未知')}")
  72. # print(f"ACL规则总数: {acl_data.get('Data', {}).get('total', '未知')}")
  73. # else:
  74. # logger.warning("未获取到ACL数据")
  75. # print("未获取到ACL数据")
  76. # except Exception as e:
  77. # logger.exception(f"测试ACL接口失败: {e}")
  78. # print(f"测试ACL接口失败: {e}")
  79. # # 测试添加ACL规则
  80. # try:
  81. # add_resp, add_data = add_acl_rule(dst_addr="1.2.3.4,2.4.5.6", comment="remark_kkkkkk")
  82. # logger.info(f"已调用: add_acl_rule() | 状态: {add_resp.status_code}")
  83. # if add_data:
  84. # row_id = add_data.get('RowId')
  85. # logger.info(f"新增ACL规则ID: {row_id}")
  86. # print(f"新增ACL规则ID: {row_id}")
  87. # else:
  88. # logger.warning("未获取到添加结果")
  89. # print("未获取到添加结果")
  90. # except Exception as e:
  91. # logger.exception(f"测试添加ACL规则失败: {e}")
  92. # print(f"测试添加ACL规则失败: {e}")
  93. # # 测试编辑ACL规则
  94. # try:
  95. # edit_resp, edit_data = edit_acl_rule(rule_id=14, dst_addr="1.2.3.4", comment="remark_kkkkkk")
  96. # logger.info(f"已调用: edit_acl_rule() | 状态: {edit_resp.status_code}")
  97. # if edit_data:
  98. # logger.info("ACL规则编辑成功")
  99. # print("ACL规则编辑成功")
  100. # else:
  101. # logger.warning("未获取到编辑结果")
  102. # print("未获取到编辑结果")
  103. # except Exception as e:
  104. # logger.exception(f"测试编辑ACL规则失败: {e}")
  105. # print(f"测试编辑ACL规则失败: {e}")
  106. # # 测试删除ACL规则
  107. # try:
  108. # del_resp, del_data = del_acl_rule(rule_id=14)
  109. # logger.info(f"已调用: del_acl_rule() | 状态: {del_resp.status_code}")
  110. # if del_data:
  111. # logger.info("ACL规则删除成功")
  112. # print("ACL规则删除成功")
  113. # else:
  114. # logger.warning("未获取到删除结果")
  115. # print("未获取到删除结果")
  116. # except Exception as e:
  117. # logger.exception(f"测试删除ACL规则失败: {e}")
  118. # print(f"测试删除ACL规则失败: {e}")
  119. else:
  120. logger.warning("未在响应中找到 sess_key")
  121. print("未在响应中找到 sess_key")
  122. if __name__ == "__main__":
  123. main()