public void Route_Miss() { // Arrange var routes = new string[] { "super/awesome", "super/cool", "other/route" }; var MockMethod = Type.GetType("MQTTnet.AspNetCore.AttributeRouting.Tests.RouteTableTests").GetMethod("Route_Match", BindingFlags.Public); var MockMethod2 = Type.GetType("MQTTnet.AspNetCore.AttributeRouting.Tests.RouteTableTests").GetMethod("Route_Constructor", BindingFlags.Public); var MockRoutes = new MqttRoute[] { new MqttRoute( new RouteTemplate(routes[0], new List <TemplateSegment>() { new TemplateSegment(routes[0], "super", false), new TemplateSegment(routes[0], "awesome", false), }), MockMethod, new string[] { }), new MqttRoute( new RouteTemplate(routes[1], new List <TemplateSegment>() { new TemplateSegment(routes[1], "super", false), new TemplateSegment(routes[1], "cool", false), }), MockMethod2, new string[] { }), new MqttRoute( new RouteTemplate(routes[2], new List <TemplateSegment>() { new TemplateSegment(routes[2], "other", false), new TemplateSegment(routes[2], "route", false), }), MockMethod2, new string[] { }), }; var context = new MqttRouteContext("super/miss"); // Act var MockTable = new MqttRouteTable(MockRoutes); MockTable.Route(context); // Assert Assert.IsNull(context.Handler); }
public void Route_Constructor() { // Arrange var routes = new string[] { "super/awesome", "super/cool", "other/route" }; var MockRoutes = new MqttRoute[] { new MqttRoute( new RouteTemplate(routes[0], new List <TemplateSegment>() { new TemplateSegment(routes[0], "super", false), new TemplateSegment(routes[0], "awesome", false), }), null, new string[] { }), new MqttRoute( new RouteTemplate(routes[1], new List <TemplateSegment>() { new TemplateSegment(routes[1], "super", false), new TemplateSegment(routes[1], "cool", false), }), null, new string[] { }), new MqttRoute( new RouteTemplate(routes[2], new List <TemplateSegment>() { new TemplateSegment(routes[2], "other", false), new TemplateSegment(routes[2], "route", false), }), null, new string[] { }), }; // Act var MockTable = new MqttRouteTable(MockRoutes); // Assert CollectionAssert.AreEqual(MockRoutes, MockTable.Routes); }
public MqttRouter(ILogger <MqttRouter> logger, MqttRouteTable routeTable, ITypeActivatorCache typeActivator) { this.logger = logger; this.routeTable = routeTable; this.typeActivator = typeActivator; }