Esempio n. 1
0
        static UnicastSendRouterConnector InitializeBehavior(
            string sharedQueue           = null,
            string instanceSpecificQueue = null,
            FakeSendRouter router        = null)
        {
            var metadataRegistry = new MessageMetadataRegistry(new Conventions());

            metadataRegistry.RegisterMessageTypesFoundIn(new List <Type> {
                typeof(MyMessage), typeof(MessageWithoutRouting)
            });

            return(new UnicastSendRouterConnector(sharedQueue, instanceSpecificQueue, router ?? new FakeSendRouter(), new DistributionPolicy(), e => e.ToString()));
        }
Esempio n. 2
0
        public void Should_throw_if_no_route_can_be_found()
        {
            var router = new FakeSendRouter
            {
                FixedDestination = null
            };

            var behavior = InitializeBehavior(router: router);
            var options  = new SendOptions();

            var context = CreateContext(options, new MessageWithoutRouting());

            Assert.That(async() => await behavior.Invoke(context, _ => TaskEx.CompletedTask), Throws.InstanceOf <Exception>().And.Message.Contains("No destination specified"));
        }
Esempio n. 3
0
        public async Task Should_route_using_the_mappings_if_no_destination_is_set()
        {
            var router = new FakeSendRouter
            {
                FixedDestination = new UnicastRoutingStrategy("MappedDestination")
            };
            var behavior = InitializeBehavior(router: router);
            var options  = new SendOptions();

            var context = CreateContext(options);

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

            Assert.AreEqual("MappedDestination", addressTag.Destination);
        }
        static UnicastSendRouterConnector InitializeBehavior(
            string sharedQueue = null,
            string instanceSpecificQueue = null,
            FakeSendRouter router = null)
        {
            var metadataRegistry = new MessageMetadataRegistry(new Conventions());
            metadataRegistry.RegisterMessageTypesFoundIn(new List<Type> { typeof(MyMessage), typeof(MessageWithoutRouting) });

            return new UnicastSendRouterConnector(sharedQueue, instanceSpecificQueue, null, router ?? new FakeSendRouter(), new DistributionPolicy(), e => e.ToString());
        }
        public void Should_throw_if_no_route_can_be_found()
        {
            var router = new FakeSendRouter
            {
                FixedDestination = null
            };

            var behavior = InitializeBehavior(router: router);
            var options = new SendOptions();

            var context = CreateContext(options, new MessageWithoutRouting());

            Assert.That(async () => await behavior.Invoke(context, _ => TaskEx.CompletedTask), Throws.InstanceOf<Exception>().And.Message.Contains("No destination specified"));
        }
        public async Task Should_route_using_the_mappings_if_no_destination_is_set()
        {
            var router = new FakeSendRouter
            {
                FixedDestination = new UnicastRoutingStrategy("MappedDestination")
            };
            var behavior = InitializeBehavior(router: router);
            var options = new SendOptions();

            var context = CreateContext(options);

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

            Assert.AreEqual("MappedDestination", addressTag.Destination);
        }