コード例 #1
0
        public async Task Should_set_messageintent_to_publish()
        {
            var router  = new MulticastPublishConnector();
            var context = new TestableOutgoingPublishContext();

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

            Assert.AreEqual(1, context.Headers.Count);
            Assert.AreEqual(MessageIntentEnum.Publish.ToString(), context.Headers[Headers.MessageIntent]);
        }
コード例 #2
0
        public async Task Should_use_to_all_subscribers_strategy()
        {
            var behavior = new MulticastPublishConnector();

            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(Task.CompletedTask);
            });

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