protected override void SetUp() { _activationCtx = new TActivationContext(); DisposableHandler.Reset(); SomeHandler.Reset(); StaticHandler.Reset(); }
public void publishing_method_subscription_correct_returns_known_instance() { var h = new SomeHandler(); var sb = new MethodScanner("Route").MakeBuilder(); var subs = sb.BuildSubscriptions(h).OfType <IKnowsSubscribedInstance>().ToList(); subs.ShouldHaveCount(1); subs.All(s => s.Instance.Equals(h)).ShouldBeTrue("Not all known instances are the correct one"); }
public void Subscriptions_for_publishing_method_based_work_correctly() { var handler = new SomeHandler(); var subscription = _builder.BuildSubscriptions(handler).First(); subscription.Push(new MessageB()); subscription.Handles(typeof(MessageB)).ShouldBeTrue(); handler.MsgBCalls.ShouldBeEqualTo(1); _bus.VerifyMessageIsOfType <MessageC>(); }
public void Subscriptions_for_object_method_based_work_correctly() { var builder = new MethodScanner("Handle").MakeBuilder(); var handler = new SomeHandler(); var subs = builder.BuildSubscriptions(handler); var subscription = subs.First(); subscription.Handles(typeof(MessageA)).ShouldBeTrue(); subscription.Push(new MessageA()); handler.MsgACalls.ShouldBeEqualTo(1); }
public void Related_to_caching_resolver_failed_publish() { _bus.Publish(new MessageA()); _handler.MsgACalls.ShouldBeEqualTo(1); _handler.InvokeDisposeToken(); _handler = new SomeHandler(); _handler.MsgACalls.ShouldBeEqualTo(0); _bus.Subscribe(_handler); _bus.Publish(new MessageB()); _bus.Publish(new MessageA()); _handler.MsgACalls.ShouldBeEqualTo(1); }
public void CanDoPolymorphicMessageDispatch() { var manualResetEvent = new ManualResetEvent(false); var handler = new SomeHandler(manualResetEvent); activateHandlers.UseHandler(handler); receiveMessages.Deliver(new Message { Messages = new object[] { new PolymorphicMessage() } }); if (!manualResetEvent.WaitOne(TimeSpan.FromSeconds(4))) { Assert.Fail("Did not receive messages within timeout"); } handler.FirstMessageHandled.ShouldBe(true); handler.SecondMessageHandled.ShouldBe(true); }
public void CanInjectMessageContext() { // since the built-in container adapter does not support ctor injection, we can't test this if (typeof(TFactory) == typeof(BuiltinContainerAdapterFactory)) { return; } SomeHandler.Reset(); factory.Register <IHandleMessages <string>, SomeHandler>(); try { using (var bus = Configure.With(adapter) .Logging(l => l.ColoredConsole(LogLevel.Warn)) .Transport(t => t.UseMsmq("test.containeradapter.input", "error")) .CreateBus() .Start()) { bus.SendLocal("hello there!"); var timeout = 5.Seconds(); if (!SomeHandler.WaitieThingie.WaitOne(timeout)) { Assert.Fail("Did not receive message within {0} timeout", timeout); } SomeHandler.HadContext.ShouldBe(true); } } finally { MsmqUtil.Delete("test.containeradapter.input"); } }
static void ShowInfo(string msg, SomeHandler handler) { handler(msg); }
public When_Using_The_Bus_With_Flexible_Subscriptions() { _bus = ConstructBusForHandle(); _handler = new SomeHandler(); _handlerDisposer = _bus.Subscribe(_handler); }
static void Test(SomeHandler h) { }
public SomeClass(SomeHandler <T> handler) { m_handler = handler; }
public SomeStringClass(SomeHandler <string> handler) : base(handler) { }