1
- namespace Nager . EmailAuthentication . UnitTest . DkimSignatureParserTests
1
+ using Nager . EmailAuthentication . Models ;
2
+
3
+ namespace Nager . EmailAuthentication . UnitTest . DkimSignatureParserTests
2
4
{
3
5
[ TestClass ]
4
6
public sealed class BasicTest
@@ -12,7 +14,33 @@ public void TryParse_ValidDkimSignature1_ReturnsTrueAndPopulatesDataFragment()
12
14
13
15
Assert . IsTrue ( isSuccessful ) ;
14
16
Assert . IsNotNull ( dkimSignatureDataFragment ) ;
15
- //Assert.IsNull(parsingResults, "ParsingResults is not null");
17
+ Assert . IsNotNull ( parsingResults , "ParsingResults is not null" ) ;
18
+ }
19
+
20
+ [ TestMethod ]
21
+ public void TryParse_ValidDkimSignature_ReturnsTrueAndDkimSignature ( )
22
+ {
23
+ var dkimSignatureRaw = "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=" ;
24
+
25
+ var isSuccessful = DkimSignatureParser . TryParse ( dkimSignatureRaw , out var dkimSignature , out var parsingResults ) ;
26
+
27
+ Assert . IsTrue ( isSuccessful ) ;
28
+
29
+ Assert . IsNotNull ( parsingResults ) ;
30
+ Assert . IsTrue ( parsingResults . Length > 0 ) ;
31
+
32
+ Assert . IsNotNull ( dkimSignature ) ;
33
+ Assert . AreEqual ( "1" , dkimSignature . Version ) ;
34
+ Assert . AreEqual ( SignatureAlgorithm . RsaSha256 , dkimSignature . SignatureAlgorithm ) ;
35
+ Assert . AreEqual ( "relaxed/simple" , dkimSignature . MessageCanonicalization ) ;
36
+ Assert . AreEqual ( "dns/txt" , dkimSignature . QueryMethods ) ;
37
+ Assert . AreEqual ( "domain.com" , dkimSignature . SigningDomainIdentifier ) ;
38
+ Assert . AreEqual ( "[email protected] " , dkimSignature . AgentOrUserIdentifier ) ;
39
+ Assert . AreEqual ( "mailjet" , dkimSignature . Selector ) ;
40
+ Assert . AreEqual ( new DateTimeOffset ( 2025 , 1 , 16 , 8 , 57 , 4 , TimeSpan . Zero ) , dkimSignature . SignatureExpiration ) ;
41
+ Assert . AreEqual ( 18 , dkimSignature . SignedHeaderFields . Length ) ;
42
+ Assert . AreEqual ( "TyN/x6t3AOfI298rgJAgZHgdWcq/XLISGen5nN3NLAc=" , dkimSignature . BodyHash ) ;
43
+ Assert . AreEqual ( "HLCLiikV92Ku/k9mGlZM0bmqPjKggGnMI0igqhXmPRzPJUC+5SUWRS6/FLUpxbX6AUGJRDYQnKKMtp6uZkYVuKG8SPZ01cUkvIiiAkczb4bK6IVvPbZOnsWqHkD6EvK3TrpIhgFfGLlcG+zIwgdDZ3O++uhpJkIX1WJlkXZYqxQ=" , dkimSignature . SignatureData ) ;
16
44
}
17
45
}
18
46
}
0 commit comments