public void RegisterHystrixComman_ThrowsIfConfigNull()
        {
            ContainerBuilder services  = new ContainerBuilder();
            IConfiguration   config    = new ConfigurationBuilder().Build();
            string           stringKey = "DummyCommand";

            var ex = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, groupKey, null));

            Assert.Contains(nameof(config), ex.Message);
            var ex2 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, groupKey, null));

            Assert.Contains(nameof(config), ex2.Message);
            var ex3 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, stringKey, null));

            Assert.Contains(nameof(config), ex3.Message);
            var ex4 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, stringKey, null));

            Assert.Contains(nameof(config), ex4.Message);
            var ex5 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, groupKey, commandKey, null));

            Assert.Contains(nameof(config), ex5.Message);
            var ex6 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, groupKey, commandKey, null));

            Assert.Contains(nameof(config), ex6.Message);
            var ex7 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, stringKey, stringKey, null));

            Assert.Contains(nameof(config), ex7.Message);
            var ex8 = Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, stringKey, stringKey, null));

            Assert.Contains(nameof(config), ex8.Message);
        }
Exemple #2
0
        public void RegisterHystrixConnection_Requires_Config()
        {
            // arrange
            ContainerBuilder cb = new ContainerBuilder();

            // act & assert
            Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixConnection(cb, null));
        }
Exemple #3
0
        public void RegisterHystrixConnection_Requires_Builder()
        {
            // arrange
            IConfiguration config = new ConfigurationBuilder().Build();

            // act & assert
            Assert.Throws <ArgumentNullException>(() => HystrixContainerBuilderExtensions.RegisterHystrixConnection(null, config));
        }
Exemple #4
0
        public void RegisterHystrixConnection_AddsToContainer()
        {
            // arrange
            ContainerBuilder container = new ContainerBuilder();
            IConfiguration   config    = new ConfigurationBuilder().Build();

            // act
            var regBuilder     = HystrixContainerBuilderExtensions.RegisterHystrixConnection(container, config);
            var services       = container.Build();
            var hystrixFactory = services.Resolve <HystrixConnectionFactory>();

            // assert
            Assert.NotNull(hystrixFactory);
            Assert.IsType <HystrixConnectionFactory>(hystrixFactory);
        }
        public void RegisterHystrixCommand_AddsToContainer()
        {
            ContainerBuilder services = new ContainerBuilder();
            IConfiguration   config   = new ConfigurationBuilder().Build();

            HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, groupKey, config);
            var provider = services.Build();
            var command  = provider.Resolve <DummyCommand>();

            Assert.NotNull(command);
            Assert.Equal(groupKey, command.CommandGroup);
            var expectedCommandKey = HystrixCommandKeyDefault.AsKey(typeof(DummyCommand).Name);

            Assert.Equal(expectedCommandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            config   = new ConfigurationBuilder().Build();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, groupKey, config);
            provider = services.Build();
            var icommand = provider.Resolve <IDummyCommand>();

            Assert.NotNull(icommand);
            command = icommand as DummyCommand;
            Assert.NotNull(command);
            Assert.Equal(groupKey, command.CommandGroup);
            Assert.Equal(expectedCommandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, "GroupKey", config);
            provider = services.Build();
            command  = provider.Resolve <DummyCommand>();
            Assert.NotNull(command);
            Assert.Equal("GroupKey", command.CommandGroup.Name);
            expectedCommandKey = HystrixCommandKeyDefault.AsKey(typeof(DummyCommand).Name);
            Assert.Equal(expectedCommandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            config   = new ConfigurationBuilder().Build();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, "GroupKey", config);
            provider = services.Build();
            icommand = provider.Resolve <IDummyCommand>();
            Assert.NotNull(icommand);
            command = icommand as DummyCommand;
            Assert.NotNull(command);
            Assert.Equal("GroupKey", command.CommandGroup.Name);
            Assert.Equal(expectedCommandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            config   = new ConfigurationBuilder().Build();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, groupKey, commandKey, config);
            provider = services.Build();
            command  = provider.Resolve <DummyCommand>();
            Assert.NotNull(command);
            Assert.Equal(groupKey, command.CommandGroup);
            Assert.Equal(commandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            config   = new ConfigurationBuilder().Build();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, groupKey, commandKey, config);
            provider = services.Build();
            icommand = provider.Resolve <IDummyCommand>();
            Assert.NotNull(icommand);
            command = icommand as DummyCommand;
            Assert.NotNull(command);
            Assert.Equal(groupKey, command.CommandGroup);
            Assert.Equal(commandKey, command.CommandKey);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <DummyCommand>(services, "GroupKey", "CommandKey", config);
            provider = services.Build();
            command  = provider.Resolve <DummyCommand>();
            Assert.NotNull(command);
            Assert.Equal("GroupKey", command.CommandGroup.Name);
            Assert.Equal("CommandKey", command.CommandKey.Name);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);

            services = new ContainerBuilder();
            config   = new ConfigurationBuilder().Build();
            HystrixContainerBuilderExtensions.RegisterHystrixCommand <IDummyCommand, DummyCommand>(services, "GroupKey", "CommandKey", config);
            provider = services.Build();
            icommand = provider.Resolve <IDummyCommand>();
            Assert.NotNull(icommand);
            command = icommand as DummyCommand;
            Assert.NotNull(command);
            Assert.Equal("GroupKey", command.CommandGroup.Name);
            Assert.Equal("CommandKey", command.CommandKey.Name);
            Assert.NotNull(command.Options);
            Assert.NotNull(command.Options._dynamic);
        }