first commit

This commit is contained in:
rodrigo committed 2025-08-08 10:22:27 -03:00
commit d0d99063e2
33 files changed
+9595

No files matched your search

+66
View File
@@ -0,0 +1,66 @@
// 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);