first commit
This commit is contained in:
commit
d0d99063e2
33 files changed
+9595
No files matched your search
@@ -0,0 +1,120 @@
|
||||
// Teste completo do fluxo de Reset ONU
|
||||
const SSHManager = require('./src/ssh/manager');
|
||||
|
||||
async function testCompleteResetFlow() {
|
||||
console.log('🧪 Teste Completo do Fluxo de Reset ONU\n');
|
||||
|
||||
const sshManager = new SSHManager();
|
||||
|
||||
// Simular callback data que seria gerado pelo bot
|
||||
console.log('📝 1. Simulando callback data gerado pelo bot:');
|
||||
|
||||
// Exemplo de como seria gerado no handleVerSinal após encontrar ONU
|
||||
const simulatedResult = {
|
||||
slot: '1/1/1',
|
||||
onuId: '5'
|
||||
};
|
||||
const oltId = 'olt_dito';
|
||||
const serialNumber = 'DACM91569513';
|
||||
|
||||
const resetCallback = `reset_onu_${oltId}_${simulatedResult.slot}_${simulatedResult.onuId}`;
|
||||
console.log(` Callback gerado: ${resetCallback}`);
|
||||
|
||||
// Teste de parsing do callback
|
||||
console.log('\n🔍 2. Testando parsing do callback:');
|
||||
const parts = resetCallback.split('_');
|
||||
console.log(` Parts: ${JSON.stringify(parts)}`);
|
||||
|
||||
let parsedOltId, parsedSlot, parsedOnuId;
|
||||
|
||||
if (parts.length === 6) {
|
||||
parsedOltId = parts[2] + '_' + parts[3];
|
||||
parsedSlot = parts[4];
|
||||
parsedOnuId = parts[5];
|
||||
} else if (parts.length === 5) {
|
||||
parsedOltId = parts[2];
|
||||
parsedSlot = parts[3];
|
||||
parsedOnuId = parts[4];
|
||||
} else {
|
||||
parsedOnuId = parts[parts.length - 1];
|
||||
parsedSlot = parts[parts.length - 2];
|
||||
parsedOltId = parts.slice(2, -2).join('_');
|
||||
}
|
||||
|
||||
console.log(` ✅ Parsed - OLT: ${parsedOltId}, Slot: ${parsedSlot}, ONU: ${parsedOnuId}`);
|
||||
|
||||
// Verificar se a OLT existe
|
||||
console.log('\n🏢 3. Verificando se a OLT existe:');
|
||||
const equipment = sshManager.equipamentos.get(parsedOltId);
|
||||
if (equipment) {
|
||||
console.log(` ✅ OLT encontrada: ${equipment.name} (${equipment.host})`);
|
||||
} else {
|
||||
console.log(` ❌ OLT não encontrada: ${parsedOltId}`);
|
||||
console.log(' 📋 OLTs disponíveis:');
|
||||
sshManager.listOLTs().forEach(olt => {
|
||||
console.log(` - ${olt.id}: ${olt.name}`);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Gerar comando que seria executado
|
||||
console.log('\n💻 4. Comando que seria executado:');
|
||||
const command = `config terminal && interface gpon ${parsedSlot} && onu-reset onu ${parsedOnuId} && exit`;
|
||||
console.log(` Comando: ${command}`);
|
||||
|
||||
// Simular callback de confirmação
|
||||
console.log('\n✅ 5. Callback de confirmação:');
|
||||
const confirmCallback = `confirm_reset_onu_${parsedOltId}_${parsedSlot}_${parsedOnuId}`;
|
||||
console.log(` Callback: ${confirmCallback}`);
|
||||
|
||||
// Testar parsing da confirmação
|
||||
const confirmParts = confirmCallback.replace('confirm_reset_onu_', '').split('_');
|
||||
console.log(` Parts após remoção: ${JSON.stringify(confirmParts)}`);
|
||||
|
||||
let confirmOltId, confirmSlot, confirmOnuId;
|
||||
|
||||
if (confirmParts.length === 4) {
|
||||
confirmOltId = confirmParts[0] + '_' + confirmParts[1];
|
||||
confirmSlot = confirmParts[2];
|
||||
confirmOnuId = confirmParts[3];
|
||||
} else if (confirmParts.length === 3) {
|
||||
confirmOltId = confirmParts[0];
|
||||
confirmSlot = confirmParts[1];
|
||||
confirmOnuId = confirmParts[2];
|
||||
} else {
|
||||
confirmOnuId = confirmParts[confirmParts.length - 1];
|
||||
confirmSlot = confirmParts[confirmParts.length - 2];
|
||||
confirmOltId = confirmParts.slice(0, -2).join('_');
|
||||
}
|
||||
|
||||
console.log(` ✅ Confirm Parsed - OLT: ${confirmOltId}, Slot: ${confirmSlot}, ONU: ${confirmOnuId}`);
|
||||
|
||||
// Verificar se o método existe
|
||||
console.log('\n⚙️ 6. Verificando método resetOnuAlternative:');
|
||||
if (typeof sshManager.resetOnuAlternative === 'function') {
|
||||
console.log(' ✅ Método resetOnuAlternative encontrado');
|
||||
|
||||
// Teste simulado (sem executar)
|
||||
console.log('\n🎯 7. Teste simulado do método:');
|
||||
console.log(` Parâmetros: resetOnuAlternative('${confirmOltId}', '${confirmSlot}', '${confirmOnuId}')`);
|
||||
|
||||
console.log('\n📊 8. Resultado esperado:');
|
||||
console.log(' - Conexão na OLT via SSH');
|
||||
console.log(' - Execução do comando de reset');
|
||||
console.log(' - Retorno com status de sucesso/erro');
|
||||
|
||||
} else {
|
||||
console.log(' ❌ Método resetOnuAlternative NÃO encontrado');
|
||||
}
|
||||
|
||||
console.log('\n✅ Teste completo finalizado!');
|
||||
console.log('\n🚀 Para testar no bot:');
|
||||
console.log(' 1. Digite: ver sinal DACM91569513');
|
||||
console.log(' 2. Selecione uma OLT');
|
||||
console.log(' 3. Clique em "🔌 Reiniciar ONU"');
|
||||
console.log(' 4. Confirme com "✅ SIM, Reiniciar"');
|
||||
console.log(' 5. Verifique os logs no console');
|
||||
}
|
||||
|
||||
// Executar teste
|
||||
testCompleteResetFlow().catch(console.error);
|
||||
Reference in new issue
Block a user