예제 #1
0
class ActivacionAgenteService(object):
    """Este servicio regenera y recarga los archivos de configuracion para los agentes"""
    def __init__(self):
        self.sip_config_creator = SipConfigCreator()
        self.config_file = SipConfigFile()
        self.reload_asterisk_config = AsteriskConfigReloader()
        self.asterisk_database = AgenteFamily()

    def _generar_y_recargar_configuracion_asterisk(self):
        proceso_ok = True
        mensaje_error = ""

        try:
            self.sip_config_creator.create_config_sip()
        except Exception as e:
            msg = _("Error {0}: ActivacionAgenteService: error al ".format(
                e.message) + "intentar create_config_sip()")
            logger.exception(msg)

            proceso_ok = False
            mensaje_error += _("Hubo un inconveniente al crear el archivo de "
                               "configuracion del config sip de Asterisk. ")

        if not proceso_ok:
            raise (RestablecerConfigSipError(mensaje_error))
        else:
            self.config_file.copy_asterisk()
            self.reload_asterisk_config.reload_asterisk()
            self.asterisk_database.regenerar_families()

    def activar(self):
        self._generar_y_recargar_configuracion_asterisk()
예제 #2
0
    def test_falla_dict_agente_asterisk(self):
        """
        este test testea el diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertNotIn('PASS', dict_agente.keys())
예제 #3
0
    def test_devuelve_correctamente_dict_agente_asterisk(self):
        """
        este test testea el diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertEqual(['NAME', 'SIP', 'STATUS'], list(dict_agente.keys()))
예제 #4
0
    def test_devuelve_correctamente_values_agente_asterisk(self):
        """
        este test testea los values del diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertEqual(dict_agente['NAME'], self.agente.user.get_full_name())
        self.assertEqual(dict_agente['SIP'], self.agente.sip_extension)
        self.assertEqual(dict_agente['STATUS'], "")
예제 #5
0
 def _get_family(self, agente_profile):
     agente_family = AgenteFamily()
     return agente_family._get_nombre_family(agente_profile)
예제 #6
0
 def __init__(self):
     self.sip_config_creator = SipConfigCreator()
     self.reload_asterisk_config = AsteriskConfigReloader()
     self.asterisk_database = AgenteFamily()