def test_messages_count(self): with open("InputTestData/multiplelongidmef.xml", "r") as input_file: idmef_parser = IdmefParser(input_file) i = 0 for _ in idmef_parser.parse_file_partially(): i += 1 self.assertEqual(i, 2, "Number of messages is different as it is in file")
def test_alerts(self): with open("InputTestData/multiplelongidmef.xml", "r") as input_file: idmef_parser = IdmefParser(input_file) message_generator = idmef_parser.parse_file_partially() self.generic_test(message_generator.__next__(), "Alert", expected_children_length=6) self.generic_test(message_generator.__next__(), "Alert", {"messageid": "abc123456789"}, 7)
def test_parsed_from_string(self): idmef_parser = IdmefParser(get_idmef_string()) alert = idmef_parser.parse_string() self.generic_test(alert, "Alert", {"messageid": "123d45"}, 13) linkage_names = get_linkage_names(alert) self.assertEqual(len(linkage_names), 4, message("Linkage name", "elementscount")) self.assertListEqual(linkage_names, ["FsObject", "FsObject", "FsObject", "FsObject"])
def test_chosen_values_second_message(self): with open("InputTestData/multiplelongidmef.xml", "r") as input_file: idmef_parser = IdmefParser(input_file) message_generator = idmef_parser.parse_file_partially() message_generator.__next__() services = message_generator.__next__().findall("Target/Service") self.assertEqual(len(services), 1, message("Impact", "elementscount")) service = services[0] self.generic_test(service, "Service", {"ident": "t01-4"}, 2)
def test_chosen_values_first_message(self): with open("InputTestData/multiplelongidmef.xml", "r") as input_file: idmef_parser = IdmefParser(input_file) message_generator = idmef_parser.parse_file_partially() impacts = message_generator.__next__().findall("Assessment/Impact") self.assertEqual(len(impacts), 1, message("Impact", "elementscount")) impact = impacts[0] self.generic_test(impact, "Impact", { "severity": "high", "completion": "succeeded", "type": "admin" }, 0)
def convert_single_ideamessage(): with open("InputTestData/longidmef.xml") as input_idmef: idmef_parser = IdmefParser(input_idmef) message_converter = IdmefToIdeaMessageConverter() input_message = idmef_parser.parse_file_partially().__next__() return message_converter.modify_data(input_message)
def get_root(self): with open("InputTestData/longidmef.xml", "r") as input_file: idmef_parser = IdmefParser(input_file) result_root = idmef_parser.parse_file_partially() result_root = result_root.__next__() return result_root