Skip to content

Commit 25091b3

Browse files
committed
Future-proof (wip)
1 parent 492fe2a commit 25091b3

20 files changed

+146
-157
lines changed

src/Nager.EmailAuthentication.UnitTest/DkimPublicKeyRecordParserTests/BasicTest.cs

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DkimPublicKeyRecordParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DkimPublicKeyRecordParserTests
24
{
35
[TestClass]
46
public sealed class BasicTest
@@ -8,7 +10,7 @@ public void TryParse_ValidDkimPublicKeyRecord1_ReturnsTrueAndPopulatesDataFragme
810
{
911
var dkimPublicKeyRecord = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuu8v3TAGlg2cKEVtHbqh5QfebUSdVp2qwH4NFaIG/rEsBshHI97fdP6TqiJCmpLhK8mHSQMit2HiHAEUApa0xAw7SI68XiBr6epKpTkHaUx27C/kjyuxYmGFOJy6mrDzeC2E5+Lp1u9QifjuBtUk78ORSA+EXeEMxssHy51NdHT0BlZGk1M+wXTxniQ2d198gDVjjqRGM433Q0AP6uSJac9LQj80tHkWrnr/bjct7EOdtF+6mDl4qjAaJTruk03Xt3Alaj+DIOPmnwP1mbPLQmK4blnzM7jwQc2kZz9gSJocc0nhs8KfuR6Xj23iSOJV+WEt6WoLoJzSl8/Dx5CKJwIDAQAB";
1012

11-
var isSuccessful = DkimPublicKeyRecordDataFragmentParser.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
13+
var isSuccessful = DkimPublicKeyRecordDataFragmentParserV1.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
1214

1315
Assert.IsTrue(isSuccessful);
1416
Assert.IsNotNull(dkimPublicKeyRecordDataFragment);
@@ -20,7 +22,7 @@ public void TryParse_InvalidDkimPublicKeyRecord2_ReturnsTrueAndPopulatesDataFrag
2022
{
2123
var dkimPublicKeyRecord = "v=DKIM1; k=rsa; p=";
2224

23-
var isSuccessful = DkimPublicKeyRecordDataFragmentParser.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
25+
var isSuccessful = DkimPublicKeyRecordDataFragmentParserV1.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
2426

2527
Assert.IsTrue(isSuccessful);
2628
Assert.IsNotNull(dkimPublicKeyRecordDataFragment);
@@ -32,7 +34,7 @@ public void TryParse_InvalidDkimPublicKeyRecord3_ReturnsTrueAndPopulatesDataFrag
3234
{
3335
var dkimPublicKeyRecord = "v=DKIM1; k=rsa; p=1";
3436

35-
var isSuccessful = DkimPublicKeyRecordDataFragmentParser.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
37+
var isSuccessful = DkimPublicKeyRecordDataFragmentParserV1.TryParse(dkimPublicKeyRecord, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
3638

3739
Assert.IsTrue(isSuccessful);
3840
Assert.IsNotNull(dkimPublicKeyRecordDataFragment);
@@ -44,7 +46,7 @@ public void TryParse_WrongDkimPublicKeyRecord1_ReturnsTrueAndPopulatesDataFragme
4446
{
4547
var dkimPublicKeyRecordRaw = "v=DMARC1;p=reject;";
4648

47-
var isSuccessful = DkimPublicKeyRecordDataFragmentParser.TryParse(dkimPublicKeyRecordRaw, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
49+
var isSuccessful = DkimPublicKeyRecordDataFragmentParserV1.TryParse(dkimPublicKeyRecordRaw, out var dkimPublicKeyRecordDataFragment, out var parsingResults);
4850

4951
Assert.IsTrue(isSuccessful);
5052
Assert.IsNotNull(dkimPublicKeyRecordDataFragment);

src/Nager.EmailAuthentication.UnitTest/DkimSignatureParserTests/BasicTest.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Nager.EmailAuthentication.Models;
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
using Nager.EmailAuthentication.Models;
23

34
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
45
{
@@ -10,7 +11,7 @@ public void TryParse_ValidDkimSignature1_ReturnsTrueAndPopulatesDataFragment()
1011
{
1112
var dkimSignature = "v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt; d=domain.com; [email protected]; s=mailjet; x=1737017824; h=message-id:from:from:reply-to:to:to:subject:subject:date:date:list-unsubscribe-post:list-unsubscribe:feedback-id:x-csa-complaints:x-mj-mid:x-report-abuse-to:mime-version:content-type; bh=TyN/x6t3AOfI298rgJAgZHgdWcq/XLISGen5nN3NLAc=; b=HLCLiikV92Ku/k9mGlZM0bmqPjKggGnMI0igqhXmPRzPJUC+5SUWRS6/FLUpxbX6AUGJRDYQnKKMtp6uZkYVuKG8SPZ01cUkvIiiAkczb4bK6IVvPbZOnsWqHkD6EvK3TrpIhgFfGLlcG+zIwgdDZ3O++uhpJkIX1WJlkXZYqxQ=";
1213

13-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
14+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
1415

1516
Assert.IsTrue(isSuccessful);
1617
Assert.IsNotNull(dkimSignatureDataFragment);

src/Nager.EmailAuthentication.UnitTest/DkimSignatureParserTests/HeaderTest.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
24
{
35
[TestClass]
46
public sealed class HeaderTest
@@ -8,7 +10,7 @@ public void TryParse_NoHeadersDefined_ReturnsTrueAndPopulatesDataFragment()
810
{
911
var dkimSignatureRaw = "v=1; a=rsa-sha256; d=domain.com; s=test; h=; bh=testbodyhash=; b=signaturedata";
1012

11-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignatureRaw, out var dkimSignatureDataFragment, out var parsingResults);
13+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignatureRaw, out var dkimSignatureDataFragment, out var parsingResults);
1214

1315
Assert.IsTrue(isSuccessful);
1416
Assert.IsNotNull(dkimSignatureDataFragment);
@@ -20,7 +22,7 @@ public void TryParse_OnlyOneHeaderIsDefined_ReturnsTrueAndPopulatesDataFragment(
2022
{
2123
var dkimSignatureRaw = "v=1; a=rsa-sha256; d=domain.com; s=test; h=test; bh=testbodyhash=; b=signaturedata";
2224

23-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignatureRaw, out var dkimSignatureDataFragment, out var parsingResults);
25+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignatureRaw, out var dkimSignatureDataFragment, out var parsingResults);
2426

2527
Assert.IsTrue(isSuccessful);
2628
Assert.IsNotNull(dkimSignatureDataFragment);

src/Nager.EmailAuthentication.UnitTest/DkimSignatureParserTests/SelectorTest.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
24
{
35
[TestClass]
46
public sealed class SelectorTest
@@ -11,7 +13,7 @@ public void TryParse_ValidSelector_ReturnsTrueAndPopulatesDataFragment(string se
1113
{
1214
var dkimSignature = $"v=1; a=rsa-sha256; d=domain.com; s={selector}; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
1315

14-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
16+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
1517

1618
Assert.IsTrue(isSuccessful);
1719
Assert.IsNotNull(dkimSignatureDataFragment);
@@ -28,7 +30,7 @@ public void TryParse_InvalidSelector_ReturnsTrueAndPopulatesDataFragment(string
2830
{
2931
var dkimSignature = $"v=1; a=rsa-sha256; d=domain.com; s={selector}; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
3032

31-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
33+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
3234

3335
Assert.IsTrue(isSuccessful);
3436
Assert.IsNotNull(dkimSignatureDataFragment);

src/Nager.EmailAuthentication.UnitTest/DkimSignatureParserTests/SignatureAlgorithmTest.cs

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
24
{
35
[TestClass]
46
public sealed class SignatureAlgorithmTest
@@ -10,7 +12,7 @@ public void TryParse_ValidSignatureAlgorithm_ReturnsTrueAndPopulatesDataFragment
1012
{
1113
var dkimSignature = $"v=1; a={signatureAlgorithm}; d=domain.com; s=test; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
1214

13-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
15+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
1416

1517
Assert.IsTrue(isSuccessful);
1618
Assert.IsNotNull(dkimSignatureDataFragment);
@@ -23,7 +25,7 @@ public void TryParse_UnsecureSignatureAlgorithm_ReturnsTrueAndPopulatesDataFragm
2325
{
2426
var dkimSignature = $"v=1; a={signatureAlgorithm}; d=domain.com; s=test; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
2527

26-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
28+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
2729

2830
Assert.IsTrue(isSuccessful);
2931
Assert.IsNotNull(dkimSignatureDataFragment);
@@ -36,7 +38,7 @@ public void TryParse_InvalidSignatureAlgorithm_ReturnsTrueAndPopulatesDataFragme
3638
{
3739
var dkimSignature = $"v=1; a={signatureAlgorithm}; d=domain.com; s=test; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
3840

39-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
41+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
4042

4143
Assert.IsTrue(isSuccessful);
4244
Assert.IsNotNull(dkimSignatureDataFragment);

src/Nager.EmailAuthentication.UnitTest/DkimSignatureParserTests/VersionTest.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DkimSignatureParserTests
24
{
35
[TestClass]
46
public sealed class VersionTest
@@ -9,7 +11,7 @@ public void TryParse_ValidVersion_ReturnsTrueAndPopulatesDataFragment(string ver
911
{
1012
var dkimSignature = $"v={version}; a=rsa-sha256; d=domain.com; s=myselector; h=from:to:reply-to:subject:date:cc:content-type; bh=testbodyhash=; b=signaturedata";
1113

12-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
14+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
1315

1416
Assert.IsTrue(isSuccessful);
1517
Assert.IsNotNull(dkimSignatureDataFragment);
@@ -25,7 +27,7 @@ public void TryParse_InvalidVersion_ReturnsTrueAndPopulatesDataFragment(string v
2527
{
2628
var dkimSignature = $"v={version}; a=rsa-sha256; d=domain.com; s=myselector; h=message-id:from; bh=testbodyhash=; b=signaturedata";
2729

28-
var isSuccessful = DkimSignatureDataFragmentParser.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
30+
var isSuccessful = DkimSignatureDataFragmentParserV1.TryParse(dkimSignature, out var dkimSignatureDataFragment, out var parsingResults);
2931

3032
Assert.IsTrue(isSuccessful);
3133
Assert.IsNotNull(dkimSignatureDataFragment);

src/Nager.EmailAuthentication.UnitTest/DmarcRecordParserTests/BasicTest.cs

+15-9
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,52 @@
1-
namespace Nager.EmailAuthentication.UnitTest.DmarcRecordParserTests
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
3+
namespace Nager.EmailAuthentication.UnitTest.DmarcRecordParserTests
24
{
35
[TestClass]
46
public sealed class BasicTest
57
{
68
[TestMethod]
79
public void TryParse_InvalidDmarcString1_ReturnsTrueAndPopulatesDmarcRecord()
810
{
9-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse("v=DMARC", out var dmarcDataFragment, out var parsingResults);
11+
var recordRaw = "v=DMARC";
12+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
1013

1114
Assert.IsTrue(isSuccessful);
12-
Assert.IsNotNull(dmarcDataFragment);
15+
Assert.IsNotNull(dataFragment);
1316
Assert.IsNotNull(parsingResults, "ParsingResults is null");
1417
}
1518

1619
[TestMethod]
1720
public void TryParse_InvalidDmarcString2_ReturnsTrueAndPopulatesDmarcRecord()
1821
{
19-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse("v=DMARC1", out var dmarcDataFragment, out var parsingResults);
22+
var recordRaw = "v=DMARC1";
23+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
2024

2125
Assert.IsTrue(isSuccessful);
22-
Assert.IsNotNull(dmarcDataFragment);
26+
Assert.IsNotNull(dataFragment);
2327
Assert.IsNull(parsingResults, "ParsingResults is not null");
2428
}
2529

2630
[TestMethod]
2731
public void TryParse_CorruptDmarcString1_ReturnsFalseAndParseErrors()
2832
{
29-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse("verification=123456789", out var dmarcDataFragment, out var parsingResults);
33+
var recordRaw = "verification=123456789";
34+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
3035

3136
Assert.IsFalse(isSuccessful);
32-
Assert.IsNull(dmarcDataFragment);
37+
Assert.IsNull(dataFragment);
3338
Assert.IsNotNull(parsingResults, "ParsingResults is null");
3439
Assert.IsTrue(parsingResults.Length == 1);
3540
}
3641

3742
[TestMethod]
3843
public void TryParse_CorruptDmarcString2_ReturnsFalse()
3944
{
40-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse(" ", out var dmarcDataFragment, out var parsingResults);
45+
var recordRaw = " ";
46+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
4147

4248
Assert.IsFalse(isSuccessful);
43-
Assert.IsNull(dmarcDataFragment);
49+
Assert.IsNull(dataFragment);
4450
Assert.IsNull(parsingResults, "ParsingResults is not null");
4551
}
4652
}

src/Nager.EmailAuthentication.UnitTest/DmarcRecordParserTests/ComplexTest.cs

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Nager.EmailAuthentication.Models;
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
using Nager.EmailAuthentication.Models;
23

34
namespace Nager.EmailAuthentication.UnitTest.DmarcRecordParserTests
45
{
@@ -10,7 +11,7 @@ public void TryParse_ValidDmarcString1_ReturnsTrueAndPopulatesDmarcRecord()
1011
{
1112
var recordRaw = "v=DMARC1; p=reject; rua=mailto:[email protected], mailto:[email protected]; pct=100; adkim=s; aspf=s";
1213

13-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
14+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
1415

1516
Assert.IsTrue(isSuccessful);
1617
Assert.IsNotNull(dataFragment);
@@ -34,7 +35,7 @@ public void TryParse_ValidDmarcString2_ReturnsTrueAndPopulatesDmarcRecord()
3435
{
3536
var recordRaw = "v=DMARC1; p=reject; rua=mailto:[email protected]!10m, mailto:[email protected]; pct=100; adkim=s; aspf=s";
3637

37-
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
38+
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
3839

3940
Assert.IsTrue(isDataFragmentParserSuccessful);
4041
Assert.IsNotNull(dataFragment);
@@ -69,7 +70,7 @@ public void TryParse_ValidDmarcString3_ReturnsTrueAndPopulatesDmarcRecord()
6970
{
7071
var recordRaw = "v=DMARC1; p=reject; rua=mailto:[email protected], mailto:[email protected]; pct=50; adkim=r; aspf=r";
7172

72-
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
73+
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
7374

7475
Assert.IsTrue(isDataFragmentParserSuccessful);
7576
Assert.IsNotNull(dataFragment);
@@ -105,7 +106,7 @@ public void TryParse_InvalidDmarcString1_ReturnsTrueAndPopulatesDmarcRecord()
105106
{
106107
var recordRaw = "v=DMARC1; p=reject; rua=mailto:[email protected], mailto:[email protected]; pct=50; adkim=t; aspf=t";
107108

108-
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
109+
var isDataFragmentParserSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
109110

110111
Assert.IsTrue(isDataFragmentParserSuccessful);
111112
Assert.IsNotNull(dataFragment);

src/Nager.EmailAuthentication.UnitTest/DmarcRecordParserTests/FailureReportingOptionsTest.cs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Nager.EmailAuthentication.Models;
1+
using Nager.EmailAuthentication.FragmentParsers;
2+
using Nager.EmailAuthentication.Models;
23

34
namespace Nager.EmailAuthentication.UnitTest.DmarcRecordParserTests
45
{
@@ -16,7 +17,7 @@ public void TryParse_ValidDmarcString1_ReturnsTrueAndPopulatesDmarcRecord(string
1617
{
1718
var recordRaw = $"v=DMARC1; p=reject; fo={failureReportingOptions}";
1819

19-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
20+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
2021

2122
Assert.IsTrue(isSuccessful);
2223
Assert.IsNotNull(dataFragment);
@@ -44,7 +45,7 @@ public void TryParse_InvalidDmarcString1_ReturnsTrueAndPopulatesDmarcRecordWithP
4445
{
4546
var recordRaw = $"v=DMARC1; p=reject; fo={failureReportingOptions}";
4647

47-
var isSuccessful = DmarcRecordDataFragmentParser.TryParse(recordRaw, out var dataFragment, out var parsingResults);
48+
var isSuccessful = DmarcRecordDataFragmentParserV1.TryParse(recordRaw, out var dataFragment, out var parsingResults);
4849

4950
Assert.IsTrue(isSuccessful);
5051
Assert.IsNotNull(dataFragment);

0 commit comments

Comments
 (0)