@@ -39,7 +39,7 @@ public static void AddRoute_AmbiguousRoute_FirstRouteIsChosen()
39
39
}
40
40
41
41
[ Fact ]
42
- public static void AddRoute_AppliesHttpMethodConstraints ( )
42
+ public static void AddRoute_AppliesHttpMethodConstraint ( )
43
43
{
44
44
HttpRouteFactory routeFactory = new HttpRouteFactory ( "api" ) ;
45
45
@@ -59,5 +59,39 @@ public static void AddRoute_AppliesHttpMethodConstraints()
59
59
routeData = routes . GetRouteData ( request ) ;
60
60
Assert . Same ( route2 , routeData . Route ) ;
61
61
}
62
+
63
+ [ Fact ]
64
+ public static void AddRoute_MethodsCollectionNull_DoesNotApplyHttpMethodConstraint ( )
65
+ {
66
+ HttpRouteFactory routeFactory = new HttpRouteFactory ( "api" ) ;
67
+
68
+ HttpRouteCollection routes = new HttpRouteCollection ( ) ;
69
+ var route = routeFactory . AddRoute ( "route1" , "products/{category}/{id?}" , null , routes ) ;
70
+
71
+ HttpRequestMessage request = new HttpRequestMessage ( HttpMethod . Get , "http://host/api/products/electronics/123" ) ;
72
+ var routeData = routes . GetRouteData ( request ) ;
73
+ Assert . Same ( route , routeData . Route ) ;
74
+
75
+ request = new HttpRequestMessage ( HttpMethod . Post , "http://host/api/products/electronics/123" ) ;
76
+ routeData = routes . GetRouteData ( request ) ;
77
+ Assert . Same ( route , routeData . Route ) ;
78
+ }
79
+
80
+ [ Fact ]
81
+ public static void AddRoute_MethodsCollectionEmpty_AppliesHttpMethodConstraint ( )
82
+ {
83
+ HttpRouteFactory routeFactory = new HttpRouteFactory ( "api" ) ;
84
+
85
+ HttpRouteCollection routes = new HttpRouteCollection ( ) ;
86
+ var route = routeFactory . AddRoute ( "route1" , "products/{category}/{id?}" , new HttpMethod [ 0 ] , routes ) ;
87
+
88
+ HttpRequestMessage request = new HttpRequestMessage ( HttpMethod . Get , "http://host/api/products/electronics/123" ) ;
89
+ var routeData = routes . GetRouteData ( request ) ;
90
+ Assert . Null ( routeData ) ;
91
+
92
+ request = new HttpRequestMessage ( HttpMethod . Post , "http://host/api/products/electronics/123" ) ;
93
+ routeData = routes . GetRouteData ( request ) ;
94
+ Assert . Null ( routeData ) ;
95
+ }
62
96
}
63
97
}
0 commit comments