def test_valid_event_custom(self): SAMPLE_EVENT = """ methods: ["method1", "method2"] objects: ["object1", "object2"] bug_numbers: [12345] notification_emails: ["*****@*****.**", "*****@*****.**"] record_in_processes: ["content"] description: This is a test entry for Telemetry. expiry_version: never extra_keys: key1: test1 key2: test2 products: - fennec operating_systems: - windows """ name = "test_event" event = load_event(SAMPLE_EVENT) evt = parse_events.EventData("CATEGORY", name, event, strict_type_checks=True) ParserError.exit_func() self.assertEqual(evt.methods, ["method1", "method2"]) self.assertEqual(evt.objects, ["object1", "object2"]) self.assertEqual(evt.record_in_processes, ["content"]) self.assertEqual(evt.products, ["fennec"]) self.assertEqual(evt.operating_systems, ["windows"]) self.assertEqual(sorted(evt.extra_keys), ["key1", "key2"])
def test_absent_products(self): SAMPLE_EVENT = """ methods: ["method1", "method2"] objects: ["object1", "object2"] bug_numbers: [12345] notification_emails: ["*****@*****.**", "*****@*****.**"] record_in_processes: ["content"] description: This is a test entry for Telemetry. expiry_version: never """ event = load_event(SAMPLE_EVENT) self.assertRaises( SystemExit, lambda: parse_events.EventData( "CATEGORY", "test_event", event, strict_type_checks=True))
def test_wrong_collection(self): SAMPLE_EVENT = """ objects: ["object1", "object2"] bug_numbers: [12345] notification_emails: ["*****@*****.**", "*****@*****.**"] record_in_processes: ["main"] description: This is a test entry for Telemetry. expiry_version: never release_channel_collection: none """ event = load_event(SAMPLE_EVENT) parse_events.EventData("CATEGORY", "test_event", event, strict_type_checks=True) self.assertRaises(SystemExit, ParserError.exit_func)
def test_valid_event_defaults(self): SAMPLE_EVENT = """ objects: ["object1", "object2"] bug_numbers: [12345] notification_emails: ["*****@*****.**", "*****@*****.**"] record_in_processes: ["main"] description: This is a test entry for Telemetry. expiry_version: never """ name = "test_event" event = load_event(SAMPLE_EVENT) evt = parse_events.EventData("CATEGORY", name, event, strict_type_checks=True) ParserError.exit_func() self.assertEqual(evt.methods, [name]) self.assertEqual(evt.record_in_processes, ["main"]) self.assertEqual(evt.objects, ["object1", "object2"]) self.assertEqual(evt.products, ["all"]) self.assertEqual(evt.operating_systems, ["all"]) self.assertEqual(evt.extra_keys, [])