Beispiel #1
0
 def test_close_one_of_two_open_machine_incident(self):
     event_metadata1 = EventMetadata(event_type="test",
                                     machine_serial_number="YOLOFOMO1")
     event_metadata1.machine = MockMetaMachine([self.mbu1], [self.tag1],
                                               "WINDOWS",
                                               "LAPTOP",
                                               serial_number="YOLOFOMO1")
     event1 = BaseEvent(event_metadata1, {"joe": "jackson"})
     self.assertTrue(self.probe.test_event(event1))
     machine_incident1, _ = update_or_create_open_machine_incident(
         self.probe_source,
         self.probe.get_matching_event_incident_severity(event1),
         event1.metadata.machine_serial_number, event1.metadata.uuid)
     event_metadata2 = EventMetadata(event_type="test",
                                     machine_serial_number="YOLOFOMO2")
     event_metadata2.machine = MockMetaMachine([self.mbu1], [self.tag1],
                                               "WINDOWS",
                                               "LAPTOP",
                                               serial_number="YOLOFOMO2")
     event2 = BaseEvent(event_metadata2, {"joe": "jackson"})
     self.assertTrue(self.probe.test_event(event2))
     machine_incident2, _ = update_or_create_open_machine_incident(
         self.probe_source,
         self.probe.get_matching_event_incident_severity(event2),
         event2.metadata.machine_serial_number, event2.metadata.uuid)
     # 2 machine incidents on 1 incident
     self.assertNotEqual(machine_incident1, machine_incident2)
     self.assertEqual(machine_incident1.serial_number, "YOLOFOMO1")
     self.assertEqual(machine_incident2.serial_number, "YOLOFOMO2")
     self.assertEqual(machine_incident1.incident,
                      machine_incident2.incident)
     # close one machine incident
     machine_incident3, event_payloads = update_or_create_open_machine_incident(
         self.probe_source, 0, event2.metadata.machine_serial_number,
         event2.metadata.uuid)
     self.assertEqual(machine_incident3, machine_incident2)
     self.assertEqual(machine_incident3.incident,
                      machine_incident2.incident)
     incident = machine_incident3.incident
     self.assertEqual(incident.status, STATUS_OPEN)
     self.assertEqual(machine_incident3.status, STATUS_CLOSED)
     machine_incident1.refresh_from_db()
     self.assertEqual(machine_incident1.status, STATUS_OPEN)
     self.assertEqual(len(event_payloads), 1)
     event_payload = event_payloads[0]
     self.assertEqual(event_payload["action"], "closed")
     self.assertEqual(event_payload["machine_incident"]["pk"],
                      machine_incident3.pk)
     self.assertEqual(event_payload["machine_incident"]["status"],
                      STATUS_CLOSED)
Beispiel #2
0
 def test_same_open_machine_incident(self):
     event_metadata = EventMetadata(event_type="test",
                                    machine_serial_number="YOLOFOMO")
     event_metadata.machine = MockMetaMachine([self.mbu1], [self.tag1],
                                              "WINDOWS",
                                              "LAPTOP",
                                              serial_number="YOLOFOMO")
     event = BaseEvent(event_metadata, {"joe": "jackson"})
     self.assertTrue(self.probe.test_event(event))
     machine_incident1, _ = update_or_create_open_machine_incident(
         self.probe_source,
         self.probe.get_matching_event_incident_severity(event),
         event.metadata.machine_serial_number, event.metadata.uuid)
     machine_incident2, event_payloads = update_or_create_open_machine_incident(
         self.probe_source,
         self.probe.get_matching_event_incident_severity(event),
         event.metadata.machine_serial_number, event.metadata.uuid)
     self.assertEqual(machine_incident1, machine_incident2)
     self.assertEqual(len(event_payloads), 0)
Beispiel #3
0
 def test_create_open_machine_incident(self):
     event_metadata = EventMetadata(event_type="test",
                                    machine_serial_number="YOLOFOMO")
     event_metadata.machine = MockMetaMachine([self.mbu1], [self.tag1],
                                              "WINDOWS",
                                              "LAPTOP",
                                              serial_number="YOLOFOMO")
     event = BaseEvent(event_metadata, {"joe": "jackson"})
     self.assertTrue(self.probe.test_event(event))
     machine_incident, event_payloads = update_or_create_open_machine_incident(
         self.probe_source,
         self.probe.get_matching_event_incident_severity(event),
         event.metadata.machine_serial_number, event.metadata.uuid)
     # machine incident
     self.assertEqual([machine_incident],
                      list(MachineIncident.objects.all()))
     self.assertEqual(machine_incident.status, STATUS_OPEN)
     self.assertEqual(machine_incident.event_id, event.metadata.uuid)
     # incident
     incident = machine_incident.incident
     self.assertEqual([incident], list(Incident.objects.all()))
     self.assertEqual(incident.probe_source, self.probe_source)
     self.assertEqual(incident.name, "base probe")
     self.assertEqual(incident.status, STATUS_OPEN)
     self.assertEqual(incident.severity, SEVERITY_CRITICAL)
     self.assertEqual(incident.event_id, event.metadata.uuid)
     # event payloads
     self.assertEqual(len(event_payloads), 2)
     event_payload1, event_payload2 = event_payloads
     # incident event payload
     self.assertEqual(event_payload1["action"], "created")
     self.assertEqual(event_payload1["pk"], incident.pk)
     self.assertEqual(event_payload1.get("machine_incident"), None)
     # machine incident event payload
     self.assertEqual(event_payload2["action"], "created")
     self.assertEqual(
         event_payload2["machine_incident"], {
             "pk": machine_incident.pk,
             "status": machine_incident.status,
             "event_id": str(event.metadata.uuid)
         })
     # meta machine
     self.assertEqual(
         MetaMachine("YOLOFOMO").max_incident_severity(), SEVERITY_CRITICAL)