config.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * api-test 配置:测试服务器切换 + 鉴权 token。
  4. *
  5. * 服务器切换的优先级(高 → 低):
  6. * 1. 命令行 `php run.php --server=<alias|完整 base URL>`
  7. * 2. 环境变量 `API_TEST_BASE`(完整 base URL,覆盖 alias)
  8. * 3. 本文件的 `default_server`
  9. *
  10. * alias 对齐 openapi/public/assets/protocol/main.yaml 里的 servers。
  11. * 第一个 `/api` 是同源地址,CLI 客户端用不到,故略。
  12. *
  13. * token(测试 /v3/me/* 用)优先级:
  14. * 1. `php run.php --token=...`
  15. * 2. 环境变量 `API_TEST_TOKEN`
  16. * 3. 都没有时,用下面的 username/password 调 `POST /v2/sign-in` 现换一个 token
  17. *
  18. * username/password(登录换 token 用)优先级:
  19. * 1. `php run.php --username=... --password=...`
  20. * 2. 环境变量 `API_TEST_USERNAME` / `API_TEST_PASSWORD`
  21. *
  22. * 写操作(POST/DELETE)在**所有服务器上都真实执行**,包括 prod——会产生垃圾数据,
  23. * 由测试账号定期清理。
  24. */
  25. return [
  26. // alias => 完整 base URL(含 /api 前缀)
  27. 'servers' => [
  28. 'local' => 'http://127.0.0.1:8000/api',
  29. 'staging' => 'https://staging.wikipali.org/api',
  30. 'next' => 'https://next.wikipali.org/api',
  31. 'prod' => 'https://www.wikipali.org/api',
  32. 'next-cn' => 'https://next.wikipali.cc/api',
  33. 'prod-cn' => 'https://www.wikipali.cc/api',
  34. ],
  35. 'default_server' => 'local',
  36. // bearer token;没有则 /v3/me/* 的“带 token”用例会 FAIL(不跳过)。
  37. 'token' => getenv('API_TEST_TOKEN') ?: null,
  38. // 登录凭据:sign-in 用 username(也可以是 email)+ password。
  39. 'username' => getenv('API_TEST_USERNAME') ?: null,
  40. 'password' => getenv('API_TEST_PASSWORD') ?: null,
  41. 'timeout' => 20,
  42. ];