def testParseEmailMessage(self): msg = testing_helpers.MakeMessage(testing_helpers.HEADER_LINES, 'awesome!') (from_addr, to_addrs, cc_addrs, references, incident_id, subject, body) = emailfmt.ParseEmailMessage(msg) self.assertEqual('*****@*****.**', from_addr) self.assertEqual(['*****@*****.**'], to_addrs) self.assertEqual(['*****@*****.**'], cc_addrs) # Expected msg-id was generated from a previous known-good test run. self.assertEqual([ '<0=969704940193871313=13442892928193434663=' '*****@*****.**>' ], references) self.assertEqual('', incident_id) self.assertEqual('Issue 123 in proj: broken link', subject) self.assertEqual('awesome!', body) references_header = ('References', '<*****@*****.**> <*****@*****.**>') msg = testing_helpers.MakeMessage( testing_helpers.HEADER_LINES + [references_header], 'awesome!') (from_addr, to_addrs, cc_addrs, references, incident_id, subject, body) = emailfmt.ParseEmailMessage(msg) self.assertItemsEqual([ '<*****@*****.**>', '<0=969704940193871313=13442892928193434663=' '*****@*****.**>', '<*****@*****.**>' ], references)
def setUp(self): self.cnxn = 'fake cnxn' self.services = service_manager.Services( config=fake.ConfigService(), issue=fake.IssueService(), user=fake.UserService(), usergroup=fake.UserGroupService(), project=fake.ProjectService()) self.project = self.services.project.TestAddProject( 'proj', project_id=987, process_inbound_email=True, contrib_ids=[111]) self.project_addr = '*****@*****.**' self.issue = tracker_pb2.Issue() self.issue.project_id = 987 self.issue.local_id = 100 self.services.issue.TestAddIssue(self.issue) self.msg = testing_helpers.MakeMessage(testing_helpers.HEADER_LINES, 'awesome!') request, _ = testing_helpers.GetRequestObjects() self.inbound = inboundemail.InboundEmail(request, None, self.services) self.mox = mox.Mox()
def testParseEmailMessage_Bulk(self): for precedence in ['Bulk', 'Junk']: msg = testing_helpers.MakeMessage( testing_helpers.HEADER_LINES + [('Precedence', precedence)], 'I am on vacation!') (from_addr, to_addrs, cc_addrs, references, incident_id, subject, body) = emailfmt.ParseEmailMessage(msg) self.assertEqual('', from_addr) self.assertEqual([], to_addrs) self.assertEqual([], cc_addrs) self.assertEqual('', references) self.assertEqual('', incident_id) self.assertEqual('', subject) self.assertEqual('', body)
class TestData(object): """Contains constants or such objects that are intended to be read-only.""" cnxn = 'fake cnxn' test_issue_local_id = 100 component_id = 123 trooper_queue = 'my-trooper-bug-queue' project_name = 'proj' project_addr = '*****@*****.**' % (project_name, trooper_queue) project_id = 987 from_addr = '*****@*****.**' user_id = 111 msg_body = 'this is the body' msg_subject = 'this is the subject' msg = testing_helpers.MakeMessage(testing_helpers.ALERT_EMAIL_HEADER_LINES, msg_body) incident_id = msg.get(AlertEmailHeader.INCIDENT_ID) incident_label = alert2issue._GetIncidentLabel(incident_id) # All the tests in this class use the following alert properties, and # the generator functions/logic should be tested in a separate class. alert_props = { 'owner_id': None, 'cc_ids': [], 'status': 'Available', 'incident_label': incident_label, 'priority': 'Pri-0', 'trooper_queue': trooper_queue, 'field_values': [], 'labels': ['Restrict-View-Google', 'Pri-0', incident_label, trooper_queue], 'component_ids': [component_id], }