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); }
public void InstanceServer_FactorySetEventBus() { var pipelineId = Guid.NewGuid().ToString(); var factory = new EventBusFactory(); factory.Register(pipelineId, () => { var pipeline = new EventPipeline(); pipeline.AddHandler(new ConsoleOutputHandler()); return(pipeline); }); factory.Register(pipelineId, new EventBus(() => null, pipelineId)); var server = new ProcessingServer(factory); server.Register(pipelineId, new LogInputHandler()); var client = new EventDispatcher(server); client.Process(pipelineId, new LogMessage { Message = "InstanceServer" }); }
public void EventBusFactory_RegisterEventBus_UnequalPipelineId() { var bus = new EventBus(() => null, "one"); var factory = new EventBusFactory(); Assert.Throws <Exception>(() => factory.Register("two", bus)); }
public void ProcessingServer_Heartbeat_RegisterEventBus() { var storage = new Mock <IStorage>(); GlobalConfiguration.Setup(s => s.Register <IStorage>(storage.Object)); var factory = new EventBusFactory(); factory.Register("pipeline", () => new EventPipeline()); var server = new ProcessingServer(factory); server.Register("pipeline", new EventBus(() => null, "pipeline")); // give the hearbeat some time to execute Task.Delay(500).Wait(); storage.Verify(exp => exp.Set <ServerModel>(It.IsAny <StorageKey>(), It.IsAny <ServerModel>()), Times.Once); // cleanup GlobalConfiguration.Setup(s => { }); }