numex-sdk/test/cli-integration.test.js

44 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

const assert = require('assert');
const fs = require('fs');
const path = require('path');
const { NumexBridge } = require('../src/index');
async function testCliIntegration() {
console.log('🧪 Gerçek Numex CLI Entegrasyon Testi Başlatılıyor...\n');
// CLI yolunu belirle: c:/numexai/numexai/numex-cli/bin/numex.js
const cliPath = path.resolve(__dirname, '../../numex-cli/bin/numex.js');
if (!fs.existsSync(cliPath)) {
console.log('⚠️ SKIP: numex CLI bulunamadı (' + cliPath + ')');
return;
}
console.log('🔍 Bulunan CLI Giriş Noktası:', cliPath);
// Node.js ile bin/numex.js çalıştırmak için command = process.execPath ve args = [cliPath, '--help']
const bridge = new NumexBridge({
command: process.execPath
});
const res = await bridge.run([cliPath, '--help'], { timeout: 15000 });
if (!res.success && res.error && (res.error.includes('ENOENT') || res.error.includes('tanınmıyor'))) {
console.log('⚠️ SKIP: numex CLI bulunamadı veya çalıştırılamadı.');
return;
}
assert.strictEqual(res.success, true, `CLI çağrısı başarılı olmalı (Hata: ${res.error})`);
assert.ok(
res.stdout.includes('Kullanım:') || res.stdout.includes('numex') || res.stdout.includes('Numex'),
'stdout içerisinde yardım veya Numex metni geçmeli'
);
console.log('✅ Gerçek Numex CLI entegrasyon testi başarıyla geçti!');
}
testCliIntegration().catch((err) => {
console.error('❌ CLI Entegrasyon testi başarısız:', err);
process.exit(1);
});