public void RemoveEntityShouldClearLossyMessages() { string entityId = "entity"; MessagingBus bus = new MessagingBus(MessagingBusType.SYSTEM, new DummyMessageHandler(), null); bus.Enqueue(new QueuedSceneMessage_Scene { payload = new Protocol.CreateEntity { entityId = entityId }, message = QueuedSceneMessage.Type.SCENE_MESSAGE.ToString(), tag = "entity_1" }, QueueMode.Lossy); bus.Enqueue(new QueuedSceneMessage_Scene { payload = new Protocol.RemoveEntity() { entityId = entityId }, type = QueuedSceneMessage.Type.SCENE_MESSAGE, method = MessagingTypes.ENTITY_DESTROY, message = QueuedSceneMessage.Type.SCENE_MESSAGE.ToString(), }); bus.Enqueue(new QueuedSceneMessage_Scene { payload = new Protocol.CreateEntity { entityId = entityId }, message = QueuedSceneMessage.Type.SCENE_MESSAGE.ToString(), tag = "entity_1" }, QueueMode.Lossy); Assert.AreEqual(0, bus.unreliableMessagesReplaced); Assert.AreEqual(3, bus.pendingMessagesCount); }
public void SetUp() { _commandQueueBus = new Mock <ICommandQueue>(); _resultAwaiter = new Mock <IResultAwaiter>(); _resultPublisher = new Mock <IResultPublisher>(); _bus = new MessagingBus(_commandQueueBus.Object, _resultPublisher.Object, _resultAwaiter.Object); }
public void LossyMessageIsReplaced() { string entityId = "entity"; MessagingBus bus = new MessagingBus(MessagingBusType.SYSTEM, new DummyMessageHandler(), null); bus.Enqueue(new QueuedSceneMessage_Scene { payload = new Protocol.CreateEntity { entityId = entityId }, message = QueuedSceneMessage.Type.SCENE_MESSAGE.ToString(), tag = "entity_1" }, QueueMode.Lossy); bus.Enqueue(new QueuedSceneMessage_Scene { payload = new Protocol.CreateEntity { entityId = entityId }, message = QueuedSceneMessage.Type.SCENE_MESSAGE.ToString(), tag = "entity_1" }, QueueMode.Lossy); Assert.AreEqual(1, bus.unreliableMessagesReplaced); Assert.AreEqual(1, bus.pendingMessagesCount); }
public void SetupTests() { if (bus == null) { bus = new MessagingBus("bus", dummyHandler, null); } if (nextQueueMessage == null) { SetupDataFile(); nextQueueMessage = queuedMessages.GetEnumerator(); } }
private static MessagingBus SetupBus(OrderView orderView) { IPersistanceStore persitenceStore = new MemoryPersistance(); IDomainEventQuery domainEventQuery = new InProcPersistedDomainEventQuery(persitenceStore); IDomainEventStore domainEventStore = new PyxisDomainEventStore( persitenceStore, domainEventQuery); IDomainResultStoreQuery storeQuery = new InProcDomainResultStoreQuery(persitenceStore); IDomainResultStore resultStore = new DomainResultPersistanceStore( persitenceStore, storeQuery); ITimeoutProvider timeoutProvider = new TimeoutProvider(1000); IResultPublisher resultPublisher = new ResultPublisher( resultStore, timeoutProvider); IResultAwaiter resultAwaiter = new ResultAwaiter( resultStore, timeoutProvider); IList <IHandleCommand> commandHanlders = new List <IHandleCommand>(); IList <IHandleEvent> eventHandlers = new List <IHandleEvent>(); IMessageDispatcher <ICommand> commandDispatcher = new CqrsMessagingHandler( resultPublisher, commandHanlders, eventHandlers); ICommandQueue commandQueue = new InProcCommandQueue(commandDispatcher); MessagingBus bus = new MessagingBus( commandQueue, resultPublisher, resultAwaiter); IDomainRepository domainRepository = new DomainRepository( domainEventStore, bus); ISession session = new Session(domainRepository); commandHanlders.Add(new OrderCommandHandler(session)); eventHandlers.Add(new OrderEventHandler(orderView)); return(bus); }