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")
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" }