forked from microsoft/MHA
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
return received rows direct instead of copying
- Loading branch information
1 parent
a788009
commit 04180bb
Showing
8 changed files
with
137 additions
and
109 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -28,12 +28,11 @@ QUnit.test("Received Tests", function (assert) { | |
|
||
assert.equal(received.computeDeltas(), "310 minutes 14 seconds", "Deltas"); | ||
assert.equal(received.exists(), true, "Exists"); | ||
assert.propEqual(received.receivedRows[0], | ||
assert.shallowEqual(received.receivedRows[0], | ||
{ | ||
"by": "vmta6.response.nfcu.org (PowerMTA(TM) v3.5r17)", | ||
"date": "4/20/2018 5:51:19 PM", | ||
"dateNum": 1524261079000, | ||
"delay": "", | ||
"delaySort": -1, | ||
"for": "<[email protected]>", | ||
"from": "localhost (10.0.22.21)", | ||
|
@@ -42,7 +41,7 @@ QUnit.test("Received Tests", function (assert) { | |
"percent": 0, | ||
"sourceHeader": header4 | ||
}, "header4"); | ||
assert.propEqual(received.receivedRows[1], | ||
assert.shallowEqual(received.receivedRows[1], | ||
{ | ||
"by": "BN3NAM04FT003.mail.protection.outlook.com (10.152.92.112)", | ||
"date": "4/20/2018 11:01:32 PM", | ||
|
@@ -57,7 +56,7 @@ QUnit.test("Received Tests", function (assert) { | |
"via": "Frontend Transport", | ||
"with": "Microsoft SMTP Server" | ||
}, "header3"); | ||
assert.propEqual(received.receivedRows[2], | ||
assert.shallowEqual(received.receivedRows[2], | ||
{ | ||
"by": "BN3NAM04HT205.eop-NAM04.prod.protection.outlook.com (10.152.93.134)", | ||
"date": "4/20/2018 11:01:32 PM", | ||
|
@@ -71,7 +70,7 @@ QUnit.test("Received Tests", function (assert) { | |
"sourceHeader": header2, | ||
"with": "Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384)" | ||
}, "header2"); | ||
assert.propEqual(received.receivedRows[3], | ||
assert.shallowEqual(received.receivedRows[3], | ||
{ | ||
"by": "SN1PR16MB0494.namprd16.prod.outlook.com", | ||
"date": "4/20/2018 11:01:33 PM", | ||
|
@@ -120,12 +119,11 @@ QUnit.test("Received Tests github headers", function (assert) { | |
|
||
assert.equal(received.computeDeltas(), "2 seconds", "github Deltas"); | ||
assert.equal(received.exists(), true, "github exists"); | ||
assert.propEqual(received.receivedRows[0], | ||
assert.shallowEqual(received.receivedRows[0], | ||
{ | ||
"by": "ismtpd0021p1iad2.sendgrid.net (SG)", | ||
"date": "4/21/2018 10:54:16 PM", | ||
"dateNum": 1524365656987, | ||
"delay": "", | ||
"delaySort": -1, | ||
"for": "<[email protected]>", | ||
"from": "smtp.github.com (out-3.smtp.github.com [192.30.252.194])", | ||
|
@@ -135,7 +133,7 @@ QUnit.test("Received Tests github headers", function (assert) { | |
"sourceHeader": githubHeader5, | ||
"with": "ESMTP" | ||
}, "githubHeader5"); | ||
assert.propEqual(received.receivedRows[1], | ||
assert.shallowEqual(received.receivedRows[1], | ||
{ | ||
"by": "filter0652p1las1.sendgrid.net", | ||
"date": "4/21/2018 10:54:17 PM", | ||
|
@@ -148,7 +146,7 @@ QUnit.test("Received Tests github headers", function (assert) { | |
"sourceHeader": githubHeader4, | ||
"with": "SMTP" | ||
}, "githubHeader4"); | ||
assert.propEqual(received.receivedRows[2], | ||
assert.shallowEqual(received.receivedRows[2], | ||
{ | ||
"by": "CO1NAM03FT028.mail.protection.outlook.com (10.152.80.189)", | ||
"date": "4/21/2018 10:54:17 PM", | ||
|
@@ -163,7 +161,7 @@ QUnit.test("Received Tests github headers", function (assert) { | |
"via": "Frontend Transport", | ||
"with": "Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384)" | ||
}, "githubHeader3"); | ||
assert.propEqual(received.receivedRows[3], | ||
assert.shallowEqual(received.receivedRows[3], | ||
{ | ||
"by": "CO1NAM03HT217.eop-NAM03.prod.protection.outlook.com (10.152.81.113)", | ||
"date": "4/21/2018 10:54:18 PM", | ||
|
@@ -177,7 +175,7 @@ QUnit.test("Received Tests github headers", function (assert) { | |
"sourceHeader": githubHeader2, | ||
"with": "Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384)" | ||
}, "githubHeader2"); | ||
assert.propEqual(received.receivedRows[4], | ||
assert.shallowEqual(received.receivedRows[4], | ||
{ | ||
"by": "SN1PR16MB0494.namprd16.prod.outlook.com", | ||
"date": "4/21/2018 10:54:19 PM", | ||
|
@@ -197,7 +195,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
var received = Received(); | ||
var sendGrid = "Received: by filter0383p1iad2.sendgrid.net with SMTP id filter0383p1iad2-15318-5AB8F728-C\n" + | ||
" 2018-03-26 13:35:36.270951634 +0000 UTC"; | ||
assert.propEqual(received.parseHeader(sendGrid), { | ||
assert.shallowEqual(received.parseHeader(sendGrid), { | ||
"by": "filter0383p1iad2.sendgrid.net", | ||
"date": "3/26/2018 9:35:36 AM", | ||
"dateNum": 1522071336270, | ||
|
@@ -211,7 +209,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
var sendGrid2 = "Received: from smtp.github.com (out-8.smtp.github.com [192.30.252.199])\n" + | ||
" by ismtpd0003p1iad2.sendgrid.net (SG) with ESMTP id gDQRSEGgSqCsi9tFtF1Vtg\n" + | ||
" Mon, 26 Mar 2018 13:35:36.102 +0000 (UTC)"; | ||
assert.propEqual(received.parseHeader(sendGrid2), { | ||
assert.shallowEqual(received.parseHeader(sendGrid2), { | ||
"by": "ismtpd0003p1iad2.sendgrid.net (SG)", | ||
"date": "3/26/2018 9:35:36 AM", | ||
"dateNum": 1522071336102, | ||
|
@@ -225,7 +223,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
|
||
var dupe1 = "Received: by me by you with this with that with whatever\n" + | ||
" 2018-03-26 13:35:36.270951634 +0000 UTC"; | ||
assert.propEqual(received.parseHeader(dupe1), { | ||
assert.shallowEqual(received.parseHeader(dupe1), { | ||
"by": "me; you", | ||
"date": "3/26/2018 9:35:36 AM", | ||
"dateNum": 1522071336270, | ||
|
@@ -240,7 +238,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
" (2a01:111:e400:c418::34) By SN1PR16MB0494.namprd16.prod.outlook.com With\n" + | ||
" HTTPS Via SN1PR15CA0024.NAMPRD15.PROD.OUTLOOK.COM; Sat, 21 Apr 2018 03:01:33\n" + | ||
" +0000"; | ||
assert.propEqual(received.parseHeader(case1), | ||
assert.shallowEqual(received.parseHeader(case1), | ||
{ | ||
"by": "SN1PR16MB0494.namprd16.prod.outlook.com", | ||
"date": "4/20/2018 11:01:33 PM", | ||
|
@@ -253,27 +251,26 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
"with": "HTTPS" | ||
}, case1); | ||
|
||
assert.propEqual(received.parseHeader(""), { | ||
assert.shallowEqual(received.parseHeader(""), { | ||
"delaySort": -1, | ||
"percent": 0, | ||
"sourceHeader": "" | ||
"percent": 0 | ||
}, "empty"); | ||
|
||
assert.propEqual(received.parseHeader("Received: "), { | ||
assert.shallowEqual(received.parseHeader("Received: "), { | ||
"delaySort": -1, | ||
"percent": 0, | ||
"sourceHeader": "Received: " | ||
}, "otherEmpty"); | ||
|
||
assert.propEqual(received.parseHeader(null), { | ||
assert.shallowEqual(received.parseHeader(null), { | ||
"delaySort": -1, | ||
"percent": 0, | ||
"sourceHeader": null | ||
}, "null"); | ||
|
||
var postfix = "Received: by example.com (Postfix, from userid 1001)\n" + | ||
" id 1234ABCD; Thu, 21 Aug 2014 12:12:48 +0200 (CEST)"; | ||
assert.propEqual(received.parseHeader(postfix), | ||
assert.shallowEqual(received.parseHeader(postfix), | ||
{ | ||
"by": "example.com (Postfix, from userid 1001)", | ||
"date": "8/21/2014 6:12:48 AM", | ||
|
@@ -285,7 +282,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
}, postfix); | ||
|
||
var qmail = "Received: (qmail 10876 invoked from network); 24 Aug 2014 16:13:38 -0000" | ||
assert.propEqual(received.parseHeader(qmail), | ||
assert.shallowEqual(received.parseHeader(qmail), | ||
{ | ||
"by": "qmail 10876 invoked from network", | ||
"date": "8/24/2014 12:13:38 PM", | ||
|
@@ -298,7 +295,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
var broke1 = | ||
"Received: Sun, 22 Apr 2018 02:54:19\n" + | ||
" +0000"; | ||
assert.propEqual(received.parseHeader(broke1), { | ||
assert.shallowEqual(received.parseHeader(broke1), { | ||
"date": "4/21/2018 10:54:19 PM", | ||
"dateNum": 1524365659000, | ||
"delaySort": -1, | ||
|
@@ -308,15 +305,15 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
|
||
var broke2 = | ||
"Received: 22 Apr 2018"; | ||
assert.propEqual(received.parseHeader(broke2), { | ||
assert.shallowEqual(received.parseHeader(broke2), { | ||
"delaySort": -1, | ||
"percent": 0, | ||
"sourceHeader": broke2 | ||
}, broke2); | ||
|
||
var broke3 = | ||
"Received: ; 22 Apr 2018"; | ||
assert.propEqual(received.parseHeader(broke3), { | ||
assert.shallowEqual(received.parseHeader(broke3), { | ||
"date": "4/21/2018 8:00:00 PM", | ||
"dateNum": 1524355200000, | ||
"delaySort": -1, | ||
|
@@ -326,7 +323,7 @@ QUnit.test("Received Tests parseHeader", function (assert) { | |
|
||
var broke4 = | ||
"Received: ;"; | ||
assert.propEqual(received.parseHeader(broke4), { | ||
assert.shallowEqual(received.parseHeader(broke4), { | ||
"delaySort": -1, | ||
"percent": 0, | ||
"sourceHeader": broke4 | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
/* global QUnit */ | ||
|
||
QUnit.assert.shallowEqual = function (value, expected, message) { | ||
var field; | ||
for (field in expected) { | ||
if (expected[field] === value[field].value) continue; | ||
if (expected[field] === value[field]) continue; | ||
this.pushResult({ | ||
result: false, | ||
actual: field + " = " + value[field], | ||
expected: field + " = " + expected[field], | ||
message: message | ||
}); | ||
} | ||
|
||
for (field in value) { | ||
if (expected[field] === undefined) { | ||
if (!value[field].toString()) continue; | ||
this.pushResult({ | ||
result: false, | ||
actual: field + " = " + value[field], | ||
expected: field + " = " + expected[field], | ||
message: message | ||
}); | ||
} | ||
} | ||
|
||
this.pushResult({ | ||
result: true, | ||
actual: value, | ||
expected: expected, | ||
message: message | ||
}); | ||
}; | ||
|
||
QUnit.assert.arrayEqual = function (value, expected, message) { | ||
if (value.length !== expected.length) { | ||
this.pushResult({ | ||
result: false, | ||
actual: "length = " + value.length, | ||
expected: "length = " + expected.length, | ||
message: message + " length" | ||
}); | ||
} | ||
|
||
for (var i = 0; i < value.length; i++) { | ||
this.shallowEqual(value[i], expected[i], message + "[" + i + "]"); | ||
} | ||
|
||
this.pushResult({ | ||
result: true, | ||
actual: value, | ||
expected: expected, | ||
message: message | ||
}); | ||
}; | ||
|
||
QUnit.assert.datesEqual = function (value, expected, message) { | ||
return this.propEqual({ date: value.date.toString(), dateNum: value.dateNum.toString() }, expected, message); | ||
}; | ||
|
||
QUnit.assert.errorsEqual = function (value, expectedValues, message) { | ||
var found = expectedValues.some(function (expected) { | ||
if (value === expected) { | ||
this.pushResult({ | ||
result: true, | ||
actual: value, | ||
expected: expected, | ||
message: message | ||
}); | ||
|
||
return true; | ||
} | ||
}, this); | ||
|
||
if (!found) { | ||
this.pushResult({ | ||
result: false, | ||
actual: value, | ||
expected: expectedValues, | ||
message: message | ||
}); | ||
} | ||
}; |
Oops, something went wrong.