Class ProtoGrpcClient

Namespace
ProtoTest.Grpc
Assembly
ProtoTest.Grpc.dll

A named gRPC client created during setup by ProtoGrpcClientInitializer. Every call is traced as a grpc.call operation with request/response sections and sanitized metadata, applies the test's [Auth] authenticators to the call metadata, and reports a grpc.response observation so coverage collectors can aggregate it.

public sealed class ProtoGrpcClient : IDisposable
Inheritance
ProtoGrpcClient
Implements
Inherited Members
Extension Methods

Methods

ClientStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, IEnumerable<TRequest>, Action<Metadata>?, DateTime?, CancellationToken)

Sends every request on a client-streaming method and waits for its response.

public Task<TResponse> ClientStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, IEnumerable<TRequest> requests, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
requests IEnumerable<TRequest>
metadata Action<Metadata>
deadline DateTime?
cancellationToken CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

DuplexStreaming<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?)

Opens a duplex-streaming call for callers that drive both directions themselves.

public AsyncDuplexStreamingCall<TRequest, TResponse> DuplexStreaming<TRequest, TResponse>(Method<TRequest, TResponse> method, Action<Metadata>? metadata = null, DateTime? deadline = null) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
metadata Action<Metadata>
deadline DateTime?

Returns

AsyncDuplexStreamingCall<TRequest, TResponse>

Type Parameters

TRequest
TResponse

Remarks

This synchronous entry point blocks the calling thread while authenticators and the channel are prepared. Prefer OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?, CancellationToken) on a synchronizing runner.

OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?, CancellationToken)

Opens a raw duplex-streaming call without blocking the caller.

public Task<AsyncDuplexStreamingCall<TRequest, TResponse>> OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
metadata Action<Metadata>
deadline DateTime?
cancellationToken CancellationToken

Returns

Task<AsyncDuplexStreamingCall<TRequest, TResponse>>

Type Parameters

TRequest
TResponse

OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)

Opens a raw server-streaming call without blocking the caller.

public Task<AsyncServerStreamingCall<TResponse>> OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
request TRequest
metadata Action<Metadata>
deadline DateTime?
cancellationToken CancellationToken

Returns

Task<AsyncServerStreamingCall<TResponse>>

Type Parameters

TRequest
TResponse

ServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)

Reads a server-streaming method to completion and returns the response messages.

public Task<IReadOnlyList<TResponse>> ServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
request TRequest
metadata Action<Metadata>
deadline DateTime?
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<TResponse>>

Type Parameters

TRequest
TResponse

ServerStreaming<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?)

Opens a server-streaming call for callers that want to consume messages as they arrive.

public AsyncServerStreamingCall<TResponse> ServerStreaming<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
request TRequest
metadata Action<Metadata>
deadline DateTime?

Returns

AsyncServerStreamingCall<TResponse>

Type Parameters

TRequest
TResponse

Remarks

This synchronous entry point blocks the calling thread while authenticators and the channel are prepared. Prefer OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken) on a synchronizing runner.

UnaryAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)

Calls a unary method and waits for its response.

public Task<TResponse> UnaryAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class

Parameters

method Method<TRequest, TResponse>
request TRequest
metadata Action<Metadata>
deadline DateTime?
cancellationToken CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse