Files
git.stella-ops.org/src/Scanner/__Tests/StellaOps.Scanner.Reachability.Tests/SinkRegistryTests.cs
StellaOps Bot b058dbe031 up
2025-12-14 23:20:14 +02:00

28 lines
980 B
C#

using StellaOps.Scanner.Reachability;
using Xunit;
namespace StellaOps.Scanner.Reachability.Tests;
public sealed class SinkRegistryTests
{
[Theory]
[InlineData("dotnet", "System.Diagnostics.Process.Start", SinkCategory.CmdExec)]
[InlineData("dotnet", "SYSTEM.DIAGNOSTICS.PROCESS.START", SinkCategory.CmdExec)]
[InlineData("java", "java.io.ObjectInputStream.readObject", SinkCategory.UnsafeDeser)]
[InlineData("node", "child_process.exec", SinkCategory.CmdExec)]
[InlineData("python", "pickle.loads", SinkCategory.UnsafeDeser)]
public void MatchSink_ReturnsExpectedCategory(string language, string symbol, SinkCategory expectedCategory)
{
var sink = SinkRegistry.MatchSink(language, symbol);
Assert.NotNull(sink);
Assert.Equal(expectedCategory, sink!.Category);
}
[Fact]
public void MatchSink_ReturnsNull_WhenUnknownLanguage()
{
Assert.Null(SinkRegistry.MatchSink("unknown", "whatever"));
}
}