def test_contact_update(config, message, db): update_contacts(db.session, ACCOUNT_ID, message) assert len(message.contacts) == 4 to_contacts = [assoc.contact for assoc in message.contacts if assoc.field == 'to_addr'] assert len(to_contacts) == 1 c = to_contacts[0] messages_to = [assoc.message for assoc in c.message_associations if assoc.field == 'to_addr'] assert len(messages_to) == 1
def create_gmail_message(db_session, log, acct, folder, msg): """ Gmail-specific message creation logic. """ new_uid = account.create_imap_message(db_session, log, acct, folder, msg) new_uid = add_gmail_attrs(db_session, log, new_uid, msg.flags, folder, msg.g_thrid, msg.g_msgid, msg.g_labels, msg.created) update_contacts(db_session, acct.id, new_uid.message) return new_uid
def test_scoring(config, message, db): for _ in range(10): # Pretend to process a number of messages. update_contacts(db.session, ACCOUNT_ID, message) # The expected scores here must be updated when the scoring function # changes. contact = db.session.query(Contact). \ filter(Contact.email_address == '*****@*****.**').one() assert contact.score == 10 contact = db.session.query(Contact). \ filter(Contact.email_address == '*****@*****.**').one() assert contact.score == 19 contact = db.session.query(Contact). \ filter(Contact.email_address == '*****@*****.**').one() assert contact.score == 10
def test_canonicalization(config, gmail_message, db): # STOPSHIP(emfree) doesn't actually test anything update_contacts(db.session, ACCOUNT_ID, gmail_message) contacts = db.session.query(Contact).filter(Contact.name == 'Somebody') assert contacts.count() == 1