diff --git a/src/Microsoft.AspNet.Server.Kestrel/Http/DateHeaderValueManager.cs b/src/Microsoft.AspNet.Server.Kestrel/Http/DateHeaderValueManager.cs index 216ce37f10..04dc75f464 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Http/DateHeaderValueManager.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Http/DateHeaderValueManager.cs @@ -51,7 +51,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http /// in accordance with http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18 /// /// The value. - public string GetDateHeaderValue() + public virtual string GetDateHeaderValue() { PumpTimer(); diff --git a/test/Microsoft.AspNet.Server.KestrelTests/FrameResponseHeadersTests.cs b/test/Microsoft.AspNet.Server.KestrelTests/FrameResponseHeadersTests.cs index e97d76d142..b084b9547d 100644 --- a/test/Microsoft.AspNet.Server.KestrelTests/FrameResponseHeadersTests.cs +++ b/test/Microsoft.AspNet.Server.KestrelTests/FrameResponseHeadersTests.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNet.Server.KestrelTests [Fact] public void InitialDictionaryContainsServerAndDate() { - var frame = new Frame(new ConnectionContext()); + var frame = new Frame(new ConnectionContext { DateHeaderValueManager = new DateHeaderValueManager() }); IDictionary headers = frame.ResponseHeaders; Assert.Equal(2, headers.Count); @@ -37,13 +37,15 @@ namespace Microsoft.AspNet.Server.KestrelTests [Fact] public void InitialEntriesCanBeCleared() { - IDictionary headers = new FrameResponseHeaders(); + var frame = new Frame(new ConnectionContext { DateHeaderValueManager = new DateHeaderValueManager() }); + + Assert.True(frame.ResponseHeaders.Count > 0); - headers.Clear(); + frame.ResponseHeaders.Clear(); - Assert.Equal(0, headers.Count); - Assert.False(headers.ContainsKey("Server")); - Assert.False(headers.ContainsKey("Date")); + Assert.Equal(0, frame.ResponseHeaders.Count); + Assert.False(frame.ResponseHeaders.ContainsKey("Server")); + Assert.False(frame.ResponseHeaders.ContainsKey("Date")); } } } diff --git a/test/Microsoft.AspNet.Server.KestrelTests/TestDateHeaderValueManager.cs b/test/Microsoft.AspNet.Server.KestrelTests/TestDateHeaderValueManager.cs new file mode 100644 index 0000000000..c69221b0ce --- /dev/null +++ b/test/Microsoft.AspNet.Server.KestrelTests/TestDateHeaderValueManager.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNet.Server.Kestrel.Http; + +namespace Microsoft.AspNet.Server.KestrelTests +{ + public class TestDateHeaderValueManager : DateHeaderValueManager + { + public override string GetDateHeaderValue() + { + return DateTimeOffset.UtcNow.ToString("r"); + } + } +} diff --git a/test/Microsoft.AspNet.Server.KestrelTests/TestServiceContext.cs b/test/Microsoft.AspNet.Server.KestrelTests/TestServiceContext.cs index 29b8cfb145..51fe80d8a9 100644 --- a/test/Microsoft.AspNet.Server.KestrelTests/TestServiceContext.cs +++ b/test/Microsoft.AspNet.Server.KestrelTests/TestServiceContext.cs @@ -8,6 +8,7 @@ namespace Microsoft.AspNet.Server.KestrelTests { AppShutdown = new ShutdownNotImplemented(); Log = new TestKestrelTrace(); + DateHeaderValueManager = new TestDateHeaderValueManager(); } } }