public ServerContext(Assembly assembly, RouteTable routeTable)
 {
     Assembly = assembly;
     RouteTable = routeTable;
     BufferSize = 2048;
     MaxClientHeaderSize = 20000;
 }
        public void WhenNoRouteInRouteTable_GetFalseAndNullRoute()
        {
            // Arrange
            var routeTable = new RouteTable();

            // Act
            RequestRoute route;
            var result = routeTable.HasRouteToPath("Name", out route);

            // Assert
            Assert.IsFalse(result);
            Assert.IsNull(route);
        }
        public void WhenPathWithNoIdentifierAndNoDefaultController_GetFalseAndNullRoute()
        {
            // Arrange
            var routeTable = new RouteTable();
            var mockControllerType = typeof(MockController);
            var methods = new ArrayList();
            methods.Add("Index");
            routeTable.Routes.Add(new Route(mockControllerType, "Mock", mockControllerType.Name, mockControllerType.FullName, methods));

            // Act
            RequestRoute route;
            var result = routeTable.HasRouteToPath("//", out route);

            // Assert
            Assert.IsFalse(result);
            Assert.IsNull(route);
        }
        public void WhenNoPathAndDefaultController_GetRouteToDefaultController()
        {
            // Arrange
            var defaultControllerName = "Mock";
            var routeTable = new RouteTable();
            var mockControllerType = typeof(MockController);
            var methods = new ArrayList();
            methods.Add("Index");
            routeTable.Routes.Add(new Route(mockControllerType, "Mock", mockControllerType.Name, mockControllerType.FullName, methods));
            routeTable.DefaultControllerName = defaultControllerName;

            // Act
            RequestRoute route;
            var result = routeTable.HasRouteToPath("/", out route);

            // Assert
            Assert.IsTrue(result);
            Assert.AreEqual(defaultControllerName, route.Route.ControllerName);
        }
示例#5
0
 public ServerBase()
 {
     _routeGenerator = new RouteGenerator();
     _routeTable = new RouteTable();
     _serverContext = new ServerContext(GetType().Assembly, _routeTable);
 }
        public void WhenRouteInRouteTableAndNoExistingMethod_GetFalseAndNoRoute()
        {
            // Arrange
            var routeTable = new RouteTable();
            var mockControllerType = typeof(MockController);
            var methods = new ArrayList();
            methods.Add("Index");
            routeTable.Routes.Add(new Route(mockControllerType, "Mock", mockControllerType.Name, mockControllerType.FullName, methods));

            // Act
            RequestRoute route;
            var result = routeTable.HasRouteToPath("/Mock/MyNotExistingMethod", out route);

            // Assert
            Assert.IsFalse(result);
            Assert.IsNull(route);
        }
        public void WhenRouteInRouteTable_GetTrueAndSetRouteInRequest()
        {
            // Arrange
            var routeTable = new RouteTable();
            var mockControllerType = typeof(MockController);
            var methods = new ArrayList();
            methods.Add("Index");
            routeTable.Routes.Add(new Route(mockControllerType, "Mock", mockControllerType.Name, mockControllerType.FullName, methods));

            // Act
            RequestRoute route;
            var result = routeTable.HasRouteToPath("/Mock/Index", out route);

            // Assert
            Assert.IsTrue(result);
            Assert.AreEqual(mockControllerType, route.Route.ControllerType);
        }