// Copyright (c) Microsoft Corporation. All rights reserved. // GrpcAgentServiceFixture.cs using Grpc.Core; using Microsoft.AutoGen.Protobuf; namespace Microsoft.AutoGen.Core.Grpc.Tests; /// /// This fixture is largely just a loopback as we are testing the client side logic of the GrpcAgentRuntime in isolation from the rest of the system. /// public sealed class GrpcAgentServiceFixture() : AgentRpc.AgentRpcBase { public override async Task OpenChannel(IAsyncStreamReader requestStream, IServerStreamWriter responseStream, ServerCallContext context) { try { var workerProcess = new TestGrpcWorkerConnection(requestStream, responseStream, context); await workerProcess.Connect().ConfigureAwait(true); } catch { if (context.CancellationToken.IsCancellationRequested) { return; } throw; } } public override async Task AddSubscription(AddSubscriptionRequest request, ServerCallContext context) => new AddSubscriptionResponse { }; public override async Task RemoveSubscription(RemoveSubscriptionRequest request, ServerCallContext context) => new RemoveSubscriptionResponse { }; public override async Task GetSubscriptions(GetSubscriptionsRequest request, ServerCallContext context) => new GetSubscriptionsResponse { }; public override async Task RegisterAgent(RegisterAgentTypeRequest request, ServerCallContext context) => new RegisterAgentTypeResponse { }; }