# 快速开始 - 使用 uv 测试 SDK

## 1. 安装依赖

```bash
uv pip install -e ".[dev]"
```

## 2. 配置 API Key

```bash
# 复制模板文件
cp .env.example .env

# 编辑 .env 文件，添加你的 API Key
# LEGNEXT_API_KEY=your_actual_api_key_here
```

## 3. 运行测试

### 测试账户余额接口

```bash
uv run pytest tests/test_integration.py::test_account_balance -v -m integration
```

### 测试 Diffusion 生图接口

```bash
# 同步版本（会等待图片生成完成，可能需要 1-5 分钟）
uv run pytest tests/test_integration.py::test_diffusion_generate_image -v -m integration

# 异步版本
uv run pytest tests/test_integration.py::test_diffusion_generate_image_async -v -m integration
```

### 同时测试余额和生图

```bash
uv run pytest tests/test_integration.py::test_account_balance tests/test_integration.py::test_diffusion_generate_image -v -m integration
```

### 运行所有集成测试

```bash
uv run pytest tests/test_integration.py -v -m integration
```

### 运行所有测试（单元测试 + 集成测试）

```bash
uv run pytest -v
```

### 只运行单元测试（跳过集成测试）

```bash
uv run pytest -m "not integration" -v
```

## 注意事项

⚠️ **Diffusion 测试会消耗 API 配额/点数**
- 每次运行 `test_diffusion_generate_image` 都会生成真实的图片
- 图片生成通常需要 1-5 分钟
- 确保账户有足够的余额/点数

✅ **余额测试不会消耗配额**
- `test_account_balance` 只是查询余额，不会消耗任何资源
- 可以安全地多次运行

## 测试输出示例

### 余额测试输出
```
✅ Account Balance Test:
   Account ID: 862
   Balance USD: 0.58
   Available Points: 580
   Available Credits: 0
   Low Balance Alert: False
```

### Diffusion 测试输出
```
🖼️  Starting image generation...
   Job ID: 60f72ac2-055e-40a4-a993-cb7eda6966fd
   Status: pending

⏳ Waiting for image generation to complete...
   Status: pending
   Status: processing
   Status: completed

✅ Image generation completed!
   Generated 4 images:
   Image 1: https://cdn.legnext.ai/temp/xxx.png
   Image 2: https://cdn.legnext.ai/temp/xxx.png
   Image 3: https://cdn.legnext.ai/temp/xxx.png
   Image 4: https://cdn.legnext.ai/temp/xxx.png
   Seed: 1234567890
```

## 故障排除

### 测试被跳过
- 检查 `.env` 文件是否存在
- 确认 `LEGNEXT_API_KEY` 已正确设置
- 确保 `python-dotenv` 已安装

### API 认证错误
- 验证 API Key 是否正确
- 检查 API Key 是否过期
- 确认 API Key 有足够的权限

### 导入错误
- 确保已安装开发依赖：`uv pip install -e ".[dev]"`
- 确认在项目根目录运行命令
