75 lines
2.8 KiB
JavaScript
75 lines
2.8 KiB
JavaScript
// ===============================
|
||
// Notion 连通测试(绕过SSL验证)
|
||
// ===============================
|
||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
||
|
||
require('dotenv').config();
|
||
const notion = require('./sync/sync-to-notion');
|
||
|
||
async function runTests() {
|
||
console.log('\n==============================');
|
||
console.log(' Notion 数据桥连通测试(SSL绕过)');
|
||
console.log('==============================\n');
|
||
|
||
// 测试1:检查配置
|
||
console.log('--- 测试1:配置检查 ---');
|
||
var configured = notion.isConfigured();
|
||
console.log('Token 已配置:', configured ? '✅ 是' : '❌ 否');
|
||
if (!configured) {
|
||
console.log('⚠️ 请检查 .env 文件中的 NOTION_TOKEN');
|
||
return;
|
||
}
|
||
|
||
// 测试2:Token有效性(调 users/me)
|
||
console.log('\n--- 测试2:Token有效性 ---');
|
||
var health = await notion.healthCheck();
|
||
console.log('API 在线:', health.online ? '✅ 是' : '❌ 否');
|
||
if (health.online) {
|
||
console.log(' 集成名称:', health.bot_name);
|
||
console.log(' 集成 ID:', health.bot_id);
|
||
} else {
|
||
console.log(' 失败原因:', health.reason);
|
||
return;
|
||
}
|
||
|
||
// 测试3:数据库连通
|
||
console.log('\n--- 测试3:数据库连通 ---');
|
||
var databases = ['syslog', 'signalLog', 'changeLog', 'ticket'];
|
||
var dbNames = ['SYSLOG收件箱', '信号日志', '变更日志', '工单簿'];
|
||
for (var i = 0; i < databases.length; i++) {
|
||
var result = await notion.testDatabase(databases[i]);
|
||
var icon = result.accessible ? '✅' : '❌';
|
||
console.log(icon + ' ' + dbNames[i] + ':', result.accessible ? '可访问' : result.reason);
|
||
}
|
||
|
||
// 测试4:写入测试
|
||
console.log('\n--- 测试4:SYSLOG写入测试 ---');
|
||
var writeResult = await notion.writeSyslog({
|
||
title: '【测试】M-DINGTALK Phase 5 连通测试 · DEV-004之之',
|
||
dev_id: 'DEV-004',
|
||
session_id: 'TEST-PHASE5-' + Date.now(),
|
||
module: 'M-DINGTALK',
|
||
phase_status: 'completed',
|
||
content: '这是M-DINGTALK Phase 5 的连通测试。如果你在Notion看到这条记录,说明钉钉工作台已成功连入Notion数据桥!测试时间:' + new Date().toLocaleString('zh-CN'),
|
||
protocol_version: 'SYSLOG-v4.0',
|
||
source: 'M-DINGTALK-连通测试'
|
||
});
|
||
|
||
console.log('写入结果:', writeResult.written_to);
|
||
if (writeResult.written_to === 'notion') {
|
||
console.log('✅ 写入Notion成功!页面ID:', writeResult.page_id);
|
||
console.log('🎉 数据桥真实连通!!');
|
||
} else {
|
||
console.log('⚠️ 降级到本地存储:', writeResult.file);
|
||
console.log(' 可能需要冰朔将数据库关联到集成');
|
||
}
|
||
|
||
console.log('\n==============================');
|
||
console.log('测试完成');
|
||
console.log('==============================\n');
|
||
}
|
||
|
||
runTests().catch(function(err) {
|
||
console.error('测试出错:', err.message);
|
||
});
|