test-all-apis.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. const http = require('http');
  2. function makeRequest(method, path, data = null) {
  3. return new Promise((resolve, reject) => {
  4. const options = {
  5. hostname: 'localhost',
  6. port: 3000,
  7. path: path,
  8. method: method,
  9. headers: {
  10. 'Content-Type': 'application/json'
  11. }
  12. };
  13. const req = http.request(options, (res) => {
  14. let body = '';
  15. res.on('data', (chunk) => { body += chunk; });
  16. res.on('end', () => {
  17. try {
  18. const json = JSON.parse(body);
  19. resolve({ status: res.statusCode, data: json });
  20. } catch (e) {
  21. resolve({ status: res.statusCode, data: body });
  22. }
  23. });
  24. });
  25. req.on('error', reject);
  26. if (data) {
  27. req.write(JSON.stringify(data));
  28. }
  29. req.end();
  30. });
  31. }
  32. async function testAPIs() {
  33. console.log('🧪 开始测试视频生成API\n');
  34. console.log('=' .repeat(50));
  35. // 测试1:获取项目列表
  36. console.log('\n1. 测试 GET /api/video/projects');
  37. try {
  38. const res1 = await makeRequest('GET', '/api/video/projects');
  39. console.log('状态码:', res1.status);
  40. console.log('响应:', JSON.stringify(res1.data, null, 2));
  41. } catch (e) {
  42. console.log('❌ 请求失败:', e.message);
  43. }
  44. // 测试2:创建项目
  45. console.log('\n2. 测试 POST /api/video/projects');
  46. try {
  47. const res2 = await makeRequest('POST', '/api/video/projects', {
  48. title: '测试视频项目',
  49. config: {
  50. video: { width: 720, height: 1280, fps: 30 },
  51. kenburns: { enabled: true, minZoom: 1.0, maxZoom: 1.2 }
  52. }
  53. });
  54. console.log('状态码:', res2.status);
  55. console.log('响应:', JSON.stringify(res2.data, null, 2));
  56. } catch (e) {
  57. console.log('❌ 请求失败:', e.message);
  58. }
  59. // 测试3:获取素材列表
  60. console.log('\n3. 测试 GET /api/video/materials');
  61. try {
  62. const res3 = await makeRequest('GET', '/api/video/materials');
  63. console.log('状态码:', res3.status);
  64. console.log('响应:', JSON.stringify(res3.data, null, 2));
  65. } catch (e) {
  66. console.log('❌ 请求失败:', e.message);
  67. }
  68. // 测试4:检查其他已知API
  69. console.log('\n4. 测试 GET /api/templates (验证其他API)');
  70. try {
  71. const res4 = await makeRequest('GET', '/api/templates');
  72. console.log('状态码:', res4.status);
  73. console.log('响应:', JSON.stringify(res4.data, null, 2));
  74. } catch (e) {
  75. console.log('❌ 请求失败:', e.message);
  76. }
  77. console.log('\n' + '=' .repeat(50));
  78. console.log('✅ 测试完成\n');
  79. }
  80. testAPIs().catch(console.error);