@@ -13,6 +13,7 @@ public class ChallengeResultAssertions_Tests
1313 {
1414 public const string Reason = FailureMessageHelper . Reason ;
1515 public readonly static object [ ] ReasonArgs = FailureMessageHelper . ReasonArgs ;
16+ private readonly DateTimeOffset ? TestLastModified = DateTimeOffset . Parse ( "2020-04-28 15:48:33.6672395 +2" , CultureInfo . InvariantCulture ) ;
1617
1718 [ Fact ]
1819 public void WithAuthenticationProperties_GivenExpected_ShouldPass ( )
@@ -107,7 +108,7 @@ public void WithRedirectUri_GivenUnexpected_ShouldFail()
107108 [ Fact ]
108109 public void WithIssuedUtc_GivenExpected_ShouldPass ( )
109110 {
110- var actualIssuedUtc = DateTimeOffset . Now ;
111+ var actualIssuedUtc = TestLastModified ;
111112 var actualAuthenticationProperties = new AuthenticationProperties { IssuedUtc = actualIssuedUtc } ;
112113 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
113114
@@ -128,12 +129,12 @@ public void WithIssuedUtc_GivenNull_ShouldPass()
128129 [ Fact ]
129130 public void WithIssuedUtc_GivenUnexpected_ShouldFail ( )
130131 {
131- var actualIssuedUtc = DateTimeOffset . Now ;
132- var expectedIssuedUtc = DateTimeOffset . Now . AddSeconds ( 1 ) ;
132+ var actualIssuedUtc = TestLastModified ;
133+ var expectedIssuedUtc = TestLastModified . Value . AddSeconds ( 1 ) ;
133134 var actualAuthenticationProperties = new AuthenticationProperties { IssuedUtc = actualIssuedUtc } ;
134135 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
135- var convertedExpectedIssuedUtc = GetConvertedDateTimeOffset ( expectedIssuedUtc ) ;
136- var convertedActualIssuedUtc = GetConvertedDateTimeOffset ( actualIssuedUtc ) ;
136+ var convertedExpectedIssuedUtc = FailureMessageHelper . RoundToSeconds ( expectedIssuedUtc ) ;
137+ var convertedActualIssuedUtc = FailureMessageHelper . RoundToSeconds ( actualIssuedUtc ) ;
137138 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.IssuedUtc" , convertedExpectedIssuedUtc , convertedActualIssuedUtc ) ;
138139
139140 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithIssuedUtc ( expectedIssuedUtc , Reason , ReasonArgs ) ;
@@ -145,10 +146,10 @@ public void WithIssuedUtc_GivenUnexpected_ShouldFail()
145146 public void WithIssuedUtc_GivenNull_For_Actual_ShouldFail ( )
146147 {
147148 var actualIssuedUtc = null as DateTimeOffset ? ;
148- var expectedIssuedUtc = DateTimeOffset . Now ;
149+ var expectedIssuedUtc = TestLastModified ;
149150 var actualAuthenticationProperties = new AuthenticationProperties { IssuedUtc = actualIssuedUtc } ;
150151 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
151- var convertedExpectedIssuedUtc = GetConvertedDateTimeOffset ( expectedIssuedUtc ) ;
152+ var convertedExpectedIssuedUtc = FailureMessageHelper . RoundToSeconds ( expectedIssuedUtc ) ;
152153 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.IssuedUtc" , convertedExpectedIssuedUtc , null ) ;
153154
154155 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithIssuedUtc ( expectedIssuedUtc , Reason , ReasonArgs ) ;
@@ -159,11 +160,11 @@ public void WithIssuedUtc_GivenNull_For_Actual_ShouldFail()
159160 [ Fact ]
160161 public void WithIssuedUtc_GivenNull_For_Expected_ShouldFail ( )
161162 {
162- var actualIssuedUtc = DateTimeOffset . Now ;
163+ var actualIssuedUtc = TestLastModified ;
163164 var expectedIssuedUtc = null as DateTimeOffset ? ;
164165 var actualAuthenticationProperties = new AuthenticationProperties { IssuedUtc = actualIssuedUtc } ;
165166 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
166- var convertedActualIssuedUtc = GetConvertedDateTimeOffset ( actualIssuedUtc ) ;
167+ var convertedActualIssuedUtc = FailureMessageHelper . RoundToSeconds ( actualIssuedUtc ) ;
167168 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.IssuedUtc" , null , convertedActualIssuedUtc ) ;
168169
169170 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithIssuedUtc ( expectedIssuedUtc , Reason , ReasonArgs ) ;
@@ -174,7 +175,7 @@ public void WithIssuedUtc_GivenNull_For_Expected_ShouldFail()
174175 [ Fact ]
175176 public void WithExpiresUtc_GivenExpected_ShouldPass ( )
176177 {
177- var actualExpiresUtc = DateTimeOffset . Now ;
178+ var actualExpiresUtc = TestLastModified ;
178179 var actualAuthenticationProperties = new AuthenticationProperties { ExpiresUtc = actualExpiresUtc } ;
179180 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
180181
@@ -195,12 +196,12 @@ public void WithExpiresUtc_GivenNull_ShouldPass()
195196 [ Fact ]
196197 public void WithExpiresUtc_GivenUnexpected_ShouldFail ( )
197198 {
198- var actualExpiresUtc = DateTimeOffset . Now ;
199- var expectedExpiresUtc = DateTimeOffset . Now . AddSeconds ( 1 ) ;
199+ var actualExpiresUtc = TestLastModified ;
200+ var expectedExpiresUtc = TestLastModified . Value . AddSeconds ( 1 ) ;
200201 var actualAuthenticationProperties = new AuthenticationProperties { ExpiresUtc = actualExpiresUtc } ;
201202 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
202- var convertedExpectedExpiresUtc = GetConvertedDateTimeOffset ( expectedExpiresUtc ) ;
203- var convertedActualExpiresUtc = GetConvertedDateTimeOffset ( actualExpiresUtc ) ;
203+ var convertedExpectedExpiresUtc = FailureMessageHelper . RoundToSeconds ( expectedExpiresUtc ) ;
204+ var convertedActualExpiresUtc = FailureMessageHelper . RoundToSeconds ( actualExpiresUtc ) ;
204205 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.ExpiresUtc" , convertedExpectedExpiresUtc , convertedActualExpiresUtc ) ;
205206
206207 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithExpiresUtc ( expectedExpiresUtc , Reason , ReasonArgs ) ;
@@ -212,10 +213,10 @@ public void WithExpiresUtc_GivenUnexpected_ShouldFail()
212213 public void WithExpiresUtc_GivenNull_For_Actual_ShouldFail ( )
213214 {
214215 var actualExpiresUtc = null as DateTimeOffset ? ;
215- var expectedExpiresUtc = DateTimeOffset . Now ;
216+ var expectedExpiresUtc = TestLastModified ;
216217 var actualAuthenticationProperties = new AuthenticationProperties { ExpiresUtc = actualExpiresUtc } ;
217218 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
218- var convertedExpectedExpiresUtc = GetConvertedDateTimeOffset ( expectedExpiresUtc ) ;
219+ var convertedExpectedExpiresUtc = FailureMessageHelper . RoundToSeconds ( expectedExpiresUtc ) ;
219220 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.ExpiresUtc" , convertedExpectedExpiresUtc , null ) ;
220221
221222 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithExpiresUtc ( expectedExpiresUtc , Reason , ReasonArgs ) ;
@@ -226,11 +227,11 @@ public void WithExpiresUtc_GivenNull_For_Actual_ShouldFail()
226227 [ Fact ]
227228 public void WithExpiresUtc_GivenNull_For_Expected_ShouldFail ( )
228229 {
229- var actualExpiresUtc = DateTimeOffset . Now ;
230+ var actualExpiresUtc = TestLastModified ;
230231 var expectedExpiresUtc = null as DateTimeOffset ? ;
231232 var actualAuthenticationProperties = new AuthenticationProperties { ExpiresUtc = actualExpiresUtc } ;
232233 ActionResult result = new ChallengeResult ( actualAuthenticationProperties ) ;
233- var convertedActualExpiresUtc = GetConvertedDateTimeOffset ( actualExpiresUtc ) ;
234+ var convertedActualExpiresUtc = FailureMessageHelper . RoundToSeconds ( actualExpiresUtc ) ;
234235 var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "ChallengeResult.AuthenticationProperties.ExpiresUtc" , null , convertedActualExpiresUtc ) ;
235236
236237 Action a = ( ) => result . Should ( ) . BeChallengeResult ( ) . WithExpiresUtc ( expectedExpiresUtc , Reason , ReasonArgs ) ;
@@ -337,15 +338,5 @@ public void ContainsScheme_GivenUnexpected_ShouldFail()
337338
338339 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
339340 }
340-
341- // DateTimeOffset is stored as string and converted back in ASP.NET Core Framework
342- private DateTimeOffset ? GetConvertedDateTimeOffset ( DateTimeOffset value )
343- {
344- var expectedIssuedUtcAsString = value . ToString ( "r" , CultureInfo . InvariantCulture ) ;
345-
346- return DateTimeOffset . TryParseExact ( expectedIssuedUtcAsString , "r" , CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
347- ? new DateTimeOffset ? ( result )
348- : new DateTimeOffset ? ( ) ;
349- }
350341 }
351342}
0 commit comments