26 lines
881 B
C#
26 lines
881 B
C#
using ItWorx.KnowledgeHub.Domain.Infrastructure;
|
|
|
|
namespace ItWorx.KnowledgeHub.Domain.Tests;
|
|
|
|
public sealed class FileSystemPathBoundaryTests
|
|
{
|
|
[Fact]
|
|
public void Contains_accepts_the_root_and_descendants()
|
|
{
|
|
var root = Path.Combine(Path.GetTempPath(), "knowledge-imports");
|
|
|
|
Assert.True(FileSystemPathBoundary.Contains(root, root));
|
|
Assert.True(FileSystemPathBoundary.Contains(root, Path.Combine(root, "nested", "source")));
|
|
}
|
|
|
|
[Fact]
|
|
public void Contains_rejects_parent_and_prefix_sibling_paths()
|
|
{
|
|
var parent = Path.Combine(Path.GetTempPath(), $"knowledge-parent-{Guid.NewGuid():N}");
|
|
var root = Path.Combine(parent, "imports");
|
|
|
|
Assert.False(FileSystemPathBoundary.Contains(root, parent));
|
|
Assert.False(FileSystemPathBoundary.Contains(root, Path.Combine(parent, "imports-private")));
|
|
}
|
|
}
|