// Copyright (c) Microsoft. All rights reserved. using System.Threading; using System.Threading.Tasks; using Azure.AI.AgentServer.Responses; using Azure.AI.AgentServer.Responses.Models; namespace Microsoft.Agents.AI.Foundry.Hosting.UnitTests; /// /// Test fake that returns a non-null by default, allowing tests /// that were written before the strict isolation-key contract to keep passing without each test /// having to stub ResponseContext.Isolation. The constructor also accepts /// values so individual tests can exercise the handler's null-key error path. /// internal sealed class FakeHostedSessionIsolationKeyProvider : HostedSessionIsolationKeyProvider { public const string DefaultUserId = "test-user-isolation"; public const string DefaultChatId = "test-chat-isolation"; private readonly HostedSessionContext? _context; public FakeHostedSessionIsolationKeyProvider(string? userId = DefaultUserId, string? chatId = DefaultChatId) { this._context = userId is null || chatId is null ? null : new HostedSessionContext(userId, chatId); } public override ValueTask GetKeysAsync( ResponseContext context, CreateResponse request, CancellationToken cancellationToken) => new(this._context); }