build-flow.api/tests/BuildFlow.Architecture.Tests/ConfigurationSecurityTests.cs
2026-07-23 18:15:40 +08:00

34 lines
1.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace BuildFlow.Architecture.Tests;
using Xunit;
/// <summary>
/// 配置加载与日志输出的安全边界测试。
/// </summary>
public class ConfigurationSecurityTests
{
[Fact]
public void ConsulProviderShouldNeverLogConfigurationValues()
{
var source = File.ReadAllText(Path.Combine(
FindRepoRoot().FullName,
"src", "BuildFlow.Host", "Configuration", "ConsulConfigurationProvider.cs"));
Assert.DoesNotContain("{Val}", source);
Assert.DoesNotContain("dict[k]", source);
Assert.DoesNotContain("示例 key:", source);
}
private static DirectoryInfo FindRepoRoot()
{
var current = new DirectoryInfo(AppContext.BaseDirectory);
while (current is not null)
{
if (File.Exists(Path.Combine(current.FullName, "BuildFlow.slnx"))) return current;
current = current.Parent;
}
throw new InvalidOperationException("无法定位 BuildFlow.slnx,无法验证配置日志安全边界。");
}
}