mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-30 16:39:21 +01:00
Weeding out JobsHubTest errors
This commit is contained in:
@@ -84,7 +84,7 @@ namespace Tgstation.Server.Tests.Live.Instance
|
||||
}
|
||||
}
|
||||
|
||||
public async Task Run(CancellationToken cancellationToken)
|
||||
public async Task<Task> Run(CancellationToken cancellationToken)
|
||||
{
|
||||
var neverReceiver = new ShouldNeverReceiveUpdates()
|
||||
{
|
||||
@@ -98,16 +98,32 @@ namespace Tgstation.Server.Tests.Live.Instance
|
||||
},
|
||||
};
|
||||
|
||||
await using (permedConn = (HubConnection)await permedUser.SubscribeToJobUpdates(
|
||||
permedConn = (HubConnection)await permedUser.SubscribeToJobUpdates(
|
||||
this,
|
||||
null,
|
||||
null,
|
||||
cancellationToken))
|
||||
await using (permlessConn = (HubConnection)await permlessUser.SubscribeToJobUpdates(
|
||||
neverReceiver,
|
||||
null,
|
||||
null,
|
||||
cancellationToken))
|
||||
cancellationToken);
|
||||
|
||||
try
|
||||
{
|
||||
permlessConn = (HubConnection)await permlessUser.SubscribeToJobUpdates(
|
||||
neverReceiver,
|
||||
null,
|
||||
null,
|
||||
cancellationToken);
|
||||
}
|
||||
catch
|
||||
{
|
||||
await permedConn.DisposeAsync();
|
||||
}
|
||||
|
||||
return FinishAsync(cancellationToken);
|
||||
}
|
||||
|
||||
async Task FinishAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
await using (permedConn)
|
||||
await using (permlessConn)
|
||||
{
|
||||
Console.WriteLine($"Initial conn1: {permedConn.ConnectionId}");
|
||||
Console.WriteLine($"Initial conn2: {permlessConn.ConnectionId}");
|
||||
@@ -193,10 +209,15 @@ namespace Tgstation.Server.Tests.Live.Instance
|
||||
}
|
||||
}
|
||||
|
||||
static string JobListFormatter(IEnumerable<JobResponse> jobs) => String.Join(Environment.NewLine, jobs.Select(x => $"- I:{x.InstanceId}|JID:{x.Id}|JC:{x.JobCode}|Desc:{x.Description}"));
|
||||
|
||||
// some instances may be detached, but our cache remains
|
||||
var accountedJobs = allJobs.Count - missableMissedJobs;
|
||||
var accountedSeenJobs = seenJobs.Where(x => allInstances.Any(i => i.Id.Value == x.Value.InstanceId)).ToList();
|
||||
Assert.AreEqual(accountedJobs, accountedSeenJobs.Count, $"Mismatch in seen jobs:{Environment.NewLine}{String.Join(Environment.NewLine, allJobs.Where(x => !seenJobs.Any(y => y.Key == x.Id.Value)).Select(x => $"- I:{x.InstanceId}|JID:{x.Id}|JC:{x.JobCode}|Desc:{x.Description}"))}");
|
||||
Assert.AreEqual(
|
||||
accountedJobs,
|
||||
accountedSeenJobs.Count,
|
||||
$"Mismatch in seen jobs:{Environment.NewLine}Not seen in seen:{Environment.NewLine}{JobListFormatter(allJobs.Where(x => !seenJobs.Any(y => y.Key == x.Id.Value)))}{Environment.NewLine}Seen not in all:{Environment.NewLine}{JobListFormatter(seenJobs.Values.Where(x => !allJobs.Any(y => y.Id.Value == x.Id.Value)))}");
|
||||
Assert.IsTrue(accountedJobs <= seenJobs.Count);
|
||||
Assert.AreNotEqual(0, permlessSeenJobs.Count);
|
||||
Assert.IsTrue(permlessSeenJobs.Count < seenJobs.Count);
|
||||
|
||||
@@ -1395,11 +1395,11 @@ namespace Tgstation.Server.Tests.Live
|
||||
InstanceResponse odInstance, compatInstance;
|
||||
if (!openDreamOnly)
|
||||
{
|
||||
jobsHubTestTask = FailFast(await jobsHubTest.Run(cancellationToken)); // returns Task<Task>
|
||||
var rootTest = FailFast(RawRequestTests.Run(clientFactory, firstAdminClient, cancellationToken));
|
||||
var adminTest = FailFast(new AdministrationTest(firstAdminClient.Administration).Run(cancellationToken));
|
||||
var usersTest = FailFast(new UsersTest(firstAdminClient).Run(cancellationToken));
|
||||
|
||||
jobsHubTestTask = FailFast(jobsHubTest.Run(cancellationToken));
|
||||
var instanceManagerTest = new InstanceManagerTest(firstAdminClient, server.Directory);
|
||||
var compatInstanceTask = instanceManagerTest.CreateTestInstance("CompatTestsInstance", cancellationToken);
|
||||
var odInstanceTask = instanceManagerTest.CreateTestInstance("OdTestsInstance", cancellationToken);
|
||||
|
||||
Reference in New Issue
Block a user