76 lines
2.0 KiB
Python
76 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
测试 OpenClaw Auth Runtime
|
||
"""
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# 添加当前目录到路径
|
||
sys.path.insert(0, str(Path(__file__).parent))
|
||
|
||
from auth_runtime import (
|
||
create_env_config,
|
||
get_access_token,
|
||
request_api_with_auto_refresh,
|
||
load_client_key_from_env,
|
||
)
|
||
|
||
|
||
def main():
|
||
print("=" * 60)
|
||
print("OpenClaw Auth Runtime 测试")
|
||
print("=" * 60)
|
||
|
||
# 方式 1: 从 .env 加载 CLIENT_KEY
|
||
try:
|
||
client_key = load_client_key_from_env()
|
||
print(f"✓ 从 .env 文件加载 CLIENT_KEY: {client_key[:10]}...")
|
||
except ValueError as e:
|
||
print(f"❌ {e}")
|
||
print("\n请在 .env 文件中设置 CLIENT_KEY")
|
||
print("或设置环境变量:export CLIENT_KEY=your-key")
|
||
return 1
|
||
|
||
# 创建配置
|
||
config = create_env_config()
|
||
print(f"✓ 配置创建成功")
|
||
print(f" AUTH_BASE: {config.auth_base}")
|
||
print(f" AUTH_CACHE_DIR: {config.auth_cache_dir}")
|
||
|
||
# 获取访问令牌
|
||
print("\n【测试 1】获取访问令牌...")
|
||
try:
|
||
token = get_access_token(dry_run=False, config=config)
|
||
print(f"✓ 获取成功:{token[:20]}...")
|
||
except Exception as e:
|
||
print(f"❌ 失败:{e}")
|
||
return 1
|
||
|
||
# 测试 API 请求
|
||
print("\n【测试 2】测试 API 请求...")
|
||
try:
|
||
# 示例:请求认证端点
|
||
response = request_api_with_auto_refresh(
|
||
method="POST",
|
||
url=f"{config.auth_base}/auth/skill-credit/session",
|
||
dry_run=False,
|
||
config=config,
|
||
body={"clientKey": config.client_key},
|
||
)
|
||
print(f"✓ 响应状态:{response.status}")
|
||
print(f" 响应体:{response.body[:100]}...")
|
||
except Exception as e:
|
||
print(f"❌ 失败:{e}")
|
||
|
||
print("\n" + "=" * 60)
|
||
print("✅ 测试完成")
|
||
print("=" * 60)
|
||
|
||
return 0
|
||
|
||
|
||
if __name__ == "__main__":
|
||
sys.exit(main())
|