diff --git a/tests/Tgstation.Server.Tests/IntegrationTest.cs b/tests/Tgstation.Server.Tests/IntegrationTest.cs index 8ff5a82d0f..91e87abaf3 100644 --- a/tests/Tgstation.Server.Tests/IntegrationTest.cs +++ b/tests/Tgstation.Server.Tests/IntegrationTest.cs @@ -82,7 +82,7 @@ namespace Tgstation.Server.Tests } [TestMethod] - public async Task TestUpdate() + public async Task TestServerUpdate() { var updatePathRoot = Path.GetTempFileName(); File.Delete(updatePathRoot); @@ -163,76 +163,73 @@ namespace Tgstation.Server.Tests } [TestMethod] - public async Task TestStandardOperation() + public async Task TestFullStandardOperation() { - while (true) + RequireDiscordToken(); + var server = new TestingServer(clientFactory, null); + using (var serverCts = new CancellationTokenSource()) { - RequireDiscordToken(); - var server = new TestingServer(clientFactory, null); - using (var serverCts = new CancellationTokenSource()) + var cancellationToken = serverCts.Token; + var serverTask = server.RunAsync(cancellationToken); + try { - var cancellationToken = serverCts.Token; - var serverTask = server.RunAsync(cancellationToken); - try + IServerClient adminClient; + + var giveUpAt = DateTimeOffset.Now.AddSeconds(60); + do { - IServerClient adminClient; - - var giveUpAt = DateTimeOffset.Now.AddSeconds(60); - do - { - try - { - adminClient = await clientFactory.CreateServerClient(server.Url, User.AdminName, User.DefaultAdminPassword).ConfigureAwait(false); - break; - } - catch (HttpRequestException) - { - //migrating, to be expected - if (DateTimeOffset.Now > giveUpAt) - throw; - await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); - } - catch (ServiceUnavailableException) - { - // migrating, to be expected - if (DateTimeOffset.Now > giveUpAt) - throw; - await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); - } - } while (true); - - using (adminClient) - { - var serverInfo = await adminClient.Version(default).ConfigureAwait(false); - - Assert.AreEqual(ApiHeaders.Version, serverInfo.ApiVersion); - Assert.AreEqual(typeof(IServer).Assembly.GetName().Version, serverInfo.Version); - - //check that modifying the token even slightly fucks up the auth - var newToken = new Token - { - ExpiresAt = adminClient.Token.ExpiresAt, - Bearer = adminClient.Token.Bearer + '0' - }; - - var badClient = clientFactory.CreateServerClient(server.Url, newToken); - await Assert.ThrowsExceptionAsync(() => badClient.Version(cancellationToken)).ConfigureAwait(false); - - await new AdministrationTest(adminClient.Administration).Run(cancellationToken).ConfigureAwait(false); - await new UsersTest(adminClient.Users).Run(cancellationToken).ConfigureAwait(false); - await new InstanceManagerTest(adminClient.Instances, server.Directory).Run(cancellationToken).ConfigureAwait(false); - } - } - finally - { - serverCts.Cancel(); try { - await serverTask.ConfigureAwait(false); + adminClient = await clientFactory.CreateServerClient(server.Url, User.AdminName, User.DefaultAdminPassword).ConfigureAwait(false); + break; } - catch (OperationCanceledException) { } + catch (HttpRequestException) + { + //migrating, to be expected + if (DateTimeOffset.Now > giveUpAt) + throw; + await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); + } + catch (ServiceUnavailableException) + { + // migrating, to be expected + if (DateTimeOffset.Now > giveUpAt) + throw; + await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); + } + } while (true); + + using (adminClient) + { + var serverInfo = await adminClient.Version(default).ConfigureAwait(false); + + Assert.AreEqual(ApiHeaders.Version, serverInfo.ApiVersion); + Assert.AreEqual(typeof(IServer).Assembly.GetName().Version, serverInfo.Version); + + //check that modifying the token even slightly fucks up the auth + var newToken = new Token + { + ExpiresAt = adminClient.Token.ExpiresAt, + Bearer = adminClient.Token.Bearer + '0' + }; + + var badClient = clientFactory.CreateServerClient(server.Url, newToken); + await Assert.ThrowsExceptionAsync(() => badClient.Version(cancellationToken)).ConfigureAwait(false); + + await new AdministrationTest(adminClient.Administration).Run(cancellationToken).ConfigureAwait(false); + await new UsersTest(adminClient.Users).Run(cancellationToken).ConfigureAwait(false); + await new InstanceManagerTest(adminClient.Instances, server.Directory).Run(cancellationToken).ConfigureAwait(false); } } + finally + { + serverCts.Cancel(); + try + { + await serverTask.ConfigureAwait(false); + } + catch (OperationCanceledException) { } + } } } }