Пример #1
0
        public void EventBusFactory_UpdatePipeline()
        {
            var factory = new EventBusFactory();

            factory.Register("test", () =>
            {
                var pipeline = new EventPipeline();
                pipeline.AddHandler(new ConsoleOutputHandler());

                return(pipeline);
            });

            var first  = factory.GetEventBus("test");
            var second = factory.GetEventBus("test");

            Assert.AreSame(first, second);

            factory.Register("test", () =>
            {
                var pipeline = new EventPipeline();
                pipeline.AddHandler(new ConsoleOutputHandler());

                return(pipeline);
            });

            var third = factory.GetEventBus("test");

            Assert.AreNotSame(first, third);
        }
Пример #2
0
        public void ProcessingServer_PipelineOptions()
        {
            var factory = new EventBusFactory();
            var server  = new ProcessingServer(factory);


            var config = new PipelineConfiguration
            {
                Id           = "test",
                InputHandler = new HandlerNode
                {
                    Type = typeof(LogInputHandler)
                },
                OutputHandlers = new List <HandlerNode>
                {
                    new HandlerNode
                    {
                        Type = typeof(ConsoleOutputHandler)
                    }
                },
                Options = new PipelineOptions
                {
                    MinProcessors   = 1,
                    MaxItemsInQueue = 100,
                    MaxProcessors   = 1
                }
            };


            server.SetupPipeline("test", config);

            var bus = factory.GetEventBus("test");

            Assert.AreSame(bus.PipelineFactory.Options, config.Options);
        }
Пример #3
0
        public void ProcessingServer_UpdatePipeline()
        {
            var factory = new EventBusFactory();
            var server  = new ProcessingServer(factory);


            var config = new PipelineConfiguration
            {
                Id           = "test",
                InputHandler = new HandlerNode
                {
                    Type = typeof(LogInputHandler)
                },
                OutputHandlers = new List <HandlerNode>
                {
                    new HandlerNode
                    {
                        Type = typeof(ConsoleOutputHandler)
                    }
                }
            };


            server.SetupPipeline("test", config);

            var first  = factory.GetEventBus("test");
            var second = factory.GetEventBus("test");

            Assert.AreSame(first, second);

            // update
            server.SetupPipeline("test", config);

            var third = factory.GetEventBus("test");

            Assert.AreNotSame(first, third);
        }