Files
tgstation-server/tests/Tgstation.Server.Host.Console.Tests/TestProgram.cs
2023-10-07 17:41:19 -04:00

30 lines
934 B
C#

using Microsoft.Extensions.Logging;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using System;
using System.Threading;
using System.Threading.Tasks;
using Tgstation.Server.Host.Watchdog;
namespace Tgstation.Server.Host.Console.Tests
{
[TestClass]
public class TestProgram
{
[TestMethod]
public async Task TestProgramRuns()
{
var mockServer = new Mock<IWatchdog>();
var args = Array.Empty<string>();
mockServer.Setup(x => x.RunAsync(false, args, It.IsAny<CancellationToken>())).Returns(ValueTask.FromResult(true)).Verifiable();
var mockServerFactory = new Mock<IWatchdogFactory>();
mockServerFactory.Setup(x => x.CreateWatchdog(It.IsNotNull<ISignalChecker>(), It.IsNotNull<ILoggerFactory>())).Returns(mockServer.Object).Verifiable();
Program.WatchdogFactory = mockServerFactory.Object;
await Program.Main(args);
mockServer.VerifyAll();
mockServerFactory.VerifyAll();
}
}
}