Пример #1
0
            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);
                }
            }
Пример #2
0
            public void GrpcAdapter_NotSetBefore_SingleNonMatching()
            {
                var serviceCollection = new ServiceCollection();

                serviceCollection.AddRestGrpcAdapter();
                var builder = new FakeBuilder();

                builder.Configure(serviceCollection);
                Assert.Null(builder.GrpcAdapter);
            }
Пример #3
0
            public void GrpcAdapter_NotSetBefore_SingleMatching()
            {
                var serviceCollection = new ServiceCollection();

                serviceCollection.AddGrpcNetClientAdapter();
                var builder = new FakeBuilder();

                builder.Configure(serviceCollection);
                Assert.IsType <GrpcNetClientAdapter>(builder.GrpcAdapter);
            }
Пример #4
0
            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);
            }
Пример #5
0
            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);
            }
Пример #6
0
            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);
            }
Пример #7
0
            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);
            }
Пример #8
0
            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);
            }
Пример #9
0
            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);
            }
Пример #10
0
            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);
            }
Пример #11
0
            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);
            }
Пример #12
0
            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);
            }
Пример #13
0
            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);
            }