- Cleaned up whitespace in Directory.Build.props and Directory.Packages.props for consistency. - Reformatted project file references in PnvPanel.Api.csproj for better clarity. - Enhanced code readability in various endpoint files by adjusting line breaks and indentation. - Standardized method signatures and improved formatting in ResultExtensions and multiple endpoint classes for better maintainability.
47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using PnvPanel.Domain.Audit;
|
|
using Xunit;
|
|
|
|
namespace PnvPanel.Domain.Tests.Audit;
|
|
|
|
public class AuditLogTests
|
|
{
|
|
[Fact]
|
|
public void Create_SetsAllFieldsAndCreatedAt()
|
|
{
|
|
var actorId = Guid.NewGuid();
|
|
|
|
var log = AuditLog.Create(
|
|
actorId,
|
|
"user.blocked",
|
|
"AppUser",
|
|
actorId.ToString(),
|
|
"{\"reason\":\"abuse\"}",
|
|
AuditSource.Web
|
|
);
|
|
|
|
Assert.Equal(actorId, log.ActorId);
|
|
Assert.Equal("user.blocked", log.Action);
|
|
Assert.Equal("AppUser", log.TargetType);
|
|
Assert.Equal(actorId.ToString(), log.TargetId);
|
|
Assert.Equal("{\"reason\":\"abuse\"}", log.Metadata);
|
|
Assert.Equal(AuditSource.Web, log.Source);
|
|
Assert.True(log.CreatedAt <= DateTimeOffset.UtcNow);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_AllowsNullActorForSystemActions()
|
|
{
|
|
var log = AuditLog.Create(
|
|
null,
|
|
"node.healthcheck",
|
|
"Node",
|
|
Guid.NewGuid().ToString(),
|
|
null,
|
|
AuditSource.System
|
|
);
|
|
|
|
Assert.Null(log.ActorId);
|
|
Assert.Equal(AuditSource.System, log.Source);
|
|
}
|
|
}
|