public async Task Should_set_messageintent_to_publish()
        {
            var router = new MulticastPublishRouterBehavior();
            var context = new TestableOutgoingPublishContext();

            await router.Invoke(context, ctx => TaskEx.CompletedTask);

            Assert.AreEqual(1, context.Headers.Count);
            Assert.AreEqual(MessageIntentEnum.Publish.ToString(), context.Headers[Headers.MessageIntent]);
        }
Exemple #2
0
        public async Task Should_set_messageintent_to_publish()
        {
            var router  = new MulticastPublishRouterBehavior();
            var context = new TestableOutgoingPublishContext();

            await router.Invoke(context, ctx => TaskEx.CompletedTask);

            Assert.AreEqual(1, context.Headers.Count);
            Assert.AreEqual(MessageIntentEnum.Publish.ToString(), context.Headers[Headers.MessageIntent]);
        }
Exemple #3
0
        public async Task Should_use_to_all_subscribers_strategy()
        {
            var behavior = new MulticastPublishRouterBehavior();

            var context = new TestableOutgoingPublishContext
            {
                Message = new OutgoingLogicalMessage(typeof(MyEvent), new MyEvent())
            };

            MulticastAddressTag addressTag = null;
            await behavior.Invoke(context, _ =>
            {
                addressTag = (MulticastAddressTag)_.RoutingStrategies.Single().Apply(new Dictionary <string, string>());
                return(TaskEx.CompletedTask);
            });

            Assert.AreEqual(typeof(MyEvent), addressTag.MessageType);
        }
        public async Task Should_use_to_all_subscribers_strategy()
        {
            var behavior = new MulticastPublishRouterBehavior();

            var context = new TestableOutgoingPublishContext
            {
                Message = new OutgoingLogicalMessage(typeof(MyEvent), new MyEvent())
            };

            MulticastAddressTag addressTag = null;
            await behavior.Invoke(context, _ =>
            {
                addressTag = (MulticastAddressTag)_.RoutingStrategies.Single().Apply(new Dictionary<string, string>());
                return TaskEx.CompletedTask;
            });

            Assert.AreEqual(typeof(MyEvent), addressTag.MessageType);
        }