public void things_are_received_at_the_right_times() { TestMessageRecorder.AllProcessed.Any().ShouldBeFalse(); theProcessor.Execute(new CancellationToken()); Thread.Sleep(2000); TestMessageRecorder.AllProcessed.Any().ShouldBeFalse(); theClock.LocalNow(theClock.LocalTime().Add(61.Minutes())); theProcessor.Execute(new CancellationToken()); Wait.Until(() => TestMessageRecorder.HasProcessed(message1)).ShouldBeTrue(); Wait.Until(() => TestMessageRecorder.HasProcessed(message2)).ShouldBeTrue(); TestMessageRecorder.HasProcessed(message3).ShouldBeFalse(); TestMessageRecorder.HasProcessed(message4).ShouldBeFalse(); theClock.LocalNow(theClock.LocalTime().Add(61.Minutes())); theProcessor.Execute(new CancellationToken()); Wait.Until(() => TestMessageRecorder.HasProcessed(message3)).ShouldBeTrue(); Wait.Until(() => TestMessageRecorder.HasProcessed(message4)).ShouldBeTrue(); // If it's more than this, we got problems TestMessageRecorder.AllProcessed.Count().ShouldEqual(4); }
public void SetUp() { // Need to do something about this. Little ridiculous FubuTransport.SetupForInMemoryTesting(); TestMessageRecorder.Clear(); MessageHistory.ClearAll(); InMemoryQueueManager.ClearAll(); runtime = FubuTransport.For <DelayedRegistry>().StructureMap(new Container()) .Bootstrap(); theServiceBus = runtime.Factory.Get <IServiceBus>(); theClock = runtime.Factory.Get <ISystemTime>().As <SettableClock>(); message1 = new OneMessage(); message2 = new OneMessage(); message3 = new OneMessage(); message4 = new OneMessage(); theServiceBus.DelaySend(message1, theClock.UtcNow().AddHours(1)); theServiceBus.DelaySend(message2, theClock.UtcNow().AddHours(1)); theServiceBus.DelaySend(message3, theClock.UtcNow().AddHours(2)); theServiceBus.DelaySend(message4, theClock.UtcNow().AddHours(2)); }
public void SetUp() { TestMessageRecorder.Clear(); FubuTransport.Reset(); // Need to do something about this. Little ridiculous var settings = new BusSettings { Downstream = "lq.tcp://localhost:2040/downstream".ToUri() }; var lightningUri = settings.Downstream.ToLightningUri(); var container = new Container(); container.Inject(settings); _runtime = FubuTransport.For <ErrorRegistry>().StructureMap(container) .Bootstrap(); //_runtime.Factory.Get<IPersistentQueues>().ClearAll(); theServiceBus = _runtime.Factory.Get <IServiceBus>(); _queueManager = _runtime.Factory.Get <IPersistentQueues>().ManagerFor(lightningUri.Port, true); message1 = new OneMessage(); theServiceBus.Send(message1); }
public void SetUp() { TestMessageRecorder.Clear(); // Need to do something about this. Little ridiculous var settings = new BusSettings { Downstream = "lq.tcp://localhost:2040/downstream".ToUri() }; var lightningUri = settings.Downstream.ToLightningUri(); _runtime = FubuRuntime.For <ErrorRegistry>(x => { x.Services.For <BusSettings>().Use(settings); }); _runtime.Get <IPersistentQueues>().ClearAll(); theServiceBus = _runtime.Get <IServiceBus>(); _queueManager = _runtime.Get <IPersistentQueues>().PersistentManagerFor(lightningUri.Port, true); message1 = new OneMessage(); theServiceBus.Send(message1); }
public void requeues_then_moves_to_error_queue() { Wait.Until(() => TestMessageRecorder.HasProcessed(message1)).ShouldBeTrue(); Wait.Until(() => TestMessageRecorder.AllProcessed.Length == 5).ShouldBeTrue(); var scope = _queueManager.BeginTransactionalScope(); var message = scope.Receive(LightningQueuesTransport.ErrorQueueName, 5.Seconds()); message.ShouldNotBeNull(); var report = ErrorReport.Deserialize(message.Data); message.Headers.Get("ExceptionType").ShouldEqual("System.InvalidOperationException"); report.RawData.ShouldNotBeNull(); }
public async Task requeues_then_moves_to_error_queue() { Wait.Until(() => TestMessageRecorder.HasProcessed(message1)).ShouldBeTrue(); //todo need timeout var messageContext = await _queueManager.Receive(LightningQueuesTransport.ErrorQueueName).FirstAsync(); var message = messageContext.Message; message.ShouldNotBeNull(); var report = ErrorReport.Deserialize(message.Data); message.Headers.Get("ExceptionType").ShouldBe("System.InvalidOperationException"); report.RawData.ShouldNotBeNull(); }
public void SetUp() { theTransportRegistry = FubuTransportRegistry.Empty(); theTransportRegistry.Handlers.DisableDefaultHandlerSource(); theTransportRegistry.EnableInMemoryTransport(); TestMessageRecorder.Clear(); _invoker = new Lazy <IChainInvoker>(() => { var container = new Container(); theRuntime = FubuTransport.For(theTransportRegistry).StructureMap(container).Bootstrap(); return(container.GetInstance <IChainInvoker>()); }); theCallback = MockRepository.GenerateMock <IMessageCallback>(); theContextIs(); }
public void SetUp() { theTransportRegistry = new FubuRegistry(); theTransportRegistry.ServiceBus.Enable(true); theTransportRegistry.Handlers.DisableDefaultHandlerSource(); theTransportRegistry.ServiceBus.EnableInMemoryTransport(); TestMessageRecorder.Clear(); _invoker = new Lazy <IChainInvoker>(() => { theRuntime = theTransportRegistry.ToRuntime(); return(theRuntime.Get <IChainInvoker>()); }); theCallback = MockRepository.GenerateMock <IMessageCallback>(); theContextIs(); }
public void send_now_is_handled_right_now() { using (var runtime = FubuRuntime.For <FubuRegistry>(x => { x.ServiceBus.Enable(true); x.ServiceBus.EnableInMemoryTransport(); x.Handlers.DisableDefaultHandlerSource(); x.Handlers.Include <SimpleHandler <OneMessage> >(); })) { var serviceBus = runtime.Get <IServiceBus>(); TestMessageRecorder.Clear(); var message = new OneMessage(); serviceBus.Consume(message); TestMessageRecorder.ProcessedFor <OneMessage>().Single().Message .ShouldBeTheSameAs(message); } }
public void send_now_is_handled_right_now() { using (var container = new Container()) { using (var runtime = FubuTransport.For(x => { x.EnableInMemoryTransport(); x.Handlers.DisableDefaultHandlerSource(); x.Handlers.Include <SimpleHandler <OneMessage> >(); }).StructureMap(container).Bootstrap()) { var serviceBus = container.GetInstance <IServiceBus>(); TestMessageRecorder.Clear(); var message = new OneMessage(); serviceBus.Consume(message); TestMessageRecorder.ProcessedFor <OneMessage>().Single().Message .ShouldBeTheSameAs(message); } } }
public override void SetUp() { TestMessageRecorder.Clear(); _nodes = new ServiceBusNodes(); Context.State.Store(_nodes); }
public void Handle(T message) { TestMessageRecorder.Processed(GetType().Name + TestMessageRecorder.AllProcessed.Count(), message); throw new InvalidOperationException("blah"); }