public void Handle_Creates_Entry_Where_None_Exists_For_A_Queue() { MessageEndpointName queueName = new MessageEndpointName(Guid.NewGuid().ToString()); long messageNumber = 1; using (var uow = new UnitOfWork(ConnectionString)) { var lastProcessedEntry = MessageNumberRepository.GetLastProcessedMessageNumber( uow, queueName); Assert.IsTrue(!lastProcessedEntry.HasValue); } using (var uow = new UnitOfWork(ConnectionString)) { var handler = new DeDupHandler <object>(uow); handler._next = _ => { }; handler.Handle(new{}, queueName, messageNumber); uow.Commit(); } using (var uow = new UnitOfWork(ConnectionString)) { Option <Tuple <long, MessageQueueProcessingDetailsRow> > lastProcessedEntry = MessageNumberRepository.GetLastProcessedMessageNumber(uow, queueName); Assert.IsTrue(lastProcessedEntry.HasValue); var lastMessageNumber = lastProcessedEntry.GetValue().Item1; lastMessageNumber.Should().Be(1); } }
public static List <MessageEndpoint> GetAll(UnitOfWork uow) { var channelBase = OrderChannel.GetBase(); var messageEndpointName = new MessageEndpointName("orderdomain/order stream #1"); var lastMessageProcessed = MessageNumberRepository.GetLastProcessedMessageNumber( uow, messageEndpointName); var lmp = lastMessageProcessed.Match(x => x.Item1, () => MessageEndpoint.NoMessagesProcessed); return(new List <MessageEndpoint>() { new MessageEndpoint( messageEndpointName, new HttpChannel( channelBase, "eventstream/orderdomain/order/0,9"), lmp, PollingDelays.DefaultDelayMs * 5, PollingDelays.DefaultPollingErrorDelays) }); }