elsa-core/test/unit/Elsa.Diagnostics.ConsoleLogs.UnitTests/Redaction/ConsoleLogRedactorTests.cs
Sipke Schoorstra 43108c2e48
Add diagnostics console logs (#7462)
* feat: add diagnostics console logs

* test: avoid secret-like redaction fixtures

* fix: address console logs review feedback

* fix: harden console log capture lifecycle

* fix: report console log drop summaries

* fix: address diagnostics review cleanups
2026-05-18 02:16:46 +02:00

48 lines
1.2 KiB
C#

using Elsa.Diagnostics.ConsoleLogs.Services;
namespace Elsa.Diagnostics.ConsoleLogs.UnitTests.Redaction;
public class ConsoleLogRedactorTests
{
private readonly ConsoleLogRedactor _redactor = new(Microsoft.Extensions.Options.Options.Create(new ConsoleLogsOptions()));
[Fact]
public void Redact_MasksSensitiveLineText()
{
var line = CreateLine(string.Concat("Authorization: ", "Bearer ", "sample-token"));
var redacted = _redactor.Redact(line);
Assert.Equal("Authorization: [Redacted]", redacted.Text);
}
[Fact]
public void Redact_MasksSensitiveSourceMetadata()
{
var line = CreateLine("hello") with
{
Source = CreateSource() with
{
Metadata = new Dictionary<string, string?> { ["apiKey"] = "secret-value" }
}
};
var redacted = _redactor.Redact(line);
Assert.Equal("[Redacted]", redacted.Source.Metadata["apiKey"]);
}
private static ConsoleLogLine CreateLine(string text) => new()
{
Text = text,
Source = CreateSource()
};
private static ConsoleLogSource CreateSource() => new()
{
Id = "source",
DisplayName = "source",
MachineName = "machine"
};
}