diff --git a/tests/Tgstation.Server.Tests/IntegrationTest.cs b/tests/Tgstation.Server.Tests/IntegrationTest.cs index f109070639..d5aca8d5a9 100644 --- a/tests/Tgstation.Server.Tests/IntegrationTest.cs +++ b/tests/Tgstation.Server.Tests/IntegrationTest.cs @@ -357,12 +357,11 @@ namespace Tgstation.Server.Tests var rootTest = FailFast(new RootTest().Run(clientFactory, adminClient, cancellationToken)); var adminTest = FailFast(new AdministrationTest(adminClient.Administration).Run(cancellationToken)); + var usersTest = FailFast(new UsersTest(adminClient).Run(cancellationToken)); instance = await new InstanceManagerTest(adminClient.Instances, adminClient.Users, server.Directory).RunPreInstanceTest(cancellationToken); Assert.IsTrue(Directory.Exists(instance.Path)); var instanceClient = adminClient.Instances.CreateClient(instance); - var usersTest = FailFast(new UsersTest(adminClient).Run(cancellationToken)); - Assert.IsTrue(Directory.Exists(instanceClient.Metadata.Path)); var instanceTests = FailFast(new InstanceTest(instanceClient, adminClient.Instances).RunTests(cancellationToken)); diff --git a/tests/Tgstation.Server.Tests/UsersTest.cs b/tests/Tgstation.Server.Tests/UsersTest.cs index 1922902dc8..6710aaebc3 100644 --- a/tests/Tgstation.Server.Tests/UsersTest.cs +++ b/tests/Tgstation.Server.Tests/UsersTest.cs @@ -7,7 +7,6 @@ using System.Threading.Tasks; using Tgstation.Server.Api.Models; using Tgstation.Server.Api.Rights; using Tgstation.Server.Client; -using Tgstation.Server.Client.Components; using Tgstation.Server.Host.System; namespace Tgstation.Server.Tests @@ -141,10 +140,29 @@ namespace Tgstation.Server.Tests await ApiAssert.ThrowsException(() => serverClient.Groups.Update(group, cancellationToken), ErrorCode.UserGroupControllerCantEditMembers); - var userUpdate = new UserUpdate + var testUserUpdate = new UserUpdate { - Id = user.Id, - PermissionSet = user.PermissionSet, + Name = "TestUserWithNoPassword", + Password = String.Empty + }; + + await ApiAssert.ThrowsException(() => serverClient.Users.Create(testUserUpdate, cancellationToken), ErrorCode.UserPasswordLength); + + testUserUpdate.OAuthConnections = new List + { + new OAuthConnection + { + ExternalUserId = "asdf", + Provider = OAuthProvider.GitHub + } + }; + + var testUser2 = await serverClient.Users.Create(testUserUpdate, cancellationToken); + + testUserUpdate = new UserUpdate + { + Id = testUser2.Id, + PermissionSet = testUser2.PermissionSet, Group = new Api.Models.Internal.UserGroup { Id = group.Id @@ -152,44 +170,22 @@ namespace Tgstation.Server.Tests }; await ApiAssert.ThrowsException( () => serverClient.Users.Update( - userUpdate, + testUserUpdate, cancellationToken), ErrorCode.UserGroupAndPermissionSet); - userUpdate.PermissionSet = null; + testUserUpdate.PermissionSet = null; - var allInstances = await serverClient.Instances.List(cancellationToken).ConfigureAwait(false); - var instancePermissionSet = new InstancePermissionSet - { - PermissionSetId = group.PermissionSet.Id.Value, - ByondRights = RightsHelper.AllRights(), - ChatBotRights = RightsHelper.AllRights(), - ConfigurationRights = RightsHelper.AllRights(), - DreamDaemonRights = RightsHelper.AllRights(), - DreamMakerRights = RightsHelper.AllRights(), - InstancePermissionSetRights = RightsHelper.AllRights(), - RepositoryRights = RightsHelper.AllRights(), - }; - await Task.WhenAll( - allInstances - .Where(x => x.Online.Value) - .Select( - instance => serverClient - .Instances - .CreateClient(instance) - .PermissionSets - .Create(instancePermissionSet, cancellationToken))); + testUser2 = await serverClient.Users.Update(testUserUpdate, cancellationToken); - user = await serverClient.Users.Update(userUpdate, cancellationToken); - - Assert.IsNull(user.PermissionSet); - Assert.IsNotNull(user.Group); - Assert.AreEqual(group.Id, user.Group.Id); + Assert.IsNull(testUser2.PermissionSet); + Assert.IsNotNull(testUser2.Group); + Assert.AreEqual(group.Id, testUser2.Group.Id); group = await serverClient.Groups.GetId(group, cancellationToken); Assert.IsNotNull(group.Users); Assert.AreEqual(1, group.Users.Count); - Assert.AreEqual(user.Id, group.Users.First().Id); + Assert.AreEqual(testUser2.Id, group.Users.First().Id); Assert.IsNotNull(group.PermissionSet); }