67 lines
2.5 KiB
JavaScript
67 lines
2.5 KiB
JavaScript
// Teste específico do método resetOnuAlternative
|
|
const SSHManager = require('./src/ssh/manager');
|
|
|
|
async function testResetOnuAlternative() {
|
|
console.log('🧪 Testando método resetOnuAlternative...\n');
|
|
|
|
const sshManager = new SSHManager();
|
|
|
|
// Verificar se o método existe
|
|
console.log('⚙️ Verificando método resetOnuAlternative:');
|
|
if (typeof sshManager.resetOnuAlternative === 'function') {
|
|
console.log(' ✅ Método resetOnuAlternative encontrado');
|
|
} else {
|
|
console.log(' ❌ Método resetOnuAlternative não encontrado');
|
|
return;
|
|
}
|
|
|
|
// Testar a estrutura do comando
|
|
console.log('\n🔍 Estrutura do comando que será executado:');
|
|
const slot = '1/1/1';
|
|
const onuId = '5';
|
|
const command = `config terminal && interface gpon ${slot} && onu-reset onu ${onuId} && exit`;
|
|
console.log(` Comando: ${command}`);
|
|
|
|
// Simular diferentes cenários de parsing
|
|
console.log('\n📝 Teste de parsing de callbacks:');
|
|
const testCases = [
|
|
'reset_onu_olt_dito_1/1/1_5',
|
|
'reset_onu_olt_colmeia_2/2/2_10',
|
|
'reset_onu_olt_canaa_3/3/3_15',
|
|
'reset_onu_olt_canaa2_1/2/3_8'
|
|
];
|
|
|
|
testCases.forEach(callback => {
|
|
const parts = callback.split('_');
|
|
let oltId, slot, onuId;
|
|
|
|
if (parts.length === 6) {
|
|
oltId = parts[2] + '_' + parts[3];
|
|
slot = parts[4];
|
|
onuId = parts[5];
|
|
} else {
|
|
onuId = parts[parts.length - 1];
|
|
slot = parts[parts.length - 2];
|
|
oltId = parts.slice(2, -2).join('_');
|
|
}
|
|
|
|
console.log(` Callback: ${callback}`);
|
|
console.log(` -> OLT: ${oltId}, Slot: ${slot}, ONU: ${onuId}`);
|
|
|
|
// Mostrar como seria o comando
|
|
const cmd = `config terminal && interface gpon ${slot} && onu-reset onu ${onuId} && exit`;
|
|
console.log(` -> Comando: ${cmd}`);
|
|
console.log();
|
|
});
|
|
|
|
console.log('✅ Testes de estrutura concluídos!');
|
|
console.log('\n📋 Diferenças entre as versões:');
|
|
console.log(' 🔄 resetOnu (original): Usa shell interativo com detecção de prompts');
|
|
console.log(' ⚡ resetOnuAlternative: Usa comando único com operadores &&');
|
|
console.log('\n💡 A versão alternativa deve ser mais confiável e evitar timeouts.');
|
|
console.log('🚀 Teste no bot usando "ver sinal SERIAL" e clique em "🔌 Reiniciar ONU"');
|
|
}
|
|
|
|
// Executar teste
|
|
testResetOnuAlternative().catch(console.error);
|