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