Files
mcp-ssh/tests/McpSsh.Tests/JsonLineAuditLoggerTests.cs
2026-05-24 20:45:12 +00:00

32 lines
966 B
C#

using System.Text.Json;
using McpSsh.Server.Audit;
namespace McpSsh.Tests;
public sealed class JsonLineAuditLoggerTests
{
[Fact]
public void Log_WritesJsonLineAndRedactsSensitiveMarkers()
{
using var writer = new StringWriter();
var logger = new JsonLineAuditLogger(writer);
logger.Log(new AuditEvent(
DateTimeOffset.Parse("2026-05-24T12:00:00Z"),
"ssh_exec",
"prod-api",
"deploy",
"echo token=abc123",
Success: true,
DurationMs: 42));
using var document = JsonDocument.Parse(writer.ToString());
var root = document.RootElement;
Assert.Equal("ssh_exec", root.GetProperty("tool").GetString());
Assert.Equal("prod-api", root.GetProperty("host").GetString());
Assert.Equal("echo token=***", root.GetProperty("command").GetString());
Assert.True(root.GetProperty("success").GetBoolean());
}
}