feat(mcp): add per-run TaskRunTokenRegistry

This commit is contained in:
mika kuns
2026-06-04 15:50:06 +02:00
parent da23b6cd3a
commit ef86a8c29b
2 changed files with 61 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
using ClaudeDo.Worker.Runner;
using Xunit;
namespace ClaudeDo.Worker.Tests.Runner;
public sealed class TaskRunTokenRegistryTests
{
[Fact]
public void Register_then_resolve_returns_taskId()
{
var reg = new TaskRunTokenRegistry();
reg.Register("tok", "task-1");
Assert.True(reg.TryResolve("tok", out var id));
Assert.Equal("task-1", id);
}
[Fact]
public void Unregister_removes_token()
{
var reg = new TaskRunTokenRegistry();
reg.Register("tok", "task-1");
reg.Unregister("tok");
Assert.False(reg.TryResolve("tok", out _));
}
[Fact]
public void GenerateToken_is_urlsafe_and_unique()
{
var a = TaskRunTokenRegistry.GenerateToken();
var b = TaskRunTokenRegistry.GenerateToken();
Assert.NotEqual(a, b);
Assert.DoesNotContain('+', a);
Assert.DoesNotContain('/', a);
Assert.DoesNotContain('=', a);
}
}