def test_bro(self): all_bro = Bro.get_all() bro = Bro.get_by_id(101) self.assertEqual(len(all_bro), 1) self.assertEqual(bro.name, "test_instance_bro") self.assertEqual(str(bro), "test_instance_bro : ") bro = Bro.get_by_id(199) self.assertEqual(bro, None) with self.assertRaises(IntegrityError): Bro.objects.create(name="test_instance_bro")
def test_status(self): bro = Bro.get_by_id(101) self.assertTrue(bro.status()) self.assertIn("standalone localhost", bro.status()) bro.installed = False bro.save() self.assertEqual('Not installed', bro.status())
def test_index(self): """ Index Page for an instance of Bro """ bro = Bro.get_by_id(101) response = self.client.get('/bro/' + str(bro.id)) self.assertEqual(response.status_code, 200) self.assertIn('<title>Bro</title>', str(response.content)) self.assertEqual('bro/index.html', response.templates[0].name) self.assertIn('bro', response.resolver_match.app_names) self.assertIn('function probe_index', str(response.resolver_match.func)) self.assertEqual(str(response.context['user']), 'testuser') with self.assertTemplateUsed('bro/index.html'): self.client.get('/bro/' + str(bro.id)) response = self.client.get('/bro/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/stop/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Probe stopped successfully', str(response.content)) response = self.client.get('/bro/stop/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/start/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Probe started successfully', str(response.content)) response = self.client.get('/bro/start/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/status/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('get status successfully', str(response.content)) response = self.client.get('/bro/status/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/restart/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Probe restarted successfully', str(response.content)) response = self.client.get('/bro/restart/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/reload/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Probe reloaded successfully', str(response.content)) response = self.client.get('/bro/reload/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/deploy-conf/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Test configuration OK', str(response.content)) self.assertIn('Deployed configuration successfully', str(response.content)) response = self.client.get('/bro/deploy-conf/99') self.assertEqual(response.status_code, 404) response = self.client.get('/bro/deploy-rules/' + str(bro.id), follow=True) self.assertEqual(response.status_code, 200) self.assertIn('Deployed rules launched with succeed', str(response.content)) response = self.client.get('/bro/deploy-rules/99') self.assertEqual(response.status_code, 404)
def test_test_rules(self): bro = Bro.get_by_id(101) response = bro.test_rules() self.assertTrue(response['status']) signature = SignatureBro.objects.create(msg="zezezezezeze!", reference="", rule_full="test", enabled=True, created_date=self.date_now) ruleset = RuleSetBro(name="test failed") ruleset.save() ruleset.signatures.add(signature) bro.rulesets.add(ruleset) response = bro.test_rules() self.assertFalse(response['status'])
def test_intel(self): self.assertEqual(len(Intel.get_all()), 2) intel = Intel.get_by_id(1) self.assertEqual(intel.indicator, "192.168.50.110") self.assertEqual(str(intel), "Intel::ADDR-192.168.50.110") with Intel.get_tmp_dir() as tmp_dir: self.assertEqual(Intel.store(tmp_dir), tmp_dir + "intel-1.dat") self.assertEqual(Intel.deploy(Bro.get_by_id(101)), {'status': True}) Intel.import_from_csv(settings.BASE_DIR + '/bro/tests/data/test-intel.csv') self.assertEqual(len(Intel.get_all()), 4) self.assertEqual(str(Intel.get_by_id(3)), 'Intel::ADDR-10.110.56.45') Intel.get_by_id(3).delete() Intel.get_by_id(4).delete() intel = Intel.get_by_id(99) self.assertEqual(intel, None) with self.assertRaises(IntegrityError): Intel.objects.create(indicator="192.168.50.110", indicator_type="Intel::ADDR")
def test_update(self): bro = Bro.get_by_id(101) response = bro.update() self.assertTrue(response['status'])
def test_install(self): bro = Bro.get_by_id(101) response = bro.install() self.assertTrue(response['status'])
def test_deploy_rules(self): bro = Bro.get_by_id(101) response = bro.deploy_rules() self.assertTrue(response['status']) response = bro.reload() self.assertTrue(response['status'])
def test_reload(self): bro = Bro.get_by_id(101) response = bro.reload() self.assertTrue(response['status'])
def test_running(self): bro = Bro.get_by_id(101) response = bro.status() self.assertIn('running', response)
def test_test(self): bro = Bro.get_by_id(101) response = bro.server.test() self.assertTrue(response) response = bro.server.test_become() self.assertTrue(response)