Created
October 21, 2011 06:55
-
-
Save arronzhang/1303261 to your computer and use it in GitHub Desktop.
Test mail parser for haraka
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Received: by yxo30 with SMTP id 30so753526yxo.1 | |
for <[email protected]>; Thu, 20 Oct 2011 06:29:41 -0700 (PDT) | |
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | |
d=gmail.com; s=gamma; | |
h=from:content-type:subject:date:message-id:to:mime-version:x-mailer; | |
bh=Obpvt8P9afAHZoVJKKcis2kWu/ANdFRO5wMOJKfFu8Q=; | |
b=I1E+REKQIibT3BjN25s0C7uz/tRlx4RJExa+ZINa3fRf13WmROkf4SJmLAP65LZzX8 | |
5o3emJ4fdnv1YZQSOp0+YlRcAt5vvd84eYZwaSCL2uFjHOJLpR/k/HsObJ6VMvmQqEFZ | |
gzhd1lLvxvKm6W7ypMOybfzjCHGosN3mqPzuU= | |
Received: by 10.68.199.170 with SMTP id jl10mr20555259pbc.28.1319117381189; | |
Thu, 20 Oct 2011 06:29:41 -0700 (PDT) | |
Return-Path: <[email protected]> | |
Received: from [192.168.1.101] ([125.120.70.137]) | |
by mx.google.com with ESMTPS id ki1sm19076325pbb.3.2011.10.20.06.29.38 | |
(version=TLSv1/SSLv3 cipher=OTHER); | |
Thu, 20 Oct 2011 06:29:40 -0700 (PDT) | |
From: =?GB2312?B?1cXV8rar?= <[email protected]> | |
Content-Type: multipart/alternative; boundary=Apple-Mail-86--639724651 | |
Subject: =?GB2312?Q?Test_for_=D6=D0=CE=C4?= | |
Date: Thu, 20 Oct 2011 21:29:35 +0800 | |
Message-Id: <[email protected]> | |
To: [email protected] | |
Mime-Version: 1.0 (Apple Message framework v1084) | |
X-Mailer: Apple Mail (2.1084) | |
--Apple-Mail-86--639724651 | |
Content-Transfer-Encoding: base64 | |
Content-Type: text/plain; | |
charset=GB2312 | |
yMvD8c34MTDUwjIwyNW15yCjqLCyufrVwqOpIL7dwLTX1MD7scjRx7XEz/vPoqOsDQrA+7HI0cfW | |
tNX+tbG+1rK/ttO98czs0tG+rc3qyKu/2NbGwcu/qNT6t8a1xMDPvNLL1bb7zNijrL+o1Pq3xsG9 | |
zcjK3MnLuvOxu7T+srajrNLRsbvLzc350r3UuqGjIL7dwPuxyNHHtefK08yosai1wKOswPuxyNHH | |
1rTV/rWxvta1xLK/ttO98czsx+Wzv7bUv6ggLi4u | |
--Apple-Mail-86--639724651 | |
Content-Transfer-Encoding: quoted-printable | |
Content-Type: text/html; | |
charset=GB2312 | |
<html><head></head><body style=3D"word-wrap: break-word; = | |
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; = | |
"><!--?xml version=3D"1.0" encoding=3D"UTF-8"?--> | |
<div style=3D"font-family: Arial; ">=C8=CB=C3=F1=CD=F810=D4=C220=C8=D5=B5=E7= | |
=A3=A8=B0=B2=B9=FA=D5=C2=A3=A9 =BE=DD=C0=B4=D7=D4=C0=FB=B1=C8=D1=C7=B5=C4= | |
=CF=FB=CF=A2=A3=AC</div><div style=3D"font-family: Arial; = | |
">=C0=FB=B1=C8=D1=C7=D6=B4=D5=FE=B5=B1=BE=D6=B2=BF=B6=D3=BD=F1=CC=EC=D2=D1= | |
=BE=AD=CD=EA=C8=AB=BF=D8=D6=C6=C1=CB=BF=A8=D4=FA=B7=C6=B5=C4=C0=CF=BC=D2=CB= | |
=D5=B6=FB=CC=D8=A3=AC=BF=A8=D4=FA=B7=C6=C1=BD=CD=C8=CA=DC=C9=CB=BA=F3=B1=BB= | |
=B4=FE=B2=B6=A3=AC=D2=D1=B1=BB=CB=CD=CD=F9=D2=BD=D4=BA=A1=A3 = | |
=BE=DD=C0=FB=B1=C8=D1=C7=B5=E7=CA=D3=CC=A8=B1=A8=B5=C0=A3=AC=C0=FB=B1=C8=D1= | |
=C7=D6=B4=D5=FE=B5=B1=BE=D6=B5=C4=B2=BF=B6=D3=BD=F1=CC=EC=C7=E5=B3=BF=B6=D4= | |
=BF=A8 ...</div></body></html>= | |
--Apple-Mail-86--639724651-- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Received: by ywb26 with SMTP id 26so57554ywb.1 | |
for <[email protected]>; Thu, 20 Oct 2011 06:33:54 -0700 (PDT) | |
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | |
d=gmail.com; s=gamma; | |
h=mime-version:date:message-id:subject:from:to:content-type; | |
bh=wsg9qxezfSvf+2YWxgE5i9csW5QhCcABSFpI4B/r15Y=; | |
b=rXeTpx01t/4J6qZe7whQ2lM0UM1MX7D73nyOdd3zO33JMz8G6pXlvpRObXQLFcKJ0H | |
gEdk+QVEsXjAn/ZTBZSh+it+9capUnE+Z0yTXreZiDkJaKsQgysi335gsduXmcFT2YbU | |
bKhlo8QBXdnPveLcI0CQgYlYrZ0Xhbmx2vCr8= | |
MIME-Version: 1.0 | |
Received: by 10.223.81.205 with SMTP id y13mr18203205fak.34.1319117634355; | |
Thu, 20 Oct 2011 06:33:54 -0700 (PDT) | |
Received: by 10.223.87.8 with HTTP; Thu, 20 Oct 2011 06:33:54 -0700 (PDT) | |
Date: Thu, 20 Oct 2011 21:33:54 +0800 | |
Message-ID: <CAOOd1DF4Dm=sNnkAYQTYAn6bkqtTfk4X=mOJXUj-yMs=O3ZH-A@mail.gmail.com> | |
Subject: =?GB2312?B?VGVzdCBmb3Ig1tDOxA==?= | |
From: =?GB2312?B?1cXV8rar?= <[email protected]> | |
To: [email protected] | |
Content-Type: multipart/alternative; boundary=0015175d037e0340c304afbb0215 | |
--0015175d037e0340c304afbb0215 | |
Content-Type: text/plain; charset=GB2312 | |
Content-Transfer-Encoding: base64 | |
yMvD8c34MTDUwjIwyNW15yCjqLCyufrVwqOpIL7dwLTX1MD7scjRx7XEz/vPoqOsCsD7scjRx9a0 | |
1f61sb7Wsr+2073xzOzS0b6tzerIq7/Y1sbBy7+o1Pq3xrXEwM+80svVtvvM2KOsv6jU+rfGwb3N | |
yMrcycu687G7tP6ytqOs0tGxu8vNzfnSvdS6oaMgvt3A+7HI0ce158rTzKixqLXAo6zA+7HI0cfW | |
tNX+tbG+1rXEsr+2073xzOzH5bO/ttS/qAouLi4K | |
--0015175d037e0340c304afbb0215 | |
Content-Type: text/html; charset=GB2312 | |
Content-Transfer-Encoding: base64 | |
PGRpdj7Iy8PxzfgxMNTCMjDI1bXnIKOosLK5+tXCo6kgvt3AtNfUwPuxyNHHtcTP+8+io6w8L2Rp | |
dj48ZGl2PsD7scjRx9a01f61sb7Wsr+2073xzOzS0b6tzerIq7/Y1sbBy7+o1Pq3xrXEwM+80svV | |
tvvM2KOsv6jU+rfGwb3NyMrcycu687G7tP6ytqOs0tGxu8vNzfnSvdS6oaMgvt3A+7HI0ce158rT | |
zKixqLXAo6zA+7HI0cfWtNX+tbG+1rXEsr+2073xzOzH5bO/ttS/qCAuLi48L2Rpdj4K | |
--0015175d037e0340c304afbb0215-- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Received: by host.monit.cn (Postfix, from userid 501) | |
id 1C286588DDA8; Thu, 20 Oct 2011 21:27:40 +0800 (CST) | |
To: [email protected] | |
Subject: Test for 中文 | |
Message-Id: <[email protected]> | |
Date: Thu, 20 Oct 2011 21:27:40 +0800 (CST) | |
From: [email protected] (hidden) | |
Test for chinese | |
人民网10月20日电 (安国章) 据来自利比亚的消息, | |
利比亚执政当局部队今天已经完全控制了卡扎菲的老家苏尔特,卡扎菲两腿受伤后被逮捕,已被送往医院。 据利比亚电视台报道,利比亚执政当局的部队今天清晨对卡 ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var test = require("tap").test; | |
require('../configfile').watch_files = false; | |
var Address = require("../address.js").Address | |
, trans = require("../transaction.js") | |
, fs = require("fs"); | |
var subjectText = "Test for 中文" | |
, bodyText = "Test for chinese\n人民网10月20日电 (安国章) 据来自利比亚的消息,\n利比亚执政当局部队今天已经完全控制了卡扎菲的老家苏尔特,卡扎菲两腿受伤后被逮捕,已被送往医院。 据利比亚电视台报道,利比亚执政当局的部队今天清晨对卡 ..." | |
, wordForCheck = "人民网" | |
, gmailText = fs.readFileSync(__dirname + '/fixtures_mail.gmail.txt', 'utf8') | |
, applemailText = fs.readFileSync(__dirname + '/fixtures_mail.apple-mail.txt', 'utf8') | |
, postfixText = fs.readFileSync(__dirname + '/fixtures_mail.postfix.txt', 'utf8'); | |
function createTransaction (text) { | |
var transaction = trans.createTransaction(); | |
transaction.parse_body = true; | |
text.split(/\r?\n/).forEach(function(line) { | |
transaction.add_data(line); | |
}); | |
return transaction; | |
} | |
test("Parse mail from postfix", function(t) { | |
var transaction = createTransaction(postfixText); | |
//if( transaction.body.body_text_encoded ) | |
// transaction.body.parse_end(); | |
var body = transaction.body; | |
t.equal(body.header.get_decoded("subject"), subjectText, "Check subject"); | |
t.ok(body.bodytext, "Should have bodytext"); | |
t.ok(body.bodytext.indexOf(wordForCheck) != -1, "Check word in body"); | |
t.end(); | |
}); | |
test("Parse mail from apple mail", function(t) { | |
var transaction = createTransaction(applemailText) | |
, body = transaction.body; | |
var children = body.children | |
, first = children[0] | |
, second = children[1]; | |
t.equal(body.header.get_decoded("subject"), subjectText, "Check subject"); | |
t.equal(children.length, 2, "should have to child body"); | |
t.ok(first.bodytext.indexOf(wordForCheck) != -1, "Check word in first part body"); | |
t.ok(second.bodytext.indexOf(wordForCheck) != -1, "Check word in second part body"); | |
t.end(); | |
}); | |
test("Parse mail from gmail", function(t) { | |
var transaction = createTransaction(applemailText) | |
, body = transaction.body; | |
var children = body.children | |
, first = children[0] | |
, second = children[1]; | |
t.equal(body.header.get_decoded("subject"), subjectText, "Check subject"); | |
t.equal(children.length, 2, "should have to child body"); | |
t.ok(first.bodytext.indexOf(wordForCheck) != -1, "Check word in first part body"); | |
t.ok(second.bodytext.indexOf(wordForCheck) != -1, "Check word in second part body"); | |
t.end(); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment