"""Entry point to call various API actions.""" from login_post import login from log_util import get_logger from session_state import set_sess_key from acl_post import get_acl_rules from add_acl_post import add_acl_rule from edit_acl_post import edit_acl_rule from del_acl_post import del_acl_rule def main(): logger = get_logger("main") logger.info("开始 main()") try: resp, sess_cookie = login() except FileNotFoundError as e: logger.error(f"配置错误: {e}") return except Exception as e: logger.exception(f"请求或其他错误: {e}") return logger.info(f"已调用: login() | 参数: 默认 payload | 状态: {resp.status_code}") if sess_cookie: logger.info(f"返回的 sess_key: {sess_cookie}") # 保存为全局会话状态,供其他接口调用时使用 set_sess_key(sess_cookie) print(f"sess_key: {sess_cookie}") # 测试ACL接口 try: acl_resp, acl_data = get_acl_rules() logger.info(f"已调用: get_acl_rules() | 状态: {acl_resp.status_code}") if acl_data: logger.info(f"ACL规则总数: {acl_data.get('Data', {}).get('total', '未知')}") print(f"ACL规则总数: {acl_data.get('Data', {}).get('total', '未知')}") else: logger.warning("未获取到ACL数据") print("未获取到ACL数据") except Exception as e: logger.exception(f"测试ACL接口失败: {e}") print(f"测试ACL接口失败: {e}") # 测试添加ACL规则 try: add_resp, add_data = add_acl_rule(dst_addr="1.2.3.4,2.4.5.6", comment="remark_kkkkkk") logger.info(f"已调用: add_acl_rule() | 状态: {add_resp.status_code}") if add_data: row_id = add_data.get('RowId') logger.info(f"新增ACL规则ID: {row_id}") print(f"新增ACL规则ID: {row_id}") else: logger.warning("未获取到添加结果") print("未获取到添加结果") except Exception as e: logger.exception(f"测试添加ACL规则失败: {e}") print(f"测试添加ACL规则失败: {e}") # 测试编辑ACL规则 try: edit_resp, edit_data = edit_acl_rule(rule_id=14, dst_addr="1.2.3.4", comment="remark_kkkkkk") logger.info(f"已调用: edit_acl_rule() | 状态: {edit_resp.status_code}") if edit_data: logger.info("ACL规则编辑成功") print("ACL规则编辑成功") else: logger.warning("未获取到编辑结果") print("未获取到编辑结果") except Exception as e: logger.exception(f"测试编辑ACL规则失败: {e}") print(f"测试编辑ACL规则失败: {e}") # 测试删除ACL规则 try: del_resp, del_data = del_acl_rule(rule_id=14) logger.info(f"已调用: del_acl_rule() | 状态: {del_resp.status_code}") if del_data: logger.info("ACL规则删除成功") print("ACL规则删除成功") else: logger.warning("未获取到删除结果") print("未获取到删除结果") except Exception as e: logger.exception(f"测试删除ACL规则失败: {e}") print(f"测试删除ACL规则失败: {e}") else: logger.warning("未在响应中找到 sess_key") print("未在响应中找到 sess_key") if __name__ == "__main__": main()