'tag:mp_sig-unknown', 'tag:mp_enc-decrypted'], ): say('Searching for: %s' % search) results = mp.search(*search) assert(results.result['stats']['count'] == 1) say('Checking size of inbox') mp.order('flat-date') assert(mp.search('tag:inbox').result['stats']['count'] == 14) say('FIXME: Make sure message signatures verified') # Make sure we are decoding weird headers correctly search_bre = mp.search(*FROM_BRE).result result_bre = search_bre['data']['metadata'][search_bre['thread_ids'][0]] view_bre = mp.view('=%s' % result_bre['mid']).result metadata_bre = view_bre['data']['metadata'][view_bre['thread_ids'][0]] message_bre = view_bre['data']['messages'][view_bre['thread_ids'][0]] from_bre = search_bre['data']['addresses'][metadata_bre['from_aid']] say('Checking encoding: %s' % from_bre) assert('=C3' not in from_bre['fn']) assert('=C3' not in from_bre['address']) for key, val in message_bre['header_list']: if key.lower() not in ('from', 'to', 'cc'): continue say('Checking encoding: %s: %s' % (key, val)) assert('utf' not in val) # Create a message... new_mid = mp.message_compose().result['thread_ids'][0] assert(mp.search('tag:drafts').result['stats']['count'] == 0)
['from:twitter', 'brennan'], ['dates:2013-09-17', 'feministinn'], ['mailbox:tests.mbx'] + FROM_BRE, ['att:jpg', 'fimmtudaginn'], ['subject:Moderation', 'kde-isl']): say('Searching for: %s' % search) results = mp.search(*search) assert(results.result['count'] == 1) say('Checking size of inbox') mp.order('flat-date') assert(mp.search('tag:inbox').result['count'] == 8) # Make sure we are decoding weird headers correctly result_bre = mp.search(*FROM_BRE).result['messages'][0] result_bre = mp.view('=%s' % result_bre['mid']).result['messages'][0] say('Checking encoding: %s' % result_bre['from']) assert('=C3' not in result_bre['from']) say('Checking encoding: %s' % result_bre['message']['headers']['To']) assert('utf' not in result_bre['message']['headers']['To']) # Create a message... new_mid = mp.message_compose().result['messages'][0]['mid'] assert(mp.search('tag:drafts').result['count'] == 0) assert(mp.search('tag:blank').result['count'] == 1) assert(mp.search('tag:sent').result['count'] == 0) assert(not os.path.exists(mailpile_sent)) # Edit the message (moves from Blank to Draft, not findable in index) msg_data = { 'from': [MY_FROM],
mp.order('flat-date') for search in (FROM_BRE, ['agirorn'], ['subject:emerging'], ['from:twitter', 'brennan'], ['dates:2013-09-17', 'feministinn'], ['mailbox:tests.mbx'] + FROM_BRE, ['att:jpg', 'fimmtudaginn'], ['subject:Moderation', 'kde-isl']): say('Searching for: %s' % search) results = mp.search(*search) assert(results.result['count'] == 1) # Make sure we are decoding weird headers correctly result_bre = mp.search(*FROM_BRE).result['messages'][0] result_bre = mp.view('=%s' % result_bre['mid']).result['messages'][0] say('Checking encoding: %s' % result_bre['from']) assert('=C3' not in result_bre['from']) say('Checking encoding: %s' % result_bre['message']['headers']['To']) assert('utf' not in result_bre['message']['headers']['To']) # Create a message... new_mid = mp.message_compose().result['messages'][0]['mid'] assert(mp.search('tag:drafts').result['count'] == 0) assert(mp.search('tag:blank').result['count'] == 1) assert(mp.search('tag:sent').result['count'] == 0) assert(not os.path.exists(mailpile_sent)) # Edit the message (moves from Blank to Draft, not findable in index) msg_data = { 'from': [MY_FROM],
["from:brennan", "subject:encrypted", "testing", "purposes", "only"], ): say("Searching for: %s" % search) results = mp.search(*search) assert results.result["stats"]["count"] == 1 say("Checking size of inbox") mp.order("flat-date") assert mp.search("tag:inbox").result["stats"]["count"] == 13 say("FIXME: Make sure message signatures verified") # Make sure we are decoding weird headers correctly search_bre = mp.search(*FROM_BRE).result result_bre = search_bre["data"]["metadata"][search_bre["thread_ids"][0]] view_bre = mp.view("=%s" % result_bre["mid"]).result metadata_bre = view_bre["data"]["metadata"][view_bre["thread_ids"][0]] message_bre = view_bre["data"]["messages"][view_bre["thread_ids"][0]] from_bre = search_bre["data"]["addresses"][metadata_bre["from_aid"]] say("Checking encoding: %s" % from_bre) assert "=C3" not in from_bre["fn"] assert "=C3" not in from_bre["address"] for key, val in message_bre["header_list"]: if key.lower() not in ("from", "to", "cc"): continue say("Checking encoding: %s: %s" % (key, val)) assert "utf" not in val # Create a message... new_mid = mp.message_compose().result["thread_ids"][0] assert mp.search("tag:drafts").result["stats"]["count"] == 0