public void Setup() { routingTable = new UnicastRoutingTable(); endpointInstances = new EndpointInstances(); router = new UnicastSendRouter( routingTable, endpointInstances, i => i.ToString()); }
public void When_group_does_not_exist_should_add_routes() { var routingTable = new UnicastRoutingTable(); var route = UnicastRoute.CreateFromEndpointName("Endpoint1"); routingTable.AddOrReplaceRoutes("key", new List<RouteTableEntry>() { new RouteTableEntry(typeof(Command), route), }); var retrievedRoute = routingTable.GetRouteFor(typeof(Command)); Assert.AreSame(route, retrievedRoute); }
public void When_routes_are_ambiguous_should_throw_exception() { var routingTable = new UnicastRoutingTable(); var lowPriorityRoute = UnicastRoute.CreateFromEndpointName("Endpoint1"); var highPriorityRoute = UnicastRoute.CreateFromEndpointName("Endpoint2"); routingTable.AddOrReplaceRoutes("key2", new List<RouteTableEntry>() { new RouteTableEntry(typeof(Command), highPriorityRoute), }); Assert.That(() => { routingTable.AddOrReplaceRoutes("key1", new List<RouteTableEntry>() { new RouteTableEntry(typeof(Command), lowPriorityRoute), }); }, Throws.Exception); }
static UnicastRoutingTable ApplyMappings(MessageEndpointMappingCollection mappings) { var routeTable = new UnicastRoutingTable(); mappings.Apply(new Publishers(), routeTable, x => x, new Conventions()); return routeTable; }
static UnicastRoutingTable ApplyConfiguredRoutes(RoutingSettings routingSettings) { var routingTable = new UnicastRoutingTable(); var configuredRoutes = routingSettings.Settings.GetOrDefault<ConfiguredUnicastRoutes>(); configuredRoutes?.Apply(routingTable, new Conventions()); return routingTable; }