Exemplo n.º 1
0
 def test_probe(self):
     all_probe = Probe.get_all()
     probe = Probe.get_by_id(1)
     self.assertEqual(Probe.get_by_name("probe1"), Probe.get_by_id(1))
     self.assertEqual(len(all_probe), 1)
     self.assertEqual(probe.name, "probe1")
     self.assertEqual(str(probe), "probe1")
     self.assertEqual(probe.description, "test")
     self.assertIn('Failed to get the uptime on the host :', probe.uptime())
     self.assertFalse(probe.start()['status'])
     self.assertFalse(probe.restart()['status'])
     self.assertFalse(probe.stop()['status'])
     self.assertFalse(probe.reload()['status'])
     self.assertEqual('Failed to get status', probe.status())
     probe.installed = False
     self.assertEqual('Not installed', probe.uptime())
     probe = Probe.get_by_id(99)
     self.assertEqual(probe, None)
     with self.assertRaises(AttributeError):
         probe.name
     probe = Probe.get_by_name("probe99")
     self.assertEqual(probe, None)
     with self.assertRaises(AttributeError):
         probe.name
     with self.assertLogs('core.models', level='DEBUG'):
         Probe.get_by_id(99)
     with self.assertLogs('core.models', level='DEBUG'):
         Probe.get_by_name('probe99')
     with self.assertRaises(IntegrityError):
         Probe.objects.create(name="suricata1")
Exemplo n.º 2
0
def deploy_reputation_list(probe_name):
    job = Job.create_job('deploy_reputation_list', probe_name)
    probe = Probe.get_by_name(probe_name)
    if probe is None:
        return {
            "message":
            "Error - probe is None - param id not set : " + str(probe_name)
        }
    my_class = getattr(importlib.import_module(probe.type.lower() + ".models"),
                       probe.type)
    probe = my_class.get_by_name(probe_name)
    try:
        response_cat = CategoryReputation.deploy(probe)
        response_ip = IPReputation.deploy(probe)
        if response_cat['status'] and response_ip['status']:
            job.update_job(
                str(response_cat) + " - " + str(response_ip), 'Completed')
            logger.info("task - deploy_reputation_list : " + str(probe_name) +
                        " - " + str(response_cat) + " - " + str(response_ip))
        else:
            logger.error(str(response_cat) + " - " + str(response_ip))
            job.update_job(
                str(response_cat) + " - " + str(response_ip), 'Error')
            send_notification(
                "Error during deploy reputation list for " + str(probe.name),
                str(response_cat) + " - " + str(response_ip))
            return {
                "message": "Error for probe " + str(probe.name) +
                " to deploy reputation list",
                "exception": str(response_cat) + " - " + str(response_ip)
            }
    except Exception as e:  # pragma: no cover
        logger.exception(str(e))
        job.update_job(repr_instance.repr(e), 'Error')
        send_notification(
            "Error during deploy reputation list for " + str(probe.name),
            str(e))
        return {
            "message": "Error for probe " + str(probe.name) +
            " to deploy reputation list",
            "exception": str(e)
        }
    return {
        "message":
        "Probe " + str(probe.name) + " deployed successfully reputation list"
    }