Support player sessions in admin logs and add test

Fix EventRan log type id
Make slipping low impact
This commit is contained in:
DrSmugleaf
2021-11-22 23:15:22 +01:00
parent ce94c28e8a
commit 7b5878b846
6 changed files with 170 additions and 65 deletions

View File

@@ -1,11 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Content.Server.Administration.Logs;
using Content.Server.Database;
using Content.Shared.Administration.Logs;
using Content.Shared.CCVar;
using NUnit.Framework;
using Robust.Server.Player;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
@@ -194,4 +196,49 @@ public class AddTests : ContentIntegrationTest
return count >= amount;
});
}
[Test]
public async Task AddPlayerSessionLog()
{
var (client, server) = await StartConnectedServerClientPair(serverOptions: new ServerContentIntegrationOption
{
CVarOverrides =
{
[CCVars.AdminLogsQueueSendDelay.Name] = "0"
},
Pool = true
});
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
var sPlayers = server.ResolveDependency<IPlayerManager>();
var sSystems = server.ResolveDependency<IEntitySystemManager>();
var sAdminLogSystem = sSystems.GetEntitySystem<AdminLogSystem>();
Guid playerGuid = default;
await server.WaitPost(() =>
{;
var player = sPlayers.ServerSessions.First();
playerGuid = player.UserId;
Assert.DoesNotThrow(() =>
{
sAdminLogSystem.Add(LogType.Unknown, $"{player:Player} test log.");
});
});
await WaitUntil(server, async () =>
{
var logs = sAdminLogSystem.CurrentRoundLogs();
await foreach (var log in logs)
{
Assert.That(log.Players, Does.Contain(playerGuid));
return true;
}
return false;
});
}
}