Add integration test for restoring lost instance user permissions

This commit is contained in:
Cyberboss
2018-09-28 15:57:59 -04:00
parent e09410b35a
commit 1f265d1505
@@ -93,6 +93,19 @@ namespace Tgstation.Server.Tests
var testSuite1 = new InstanceTest(instanceManagerClient.CreateClient(firstTest));
await testSuite1.RunTests(cancellationToken).ConfigureAwait(false);
//can regain permissions on instance without instance user
var instanceClient = instanceManagerClient.CreateClient(firstTest);
var ourInstanceUser = await instanceClient.Users.Read(cancellationToken).ConfigureAwait(false);
await instanceClient.Users.Delete(ourInstanceUser, cancellationToken).ConfigureAwait(false);
await Assert.ThrowsExceptionAsync<InsufficientPermissionsException>(() => instanceClient.Users.Read(cancellationToken)).ConfigureAwait(false);
await instanceManagerClient.Update(new Api.Models.Instance
{
Id = firstTest.Id
}, cancellationToken).ConfigureAwait(false);
ourInstanceUser = await instanceClient.Users.Read(cancellationToken).ConfigureAwait(false);
//can't detach online instance
await Assert.ThrowsExceptionAsync<ConflictException>(() => instanceManagerClient.Detach(firstTest, cancellationToken)).ConfigureAwait(false);