Exemple #1
0
        protected override void SetUp()
        {
            _activationCtx = new TActivationContext();

            DisposableHandler.Reset();
            SomeHandler.Reset();
            StaticHandler.Reset();
        }
Exemple #2
0
        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>();
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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");
            }
        }
Exemple #8
0
 static void ShowInfo(string msg, SomeHandler handler)
 {
     handler(msg);
 }
Exemple #9
0
 public When_Using_The_Bus_With_Flexible_Subscriptions()
 {
     _bus             = ConstructBusForHandle();
     _handler         = new SomeHandler();
     _handlerDisposer = _bus.Subscribe(_handler);
 }
 static void Test(SomeHandler h)
 {
 }
Exemple #11
0
 public SomeClass(SomeHandler <T> handler)
 {
     m_handler = handler;
 }
Exemple #12
0
 public SomeStringClass(SomeHandler <string> handler) : base(handler)
 {
 }