def test_get_remove_url(): alertsmsg = MailRequest( "fakepeer", sender, "*****@*****.**", open(home("tests/data/emails/alerts.msg")).read() ) url = alerts.get_remove_url(alertsmsg.body()) assert ( url == "/alerts/remove?s=AB2Xq4jsDy4ienBZYuYgWbzBWQ5i6LiD5L4y8JY&hl=en&gl=us&source=alertsmail&cd=4Ya67t6E3e4&cad=:s7:f1:v1:" ) msg = MailRequest( "fakepeer", sender, "*****@*****.**", open(home("tests/data/emails/confirmation.msg")).read() ) url = alerts.get_remove_url(msg.body()) assert url == "/alerts/remove?gl=us&hl=en&s=AB2Xq4jsDy4ienBZYuYgWbzBWQ5i6LiD5L4y8JY"
def test_get_html_stubs(): """ Given some html, return a list of html stubs that represent alerts. """ alertsmsg = MailRequest( "fakepeer", sender, "*****@*****.**", open(home("tests/data/emails/alerts.msg")).read() ) stubs = alerts.get_html_stubs(alertsmsg.body()) assert len(stubs) == 26
def test_get_raw_alert(): """ Given a chunk of html, turn it into a python dictionary we can use to populate a database record. """ alertsmsg = MailRequest( "fakepeer", sender, "*****@*****.**", open(home("tests/data/emails/alerts.msg")).read() ) stub = alerts.get_html_stubs(alertsmsg.body())[1] alert = alerts.get_raw_alert(stub) assert alert.has_key("blurb") assert alert["title"].startswith("Audio reveals swipes at Obama, other Illinois Democrats") assert alert["source"] == "Chicago Tribune", "Expected Chicago Tribune, source is actually %s" % alert["source"] assert alert["byline"] == "" alert[ "url" ] == "http://www.chicagotribune.com/news/local/blagojevich/ct-met-blagojevich-trial-0704-20100704,0,3385819.story" stub = alerts.get_html_stubs(alertsmsg.body())[0] alert = alerts.get_raw_alert(stub) assert alert["byline"] == "" assert alert["url"] == "http://www.foxnews.com/politics/2010/07/03/obama-announces-b-grants-clean-energy-jobs/"
def test_craft_response_no_attachment(): sample = MailResponse(To=list_name + "@librelist.com", From=user_full_address, Subject="Test message with attachments.", Body="The body as one attachment.") im = sample.to_message() assert_equal(len([x for x in im.walk()]), 1) assert_equal(im.get_payload(), sample.Body) inmsg = MailRequest("fakepeer", None, None, str(sample)) assert_equal(len(inmsg.all_parts()), 0) assert_equal(inmsg.body(), sample.Body) outmsg = craft_response(inmsg, list_name, list_name + "@librelist.com") om = outmsg.to_message() assert_equal(om.get_payload(), sample.Body) assert_equal(len([x for x in om.walk()]), len([x for x in im.walk()]))