public void CredentialsNotUsedWhenAlreadySet() { var serviceCollection = new ServiceCollection(); var dependencyCredential = GoogleCredential.FromJson(s_serviceAccountJson); serviceCollection.AddSingleton(dependencyCredential); #pragma warning disable CS0618 // Type or member is obsolete Action <FakeBuilder>[] actions = new Action <FakeBuilder>[] { builder => builder.ChannelCredentials = ChannelCredentials.Insecure, builder => builder.JsonCredentials = "{}", builder => builder.CredentialsPath = "abc", builder => builder.Credential = GoogleCredential.FromJson(s_serviceAccountJson), builder => builder.GoogleCredential = GoogleCredential.FromJson(s_serviceAccountJson), builder => builder.TokenAccessMethod = (_, __) => null, }; #pragma warning restore CS0618 // Type or member is obsolete foreach (var action in actions) { var builder = new FakeBuilder(); action(builder); builder.Configure(serviceCollection); // Note that in one test we'll set the GoogleCredential to a non-null value, but // it won't be the same object. Assert.NotSame(dependencyCredential, builder.GoogleCredential); } }
public void GrpcAdapter_NotSetBefore_SingleNonMatching() { var serviceCollection = new ServiceCollection(); serviceCollection.AddRestGrpcAdapter(); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.Null(builder.GrpcAdapter); }
public void GrpcAdapter_NotSetBefore_SingleMatching() { var serviceCollection = new ServiceCollection(); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.IsType <GrpcNetClientAdapter>(builder.GrpcAdapter); }
public void GrpcChannelOptions_NotSetBefore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(GrpcChannelOptions.Empty.WithMaxReceiveMessageSize(10)); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.Equal(10, builder.GrpcChannelOptions.MaxReceiveMessageSize); }
public void GrpcAdapter_NotSetBefore_MultipleFirstMatchUsed() { var serviceCollection = new ServiceCollection(); serviceCollection.AddRestGrpcAdapter(); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.IsType <GrpcNetClientAdapter>(builder.GrpcAdapter); }
public void GrpcAdapter_SetBefore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder { GrpcAdapter = RestGrpcAdapter.Default }; builder.Configure(serviceCollection); Assert.IsType <RestGrpcAdapter>(builder.GrpcAdapter); }
public void CallInvoker_NotSetBefore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <CallInvoker>(new FakeCallInvoker()); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.IsType <FakeCallInvoker>(builder.CallInvoker); // Because the CallInvoker was set, nothing else was fetched. Assert.Null(builder.GrpcAdapter); }
public void CredentialsPrecedence_GoogleCredential() { var credential = GoogleCredential.FromJson(s_serviceAccountJson); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(credential); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.Null(builder.ChannelCredentials); Assert.Null(builder.Credential); Assert.Same(credential, builder.GoogleCredential); }
public void Logger_NotSetBefore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <CallInvoker>(new FakeCallInvoker()); serviceCollection.AddLogging(builder => builder.AddProvider(new MemoryLoggerProvider())); var builder = new FakeBuilder(); builder.Configure(serviceCollection); // The logger factory and CallInvoker can be injected independently Assert.NotNull(builder.Logger); Assert.IsType <FakeCallInvoker>(builder.CallInvoker); }
public void CredentialsPrecedence_ChannelCredentials() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(ChannelCredentials.Insecure); serviceCollection.AddSingleton <ICredential>(GoogleCredential.FromJson(s_serviceAccountJson)); serviceCollection.AddSingleton(GoogleCredential.FromJson(s_serviceAccountJson)); var builder = new FakeBuilder(); builder.Configure(serviceCollection); Assert.Same(ChannelCredentials.Insecure, builder.ChannelCredentials); Assert.Null(builder.Credential); Assert.Null(builder.GoogleCredential); }
public void GrpcChannelOptions_SetBefore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(GrpcChannelOptions.Empty.WithMaxReceiveMessageSize(10)); var builder = new FakeBuilder { GrpcChannelOptions = GrpcChannelOptions.Empty.WithMaxSendMessageSize(20) }; builder.Configure(serviceCollection); // The manually-set option is present Assert.Equal(20, builder.GrpcChannelOptions.MaxSendMessageSize); // The injected option isn't present - we don't merge Assert.Null(builder.GrpcChannelOptions.MaxReceiveMessageSize); }
public void Logger_SetBefore() { var manual = new MemoryLogger <string>(); var injected = new MemoryLogger <string>(); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <ILogger <string> >(injected); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder { Logger = manual }; builder.Configure(serviceCollection); Assert.Same(manual, builder.Logger); }
public void CallInvoker_SetBefore() { var manual = new FakeCallInvoker(); var injected = new FakeCallInvoker(); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <CallInvoker>(injected); serviceCollection.AddGrpcNetClientAdapter(); var builder = new FakeBuilder { CallInvoker = manual }; builder.Configure(serviceCollection); Assert.Same(manual, builder.CallInvoker); // Because the CallInvoker was set, the gRPC adapter wasn't injected Assert.Null(builder.GrpcAdapter); }