Exemple #1
0
	def setUp(self):
		management.call_command('loaddata', 'test_supervisor.json', database='default', verbosity=0)
		management.call_command('loaddata', 'test_host.json', database='default', verbosity=0)

		self.event1 = create_event(create_alert(host='test host'), message='Aggregation Event#1', criticity='Mineur', glpi=10, mail=True)
		self.event1.save()
		
		self.event2 = create_event(create_alert(host='test host2'), message='Aggregation Event#2', criticity='?')
		self.event2.save()
Exemple #2
0
	def test_ticket_management(self):
		from os.path import join
		from base64 import b64encode

		E = create_event(create_alert())
		E.create_ticket()

		# Try to add a picture to a document
		b64doc = b64encode(open(join(settings.BASEDIR, '../sendim/tests/python.png'), 'r').read())
		doc = b64doc
		self.manager.add_ticket_document(E.glpi, doc, 'python.png')

		# Try to add a follow-up
		self.manager.add_follow_up(E.glpi, 'Test follow-up')

		# Try to get the ticket and find added info
		ticket = self.manager.get_ticket(E.glpi)
		self.assertEqual(ticket['documents'][0]['filename'], 'python.png')
		self.assertEqual(ticket['followups'][0]['content'], 'Test follow-up')
Exemple #3
0
	def test_treatment_without_reference(self):
		self.client.post('/snafu/event/reloadAlerts')
	   
		if not Event.objects.all().exists() :
			create_event(create_alert(),3)

		E = Event.objects.all()[0]
		A = E.get_primary_alert()
		self.assertNotEqual(E.message, '?')

		response = self.client.post('/snafu/events',{'eventPk':E.pk,'treatment_q':''})
		self.assertNotIn('event/add-reference.html', response.templates)
		
		ref_post = {
		  'eventPk':E.pk,
		  'host':E.element.pk,
		  'service':A.service.pk,
		  'mail_group':1,
		  'mail_type':1,
		  'glpi_category':1,
		  'glpi_dst_group':1,
		  'glpi_supplier':1,
		  'glpi_source':'Supervision',
		  'escalation_contact':'',
		  'tendancy':'',
		  'outage':'',
		  'explanation':'',
		  'origin':'',
		  'procedure':'',
		}
		if A.service.name == 'Host status' :
			ref_post['form_type'] = 'host'
			ref_post['status'] = A.status.pk
			ref_post['mail_criticity'] = 1
			ref_post['glpi_impact'] = 1
			ref_post['glpi_priority'] = 1
			ref_post['glpi_urgency'] = 1
		else :
			ref_post['form_type'] = 'big'
			ref_post['warning_criticity'] = 1
			ref_post['warning_impact'] = 1
			ref_post['warning_priority'] = 1
			ref_post['warning_urgency'] = 1
			ref_post['critical_criticity'] = 1
			ref_post['critical_impact'] = 1
			ref_post['critical_priority'] = 1
			ref_post['critical_urgency'] = 1
			ref_post['unknown_criticity'] = 1
			ref_post['unknown_impact'] = 1
			ref_post['unknown_priority'] = 1
			ref_post['unknown_urgency'] = 1
		
		self.client.post('/snafu/event/addref',ref_post)
		self.assertIsNotNone(Alert.objects.get(pk=A.pk).reference)

		response = self.client.post('/snafu/events',{'eventPk':E.pk,'treatment_q':''})
		self.assertIsNotNone(Event.objects.get(pk=E.pk))
		self.assertIn('event/preview-mail.html', [ T.name for T in response.templates])

		mail_post = {
		  'eventPk':E.pk,
		  'sendmail_q':'',
		  'to':response.context['msg']['to'],
		  'cc':response.context['msg']['cc'],
		  'ccm':response.context['msg'].get('ccm',''),
		  'subject':response.context['msg']['subject'],
		  'body':response.context['msg']['body'],
		  'graphList':response.context['graphList'],
		}
		response = self.client.post('/snafu/events', mail_post)
		self.assertTrue(Event.objects.get(pk=E.pk).mail)
		self.assertIn('event/event-index.html', [ T.name for T in response.templates])