Optional, opt-in (online_inbox.enabled, default false → zero network). Worker-side reconcile loop: pull web-created tasks down as Idle, push the list catalog and the Idle backlog mirror up. Auth behind IOnlineAuthProvider (StaticTokenAuthProvider default; ZitadelAuthProvider stubbed for Phase 2). DPAPI refresh-token store. 35 tests, no real network/Zitadel/Claude. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
788 B
C#
31 lines
788 B
C#
using ClaudeDo.Worker.Online;
|
|
|
|
namespace ClaudeDo.Worker.Tests.Online;
|
|
|
|
public sealed class StaticTokenAuthProviderTests
|
|
{
|
|
[Fact]
|
|
public async Task WithToken_Returns_Token()
|
|
{
|
|
var provider = new StaticTokenAuthProvider("my-token");
|
|
var result = await provider.GetAccessTokenAsync();
|
|
Assert.Equal("my-token", result);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task WithNull_Returns_Null()
|
|
{
|
|
var provider = new StaticTokenAuthProvider(null);
|
|
var result = await provider.GetAccessTokenAsync();
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task Default_Returns_Null()
|
|
{
|
|
var provider = new StaticTokenAuthProvider();
|
|
var result = await provider.GetAccessTokenAsync();
|
|
Assert.Null(result);
|
|
}
|
|
}
|