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();
}
}
}