// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using GFramework.Cqrs.Abstractions.Cqrs; namespace GFramework.Cqrs.Tests.Cqrs; /// /// 为 hidden implementation request invoker 回归提供“可见请求 + 隐藏实现类型”的测试替身容器。 /// internal static class HiddenImplementationRequestInvokerContainer { /// /// 用于验证 generated request invoker metadata 在隐藏实现类型场景下仍可被 dispatcher 消费的请求。 /// /// 用于断言 generated 返回值的请求负载。 internal sealed record VisibleRequest(string Value) : IRequest; /// /// 供 registrar 通过可见 handler interface 注册、但自身保持隐藏的 request handler 实现。 /// private sealed class HiddenHandler : IRequestHandler { /// /// 返回 runtime 路径专用结果,便于与 generated invoker 路径区分。 /// /// 当前测试请求。 /// 取消令牌。 /// runtime handler 生成的响应字符串。 public ValueTask Handle(VisibleRequest request, CancellationToken cancellationToken) { ArgumentNullException.ThrowIfNull(request); return ValueTask.FromResult($"runtime-hidden:{request.Value}"); } } /// /// 返回当前隐藏 request handler 实现类型,供 generated registry 以反射注册语义模拟 hidden implementation 场景。 /// internal static Type HiddenHandlerType => typeof(HiddenHandler); }