This commit is contained in:
@@ -140,6 +140,43 @@ test('PM2 部署没有启用 cluster 或多实例参数', () => {
|
||||
assert.strictEqual(/pm2\s+start[^\n]*(?:\s-i\s|--instances)/.test(installer), false);
|
||||
});
|
||||
|
||||
test('install.sh 可在最小化系统完成预检且不会吞掉 NodeSource 下载错误', () => {
|
||||
const installer = fs.readFileSync(path.join(projectRoot, 'install.sh'), 'utf8');
|
||||
assert.ok(installer.includes("/dev/tcp/git.workyai.cn/443"));
|
||||
assert.strictEqual(installer.includes('ping -c 1 git.workyai.cn'), false);
|
||||
assert.strictEqual(/^\s*clear\s*$/m.test(installer), false);
|
||||
assert.ok(installer.includes('clear_screen'));
|
||||
assert.ok(installer.includes('main "$@"'));
|
||||
assert.ok(installer.includes('/etc/apt/sources.list.d/ubuntu.sources'));
|
||||
for (const dependency of ['ca-certificates', 'iproute2', 'dnsutils', 'procps']) {
|
||||
assert.ok(installer.includes(dependency), dependency);
|
||||
}
|
||||
assert.ok(installer.includes('download_and_run_setup_script'));
|
||||
assert.strictEqual(/curl[^\n]+\|\s*(?:ba)?sh/.test(installer), false);
|
||||
assert.ok(installer.includes('verify_nodejs_installation'));
|
||||
});
|
||||
|
||||
test('install.sh 生成可用且受保护的生产环境配置', () => {
|
||||
const installer = fs.readFileSync(path.join(projectRoot, 'install.sh'), 'utf8');
|
||||
assert.ok(installer.includes('PUBLIC_BASE_URL=${PUBLIC_BASE_URL_VALUE}'));
|
||||
assert.ok(installer.includes('ALLOWED_HOSTS=${ALLOWED_HOSTS_VALUE}'));
|
||||
assert.ok(installer.includes('ALLOWED_ORIGINS=${ALLOWED_ORIGINS_VALUE}'));
|
||||
assert.ok(installer.includes('chmod 600 "${PROJECT_DIR}/backend/.env"'));
|
||||
assert.ok(installer.includes('dotenv_quote'));
|
||||
assert.strictEqual(installer.includes('ALLOWED_ORIGINS_VALUE=""'), false);
|
||||
assert.strictEqual(installer.includes('type_count++'), false);
|
||||
assert.ok(installer.includes('/api/health'));
|
||||
});
|
||||
|
||||
test('install.sh 只展示已实现的 SSL 方案且 Certbot 分支可达', () => {
|
||||
const installer = fs.readFileSync(path.join(projectRoot, 'install.sh'), 'utf8');
|
||||
assert.ok(installer.includes('deploy_certbot || ssl_fallback "1"'));
|
||||
assert.ok(installer.includes('download_and_run_setup_script "https://get.acme.sh"'));
|
||||
assert.strictEqual(installer.includes('证书申请功能开发中'), false);
|
||||
assert.strictEqual(installer.includes('阿里云AccessKey ID'), false);
|
||||
assert.strictEqual(installer.includes('腾讯云SecretId'), false);
|
||||
});
|
||||
|
||||
console.log('\n========================================');
|
||||
console.log('测试总结');
|
||||
console.log('========================================');
|
||||
|
||||
Reference in New Issue
Block a user