Fix failing service test

This commit is contained in:
Jordan Dominion
2023-07-25 07:44:37 -04:00
parent 5fd5e83bd5
commit fdbb87805c
@@ -34,19 +34,40 @@ namespace Tgstation.Server.Host.Service.Tests
var mockWatchdog = new Mock<IWatchdog>();
var args = Array.Empty<string>();
CancellationToken cancellationToken;
mockWatchdog.Setup(x => x.RunAsync(false, It.IsNotNull<string[]>(), It.IsAny<CancellationToken>())).Callback((bool x, string[] _, CancellationToken token) => cancellationToken = token).Returns(Task.FromResult(true)).Verifiable();
CancellationToken cancellationToken = default;
Task signalCheckerTask = null;
var childStarted = false;
ISignalChecker signalChecker = null;
mockWatchdog.Setup(x => x.RunAsync(false, It.IsNotNull<string[]>(), It.IsAny<CancellationToken>())).Callback((bool x, string[] _, CancellationToken token) =>
{
cancellationToken = token;
signalCheckerTask = signalChecker.CheckSignals(additionalArgs =>
{
childStarted = true;
return (123, Task.CompletedTask);
}, cancellationToken);
}).Returns(Task.FromResult(true)).Verifiable();
var mockWatchdogFactory = new Mock<IWatchdogFactory>();
mockWatchdogFactory.Setup(x => x.CreateWatchdog(It.IsNotNull<ISignalChecker>(), It.IsNotNull<ILoggerFactory>())).Returns(mockWatchdog.Object).Verifiable();
mockWatchdogFactory.Setup(x => x.CreateWatchdog(It.IsNotNull<ISignalChecker>(), It.IsNotNull<ILoggerFactory>()))
.Callback<ISignalChecker, ILoggerFactory>((s, loggerFactory) =>
{
signalChecker = s;
})
.Returns(mockWatchdog.Object)
.Verifiable();
using (var service = new ServerService(mockWatchdogFactory.Object, Array.Empty<string>(), default))
{
onStart.Invoke(service, new object[] { args });
Assert.IsTrue(childStarted);
onStop.Invoke(service, Array.Empty<object>());
mockWatchdog.VerifyAll();
}
mockWatchdogFactory.VerifyAll();
Assert.IsTrue(signalCheckerTask.IsCompleted);
}
}
}