live-forum/server/admin/ZrAdminNetCore/document/AgileConfig测试说明.md
2026-03-24 11:27:37 +08:00

6.2 KiB
Raw Blame History

AgileConfig 配置管理功能测试说明

测试环境准备

1. 配置检查

确认 appsettings.json 中的 AgileConfig 配置正确:

{
  "AgileConfig": {
    "appId": "CloudGaming",
    "secret": "95BB717C61D1ECB0E9FB82C932CC77FF",
    "nodes": "http://124.220.55.158:94",
    "url": "http://124.220.55.158:94",
    "env": "PROD",
    "UserName": "admin",
    "Password": "dbt@com@1234"
  }
}

2. 权限配置

确保用户角色拥有以下权限:

  • system:agileconfig:query - 查询配置权限
  • system:agileconfig:edit - 编辑配置权限
  • system:agileconfig:remove - 删除配置权限

测试步骤

1. 启动项目

后端

cd ZR.Admin.WebApi
dotnet run

前端

cd ZR.Vue
npm run dev

2. 访问配置管理页面

  1. 登录后台管理系统
  2. 导航到:系统管理 -> AgileConfig配置管理
  3. 页面路径:/system/agileConfig

3. 测试连接

点击页面右上角的"测试连接"按钮,验证与 AgileConfig 服务器的连接。

预期结果:提示"连接成功"

4. 读取配置

页面加载时会自动从 AgileConfig 读取配置。

预期结果

  • 页面显示所有配置分组
  • 各配置项显示当前值
  • 如果 AgileConfig 中没有配置,显示默认值

5. 修改配置

测试场景 1: 修改简单配置项

  1. 展开"应用配置 (AppConfig)"
  2. 修改"送花间隔时间"为 7200
  3. 点击"保存配置"
  4. 等待保存成功提示

预期结果

  • 显示"配置保存成功,已自动发布"
  • 后端日志显示调用 AgileConfig API
  • AgileConfig 配置中心自动发布配置

测试场景 2: 修改上传服务类型

  1. 修改"上传服务类型"从 cos 改为 server
  2. 保存配置

预期结果

  • 配置保存成功
  • AgileConfig 中的 AppConfig:uploadServiceType 更新为 server

测试场景 3: 修改嵌套配置

  1. 展开"应用配置 (AppConfig)"
  2. 修改"图片压缩质量"为 90
  3. 修改"COS域名"
  4. 保存配置

预期结果

  • 配置保存成功
  • AgileConfig 中的 AppConfig:upload_config:imagequality 更新为 90
  • 其他嵌套配置项也正确更新

测试场景 4: 修改图片上传配置

  1. 点击"应用图标"上传按钮
  2. 选择图片上传
  3. 保存配置

预期结果

  • 图片上传成功
  • 配置中保存图片URL
  • AgileConfig 中的 AppConfig:AppIcon 更新为图片URL

测试场景 5: 修改多个配置分组

  1. 修改 AppConfig 中的配置
  2. 展开"JWT配置 (JwtTokenConfig)"
  3. 修改"访问令牌过期时间"
  4. 展开"Redis配置 (Redis)"
  5. 修改"实例名称"
  6. 保存配置

预期结果

  • 所有修改的配置项都保存成功
  • 未修改的配置项不会被更新(增量更新)

6. 重置配置

  1. 修改任意配置项
  2. 点击"重置"按钮
  3. 确认重置

预期结果

  • 配置恢复到页面加载时的状态
  • 提示"已重置"

7. 验证增量更新

测试方法:

  1. 只修改一个配置项FlowerSendInterval
  2. 打开浏览器开发者工具 -> Network 标签
  3. 保存配置
  4. 查看请求数据

预期结果

  • 请求中只包含修改的配置项和所属分组
  • 未修改的配置项不会被发送

8. 验证配置发布

  1. 修改并保存配置
  2. 登录 AgileConfig 管理后台http://124.220.55.158:94
  3. 查看 CloudGaming 应用的配置历史

预期结果

  • 配置已自动发布
  • 配置版本号递增
  • 配置项值与修改后一致

API 测试

可以使用 Postman 或其他工具直接测试后端 API

1. 获取配置

GET /system/agileconfig/configs
Headers:
  Authorization: Bearer {token}

2. 保存配置

POST /system/agileconfig/save
Headers:
  Authorization: Bearer {token}
  Content-Type: application/json
Body:
{
  "configData": {
    "AppConfig": {
      "FlowerSendInterval": 7200,
      "uploadServiceType": "cos",
      ...
    },
    ...
  }
}

3. 测试连接

GET /system/agileconfig/test
Headers:
  Authorization: Bearer {token}

常见问题排查

1. 连接失败

  • 检查 AgileConfig 服务器是否可访问
  • 验证用户名密码是否正确
  • 检查网络防火墙设置

2. 保存失败

  • 检查用户权限
  • 查看后端日志错误信息
  • 验证 AgileConfig API 响应

3. 配置未更新

  • 确认配置已发布
  • 清除业务项目缓存
  • 重启业务项目

4. 图片上传失败

  • 检查上传服务配置COS或本地
  • 验证图片大小和格式
  • 检查上传路径权限

数据验证

在 AgileConfig 中验证配置

  1. 访问 AgileConfig 管理后台
  2. 登录(用户名: admin, 密码: dbt@com@1234
  3. 进入应用 CloudGaming
  4. 环境选择 PROD
  5. 查看配置项列表

验证点

  • 配置项 Key 使用冒号分隔(如:AppConfig:FlowerSendInterval
  • 配置项 Value 与页面输入一致
  • 配置状态为"已发布"

在业务项目中验证

业务项目应该能够通过 AgileConfig 客户端读取到最新配置。

测试完成标准

  • 连接测试通过
  • 配置读取正常
  • 所有配置项类型都能正确保存(文本、数字、下拉、上传等)
  • 增量更新正常(只更新修改的配置项)
  • 配置自动发布成功
  • 重置功能正常
  • 页面无报错
  • AgileConfig 中配置正确

性能测试

批量修改测试

  1. 同时修改所有分组的配置项
  2. 保存配置
  3. 记录保存时间

预期结果

  • 保存时间 < 5秒取决于网络和配置项数量
  • 无超时错误

安全测试

权限测试

  1. 使用无权限的用户访问配置页面

预期结果

  • 无法访问页面或操作被拒绝

敏感信息保护

  • 密码类型的字段应该显示为密码样式JWT密钥、数据库连接串密码部分
  • 输入时显示为 ****

测试记录

测试项 测试结果 测试时间 备注
连接测试
读取配置
修改简单配置
修改嵌套配置
图片上传
批量修改
重置功能
增量更新
自动发布
权限控制

测试负责人___________
测试日期___________
测试环境___________