Merge pull request #1558 from tgstation/FixOversight

Test for an edge case I already handled
This commit is contained in:
Jordan Dominion
2023-06-19 22:27:46 -04:00
committed by GitHub
2 changed files with 24 additions and 1 deletions
@@ -95,6 +95,9 @@ namespace Tgstation.Server.Tests.Live.Instance
await InteropTestsForLongRunningDme(cancellationToken);
// for the restart staging tests
await DeployTestDme("LongRunning/long_running_test", DreamDaemonSecurity.Trusted, true, cancellationToken);
System.Console.WriteLine("TEST: END WATCHDOG TESTS");
}
@@ -998,7 +1001,8 @@ namespace Tgstation.Server.Tests.Live.Instance
DisconnectTimeout = TimeSpan.FromSeconds(30)
}, loggerFactory.CreateLogger("WatchdogTest.TopicClient"));
public async Task<DreamDaemonResponse> TellWorldToReboot(CancellationToken cancellationToken)
public Task<DreamDaemonResponse> TellWorldToReboot(CancellationToken cancellationToken) => TellWorldToReboot2(instanceClient, cancellationToken);
public static async Task<DreamDaemonResponse> TellWorldToReboot2(IInstanceClient instanceClient, CancellationToken cancellationToken)
{
var daemonStatus = await instanceClient.DreamDaemon.Read(cancellationToken);
Assert.IsNotNull(daemonStatus.StagedCompileJob);
@@ -864,6 +864,7 @@ namespace Tgstation.Server.Tests.Live
try
{
Api.Models.Instance instance;
long initialStaged, initialActive;
using (var adminClient = await CreateAdminClient(server.Url, cancellationToken))
{
if (server.DumpOpenApiSpecpath)
@@ -922,6 +923,13 @@ namespace Tgstation.Server.Tests.Live
await Task.WhenAll(rootTest, adminTest, instancesTest, instanceTests, usersTest);
var dd = await instanceClient.DreamDaemon.Read(cancellationToken);
Assert.AreEqual(WatchdogStatus.Online, dd.Status.Value);
Assert.IsNotNull(dd.StagedCompileJob);
Assert.AreNotEqual(dd.StagedCompileJob.Id, dd.ActiveCompileJob.Id);
initialActive = dd.ActiveCompileJob.Id.Value;
initialStaged = dd.StagedCompileJob.Id.Value;
await adminClient.Administration.Restart(cancellationToken);
}
@@ -998,6 +1006,10 @@ namespace Tgstation.Server.Tests.Live
var dd = await instanceClient.DreamDaemon.Read(cancellationToken);
Assert.AreEqual(WatchdogStatus.Online, dd.Status.Value);
Assert.IsNotNull(dd.StagedCompileJob);
Assert.AreNotEqual(dd.StagedCompileJob.Id, dd.ActiveCompileJob.Id);
Assert.AreEqual(initialStaged, dd.StagedCompileJob.Id);
Assert.AreEqual(initialActive, dd.ActiveCompileJob.Id);
var chatReadTask = instanceClient.ChatBots.List(null, cancellationToken);
@@ -1019,6 +1031,13 @@ namespace Tgstation.Server.Tests.Live
Assert.AreEqual(connectedChannelCount, channelsPresent);
await WatchdogTest.TellWorldToReboot2(instanceClient, cancellationToken);
dd = await instanceClient.DreamDaemon.Read(cancellationToken);
Assert.AreEqual(WatchdogStatus.Online, dd.Status.Value);
Assert.IsNull(dd.StagedCompileJob);
Assert.AreEqual(initialStaged, dd.ActiveCompileJob.Id);
await instanceClient.DreamDaemon.Shutdown(cancellationToken);
dd = await instanceClient.DreamDaemon.Update(new DreamDaemonRequest
{