@@ -334,44 +334,38 @@ public void ContentIsNotModified_IfNoneMatch_MatchesAtLeastOneValue_True()
334334 [ Fact ]
335335 public void StartResponseAsync_IfAllowResponseCaptureIsTrue_SetsResponseTime ( )
336336 {
337- var clock = new TestClock
338- {
339- UtcNow = DateTimeOffset . UtcNow
340- } ;
337+ var timeProvider = new TestTimeProvider ( ) ;
341338 var middleware = TestUtils . CreateTestMiddleware ( options : new OutputCacheOptions
342339 {
343- SystemClock = clock
340+ TimeProvider = timeProvider
344341 } ) ;
345342 var context = TestUtils . CreateTestContext ( ) ;
346343 context . ResponseTime = null ;
347344
348345 middleware . StartResponse ( context ) ;
349346
350- Assert . Equal ( clock . UtcNow , context . ResponseTime ) ;
347+ Assert . Equal ( timeProvider . GetUtcNow ( ) , context . ResponseTime ) ;
351348 }
352349
353350 [ Fact ]
354351 public void StartResponseAsync_IfAllowResponseCaptureIsTrue_SetsResponseTimeOnlyOnce ( )
355352 {
356- var clock = new TestClock
357- {
358- UtcNow = DateTimeOffset . UtcNow
359- } ;
353+ var timeProvider = new TestTimeProvider ( ) ;
360354 var middleware = TestUtils . CreateTestMiddleware ( options : new OutputCacheOptions
361355 {
362- SystemClock = clock
356+ TimeProvider = timeProvider
363357 } ) ;
364358 var context = TestUtils . CreateTestContext ( ) ;
365- var initialTime = clock . UtcNow ;
359+ var initialTime = timeProvider . GetUtcNow ( ) ;
366360 context . ResponseTime = null ;
367361
368362 middleware . StartResponse ( context ) ;
369363 Assert . Equal ( initialTime , context . ResponseTime ) ;
370364
371- clock . UtcNow += TimeSpan . FromSeconds ( 10 ) ;
365+ timeProvider . Advance ( TimeSpan . FromSeconds ( 10 ) ) ;
372366
373367 middleware . StartResponse ( context ) ;
374- Assert . NotEqual ( clock . UtcNow , context . ResponseTime ) ;
368+ Assert . NotEqual ( timeProvider . GetUtcNow ( ) , context . ResponseTime ) ;
375369 Assert . Equal ( initialTime , context . ResponseTime ) ;
376370 }
377371
@@ -393,20 +387,17 @@ public void FinalizeCacheHeadersAsync_ResponseValidity_IgnoresExpiryIfAvailable(
393387 {
394388 // The Expires header should not be used when set in the response
395389
396- var clock = new TestClock
397- {
398- UtcNow = DateTimeOffset . MinValue
399- } ;
390+ var timeProvider = new TestTimeProvider ( DateTimeOffset . MinValue ) ;
400391 var options = new OutputCacheOptions
401392 {
402- SystemClock = clock
393+ TimeProvider = timeProvider
403394 } ;
404395 var sink = new TestSink ( ) ;
405396 var middleware = TestUtils . CreateTestMiddleware ( testSink : sink , options : options ) ;
406397 var context = TestUtils . CreateTestContext ( ) ;
407398
408- context . ResponseTime = clock . UtcNow ;
409- context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( clock . UtcNow + TimeSpan . FromSeconds ( 11 ) ) ;
399+ context . ResponseTime = timeProvider . GetUtcNow ( ) ;
400+ context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( timeProvider . GetUtcNow ( ) + TimeSpan . FromSeconds ( 11 ) ) ;
410401
411402 middleware . FinalizeCacheHeaders ( context ) ;
412403
@@ -419,25 +410,22 @@ public void FinalizeCacheHeadersAsync_ResponseValidity_UseMaxAgeIfAvailable()
419410 {
420411 // The MaxAge header should not be used if set in the response
421412
422- var clock = new TestClock
423- {
424- UtcNow = DateTimeOffset . UtcNow
425- } ;
413+ var timeProvider = new TestTimeProvider ( ) ;
426414 var sink = new TestSink ( ) ;
427415 var options = new OutputCacheOptions
428416 {
429- SystemClock = clock
417+ TimeProvider = timeProvider
430418 } ;
431419 var middleware = TestUtils . CreateTestMiddleware ( testSink : sink , options : options ) ;
432420 var context = TestUtils . CreateTestContext ( ) ;
433421
434- context . ResponseTime = clock . UtcNow ;
422+ context . ResponseTime = timeProvider . GetUtcNow ( ) ;
435423 context . HttpContext . Response . Headers . CacheControl = new CacheControlHeaderValue ( )
436424 {
437425 MaxAge = TimeSpan . FromSeconds ( 12 )
438426 } . ToString ( ) ;
439427
440- context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( clock . UtcNow + TimeSpan . FromSeconds ( 11 ) ) ;
428+ context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( timeProvider . GetUtcNow ( ) + TimeSpan . FromSeconds ( 11 ) ) ;
441429
442430 middleware . FinalizeCacheHeaders ( context ) ;
443431
@@ -448,25 +436,22 @@ public void FinalizeCacheHeadersAsync_ResponseValidity_UseMaxAgeIfAvailable()
448436 [ Fact ]
449437 public void FinalizeCacheHeadersAsync_ResponseValidity_UseSharedMaxAgeIfAvailable ( )
450438 {
451- var clock = new TestClock
452- {
453- UtcNow = DateTimeOffset . UtcNow
454- } ;
439+ var timeProvider = new TestTimeProvider ( ) ;
455440 var sink = new TestSink ( ) ;
456441 var options = new OutputCacheOptions
457442 {
458- SystemClock = clock
443+ TimeProvider = timeProvider
459444 } ;
460445 var middleware = TestUtils . CreateTestMiddleware ( testSink : sink , options : options ) ;
461446 var context = TestUtils . CreateTestContext ( ) ;
462447
463- context . ResponseTime = clock . UtcNow ;
448+ context . ResponseTime = timeProvider . GetUtcNow ( ) ;
464449 context . HttpContext . Response . Headers . CacheControl = new CacheControlHeaderValue ( )
465450 {
466451 MaxAge = TimeSpan . FromSeconds ( 12 ) ,
467452 SharedMaxAge = TimeSpan . FromSeconds ( 13 )
468453 } . ToString ( ) ;
469- context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( clock . UtcNow + TimeSpan . FromSeconds ( 11 ) ) ;
454+ context . HttpContext . Response . Headers . Expires = HeaderUtilities . FormatDate ( timeProvider . GetUtcNow ( ) + TimeSpan . FromSeconds ( 11 ) ) ;
470455
471456 middleware . FinalizeCacheHeaders ( context ) ;
472457
0 commit comments