Skip to content

Commit e949c42

Browse files
committed
Optimize Dmarc Policy check
1 parent 8b6ba42 commit e949c42

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,15 @@ public void TryParse_InvalidDmarcStringInvalidValueAdkimAndAspf_ReturnFalse()
8787
Assert.IsNull(dmarcRecord);
8888
}
8989

90+
[DataRow(1)]
91+
[DataRow(2)]
92+
[DataRow(3)]
93+
[DataRow(10)]
94+
[DataRow(100)]
9095
[TestMethod]
91-
public void TryParse_InvalidDmarcStringInvalidPolicy_ReturnFalse()
96+
public void TryParse_InvalidDmarcStringInvalidPolicy_ReturnFalse(int value)
9297
{
93-
var recordRaw = "v=DMARC1; p=100;";
98+
var recordRaw = $"v=DMARC1; p={value};";
9499

95100
var isParserSuccessful = DmarcRecordParser.TryParse(recordRaw, out var dmarcRecord);
96101

‎src/Nager.EmailAuthentication/DmarcRecordParser.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ private static bool TryGetDmarcPolicy(
344344
string input,
345345
[NotNullWhen(true)] out DmarcPolicy? dmarcPolicy)
346346
{
347-
if (Enum.TryParse(input, true, out DmarcPolicy parsedPolicy) && Enum.IsDefined(parsedPolicy))
347+
if (!int.TryParse(input, out _) && Enum.TryParse(input, true, out DmarcPolicy parsedPolicy) && Enum.IsDefined(parsedPolicy))
348348
{
349349
dmarcPolicy = parsedPolicy;
350350
return true;

‎src/Nager.EmailAuthentication/Nager.EmailAuthentication.csproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
2222

23-
<Version>4.1.1</Version>
23+
<Version>4.1.2</Version>
2424
</PropertyGroup>
2525

2626
<ItemGroup>

0 commit comments

Comments
 (0)