| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- const Parse = require('parse/node');
- const fs = require('fs');
- // 初始化Parse SDK
- Parse.initialize('ecommerce-ai-app', 'unused', 'master-key-change-this-in-production');
- Parse.serverURL = 'http://localhost:1337/parse';
- // 测试结果收集
- const testResults = {
- parseServer: {
- status: 'failed',
- responseTime: 0,
- error: null,
- details: {}
- }
- };
- // 颜色输出函数
- function colorLog(message, color) {
- const colors = {
- green: '\x1b[32m',
- red: '\x1b[31m',
- yellow: '\x1b[33m',
- blue: '\x1b[34m',
- reset: '\x1b[0m'
- };
- console.log(`${colors[color]}${message}${colors.reset}`);
- }
- // 测试Parse Server连接
- async function testParseServerConnection() {
- colorLog('===== 测试Parse Server连接 =====', 'blue');
- console.log('服务器地址:', Parse.serverURL);
-
- const startTime = Date.now();
-
- try {
- // 尝试获取服务器健康状态
- const healthResponse = await fetch(`${Parse.serverURL}/health`);
- const healthStatus = healthResponse.ok ? '成功' : '失败';
- const healthData = healthResponse.ok ? await healthResponse.json() : null;
-
- // 测试基本Parse操作
- const TestObject = Parse.Object.extend('TestObject');
- const testObject = new TestObject();
- testObject.set('message', 'Hello from connection test');
-
- const savedObject = await testObject.save();
-
- // 查询测试对象
- const query = new Parse.Query(TestObject);
- const results = await query.find();
-
- // 删除测试对象
- await savedObject.destroy();
-
- const responseTime = Date.now() - startTime;
-
- testResults.parseServer.status = 'success';
- testResults.parseServer.responseTime = responseTime;
- testResults.parseServer.details = {
- healthStatus,
- healthData,
- objectSaved: true,
- objectsQueried: results.length,
- objectDeleted: true
- };
-
- colorLog('✅ Parse Server连接成功!', 'green');
- console.log(` 响应时间: ${responseTime}ms`);
- console.log(` 健康检查: ${healthStatus}`);
- if (healthData) {
- console.log(` 健康数据:`, JSON.stringify(healthData, null, 2));
- }
- console.log(` 对象操作: 保存/查询/删除 成功`);
-
- } catch (error) {
- const responseTime = Date.now() - startTime;
- testResults.parseServer.responseTime = responseTime;
- testResults.parseServer.error = error.message;
-
- colorLog('❌ Parse Server连接失败!', 'red');
- console.log(` 响应时间: ${responseTime}ms`);
- console.log(` 错误信息: ${error.message}`);
-
- if (error.stack) {
- console.log(` 错误堆栈: ${error.stack}`);
- }
- }
- }
- // 生成测试报告
- function generateReport() {
- const report = {
- testTime: new Date().toISOString(),
- results: testResults
- };
-
- // 保存到文件
- fs.writeFileSync('parse-server-test-report.json', JSON.stringify(report, null, 2));
-
- // 打印报告
- colorLog('\n===== Parse Server连接测试报告 =====', 'blue');
- console.log('测试时间:', report.testTime);
- console.log('========================');
-
- console.log('\n【Parse Server】');
- if (testResults.parseServer.status === 'success') {
- colorLog(`状态: ✅ 成功`, 'green');
- console.log(`响应时间: ${testResults.parseServer.responseTime}ms`);
- console.log(`健康检查: ${testResults.parseServer.details.healthStatus}`);
- console.log(`对象操作: 保存/查询/删除 成功`);
- } else {
- colorLog(`状态: ❌ 失败`, 'red');
- console.log(`响应时间: ${testResults.parseServer.responseTime}ms`);
- console.log(`错误信息: ${testResults.parseServer.error}`);
- }
-
- console.log('========================');
- colorLog('\n详细报告已保存到: parse-server-test-report.json', 'blue');
- }
- // 执行测试
- async function runTests() {
- colorLog('开始执行Parse Server连接测试...\n', 'blue');
-
- await testParseServerConnection();
- generateReport();
- }
- // 运行测试
- runTests().catch(console.error);
|