Class ProtoGrpcClientInitializer

Namespace
ProtoTest.Grpc.Clients
Assembly
ProtoTest.Grpc.dll

Initializes a named gRPC client from an explicit address, or from the application it belongs to: the application's Grpc:Address, its base address, or its in-process transport. The channel is created when the client is first used, so an application whose test server starts later still works.

public sealed class ProtoGrpcClientInitializer : IProtoClientInitializer<ProtoGrpcClient>, IProtoClientInitializer
Inheritance
ProtoGrpcClientInitializer
Implements
Inherited Members
Extension Methods

Constructors

ProtoGrpcClientInitializer(string, string, GrpcClientOptions, string?, bool, string?, Func<ProtoExecutionContext, CancellationToken, ValueTask<Uri>>?)

Initializes a named gRPC client from an explicit address, or from the application it belongs to: the application's Grpc:Address, its base address, or its in-process transport. The channel is created when the client is first used, so an application whose test server starts later still works.

public ProtoGrpcClientInitializer(string protocolName, string name, GrpcClientOptions options, string? explicitAddress = null, bool allowMissingAddress = false, string? application = null, Func<ProtoExecutionContext, CancellationToken, ValueTask<Uri>>? addressResolver = null)

Parameters

protocolName string
name string
options GrpcClientOptions
explicitAddress string
allowMissingAddress bool
application string
addressResolver Func<ProtoExecutionContext, CancellationToken, ValueTask<Uri>>

Properties

Name

Gets the registration name for this client (e.g., "Default", "OrderService"). Initializers with the same Protocol, client type and name form an ordered provider chain.

public string Name { get; }

Property Value

string

Protocol

Gets the protocol this initializer serves (for example "Rest"), or null for a host-level client. Protocols keep their own provider chains, and a provider registers its client under Protocol:Name (see ScopedName(string?, string)), so two protocols can own the same client name without shadowing each other.

public string Protocol { get; }

Property Value

string

Methods

TryInitializeAsync(ProtoExecutionContext)

Attempts to build and register the client into the specified test execution context. Returns false without changing the context when this initializer cannot provide the client for the current configuration.

The test lifecycle carries the caller's cancellation token, or the runner's own where its adapter has one; an initializer reads it from CancellationToken and passes it to its own I/O. MSTest's extension point exposes no token, so that adapter starts with None; a run-scoped hook is the cancellable extension point.

public Task<bool> TryInitializeAsync(ProtoExecutionContext context)

Parameters

context ProtoExecutionContext

Returns

Task<bool>