31 lines
790 B
C#
31 lines
790 B
C#
using System.Linq;
|
|
using StellaOps.Graph.Api.Services;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.Graph.Api.Tests;
|
|
|
|
public class AuditLoggerTests
|
|
{
|
|
[Fact]
|
|
public void LogsAndCapsSize()
|
|
{
|
|
var logger = new InMemoryAuditLogger();
|
|
for (var i = 0; i < 510; i++)
|
|
{
|
|
logger.Log(new AuditEvent(
|
|
Timestamp: DateTimeOffset.UnixEpoch.AddMinutes(i),
|
|
Tenant: "t",
|
|
Route: "/r",
|
|
Method: "POST",
|
|
Actor: "auth",
|
|
Scopes: new[] { "graph:query" },
|
|
StatusCode: 200,
|
|
DurationMs: 5));
|
|
}
|
|
|
|
var recent = logger.GetRecent();
|
|
Assert.True(recent.Count <= 100);
|
|
Assert.Equal(509, recent.First().Timestamp.Minute);
|
|
}
|
|
}
|