Fix tests using Heartbeat
This commit is contained in:
parent
7aa7b3e0a9
commit
8cd58b042c
|
|
@ -63,8 +63,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Tests usually pass in a null trace
|
_trace.TimerSlow(_interval, now);
|
||||||
_trace?.TimerSlow(_interval, now);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
|
||||||
|
|
||||||
var timerInterval = TimeSpan.FromSeconds(10);
|
var timerInterval = TimeSpan.FromSeconds(10);
|
||||||
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
||||||
|
var testKestrelTrace = new TestKestrelTrace();
|
||||||
|
|
||||||
using (new Heartbeat(new IHeartbeatHandler[] { dateHeaderValueManager }, systemClock, null, timerInterval))
|
using (new Heartbeat(new IHeartbeatHandler[] { dateHeaderValueManager }, systemClock, testKestrelTrace, timerInterval))
|
||||||
{
|
{
|
||||||
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
||||||
systemClock.UtcNow = future;
|
systemClock.UtcNow = future;
|
||||||
|
|
@ -69,13 +70,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
|
||||||
|
|
||||||
var timerInterval = TimeSpan.FromMilliseconds(100);
|
var timerInterval = TimeSpan.FromMilliseconds(100);
|
||||||
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
||||||
|
var testKestrelTrace = new TestKestrelTrace();
|
||||||
|
|
||||||
var heartbeatTcs = new TaskCompletionSource<object>();
|
var heartbeatTcs = new TaskCompletionSource<object>();
|
||||||
var mockHeartbeatHandler = new Mock<IHeartbeatHandler>();
|
var mockHeartbeatHandler = new Mock<IHeartbeatHandler>();
|
||||||
|
|
||||||
mockHeartbeatHandler.Setup(h => h.OnHeartbeat(future)).Callback(() => heartbeatTcs.TrySetResult(null));
|
mockHeartbeatHandler.Setup(h => h.OnHeartbeat(future)).Callback(() => heartbeatTcs.TrySetResult(null));
|
||||||
|
|
||||||
using (new Heartbeat(new[] { dateHeaderValueManager, mockHeartbeatHandler.Object }, systemClock, null, timerInterval))
|
using (new Heartbeat(new[] { dateHeaderValueManager, mockHeartbeatHandler.Object }, systemClock, testKestrelTrace, timerInterval))
|
||||||
{
|
{
|
||||||
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
||||||
|
|
||||||
|
|
@ -100,8 +102,9 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
|
||||||
|
|
||||||
var timerInterval = TimeSpan.FromSeconds(10);
|
var timerInterval = TimeSpan.FromSeconds(10);
|
||||||
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
var dateHeaderValueManager = new DateHeaderValueManager(systemClock);
|
||||||
|
var testKestrelTrace = new TestKestrelTrace();
|
||||||
|
|
||||||
using (new Heartbeat(new IHeartbeatHandler[] { dateHeaderValueManager }, systemClock, null, timerInterval))
|
using (new Heartbeat(new IHeartbeatHandler[] { dateHeaderValueManager }, systemClock, testKestrelTrace, timerInterval))
|
||||||
{
|
{
|
||||||
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
Assert.Equal(now.ToString(Rfc1123DateFormat), dateHeaderValueManager.GetDateHeaderValues().String);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
|
||||||
heartbeatHandler.Setup(h => h.OnHeartbeat(systemClock.UtcNow)).Callback(() => handlerMre.Wait());
|
heartbeatHandler.Setup(h => h.OnHeartbeat(systemClock.UtcNow)).Callback(() => handlerMre.Wait());
|
||||||
kestrelTrace.Setup(t => t.TimerSlow(heartbeatInterval, systemClock.UtcNow)).Callback(() => traceMre.Set());
|
kestrelTrace.Setup(t => t.TimerSlow(heartbeatInterval, systemClock.UtcNow)).Callback(() => traceMre.Set());
|
||||||
|
|
||||||
using (new Heartbeat(new[] {heartbeatHandler.Object}, systemClock, kestrelTrace.Object, heartbeatInterval))
|
using (new Heartbeat(new[] { heartbeatHandler.Object }, systemClock, kestrelTrace.Object, heartbeatInterval))
|
||||||
{
|
{
|
||||||
Assert.True(traceMre.Wait(TimeSpan.FromSeconds(10)));
|
Assert.True(traceMre.Wait(TimeSpan.FromSeconds(10)));
|
||||||
}
|
}
|
||||||
|
|
@ -42,13 +42,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
|
||||||
public void ExceptionFromHeartbeatHandlerIsLoggedAsError()
|
public void ExceptionFromHeartbeatHandlerIsLoggedAsError()
|
||||||
{
|
{
|
||||||
var systemClock = new MockSystemClock();
|
var systemClock = new MockSystemClock();
|
||||||
|
var heartbeatInterval = TimeSpan.FromMilliseconds(10);
|
||||||
var heartbeatHandler = new Mock<IHeartbeatHandler>();
|
var heartbeatHandler = new Mock<IHeartbeatHandler>();
|
||||||
var kestrelTrace = new TestKestrelTrace();
|
var kestrelTrace = new TestKestrelTrace();
|
||||||
var ex = new Exception();
|
var ex = new Exception();
|
||||||
|
|
||||||
heartbeatHandler.Setup(h => h.OnHeartbeat(systemClock.UtcNow)).Throws(ex);
|
heartbeatHandler.Setup(h => h.OnHeartbeat(systemClock.UtcNow)).Throws(ex);
|
||||||
|
|
||||||
using (new Heartbeat(new[] { heartbeatHandler.Object }, systemClock, kestrelTrace))
|
using (new Heartbeat(new[] { heartbeatHandler.Object }, systemClock, kestrelTrace, heartbeatInterval))
|
||||||
{
|
{
|
||||||
Assert.True(kestrelTrace.Logger.MessageLoggedTask.Wait(TimeSpan.FromSeconds(10)));
|
Assert.True(kestrelTrace.Logger.MessageLoggedTask.Wait(TimeSpan.FromSeconds(10)));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue