public void GetRestMethods_HasTaskMethod_CanHandleRequest()
        {
            var restHandler = new RestControllerRequestHandler();
            restHandler.RegisterController<AsyncTaskTestController>();

            var request = restHandler.HandleRequestAsync(Utils.CreateRestServerRequest(uri: new Uri("/users/1", UriKind.Relative)));

            Assert.IsNotNull(request.Result);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.Result.StatusCode);
        }
Example #2
0
        public void GetRestMethods_HasIAsyncOperationMethod_CanHandleRequest()
        {
            var restHandler = new RestControllerRequestHandler();

            restHandler.RegisterController <AsyncOperationTestController>();

            var request = restHandler.HandleRequest(Utils.CreateRestServerRequest(uri: new Uri("/users/1", UriKind.Relative)));

            Assert.IsNotNull(request.Result);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.Result.StatusCode);
        }
        public void GetRestMethods_WithControllerThatHasMethodsSortedByNumberOfParametersDescending_CanHandleRequest(string uri, string route)
        {
            var restHandler = new RestControllerRequestHandler();
            restHandler.RegisterController<MethodsSortedByParametersDescendingController>();

            var request = restHandler.HandleRequestAsync(Utils.CreateRestServerRequest(uri: new Uri(uri, UriKind.Relative)));

            Assert.IsNotNull(request.Result);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.Result.StatusCode);
            Assert.AreEqual(route, (request.Result as IGetResponse)?.ContentData);
        }
Example #4
0
        public void GetRestMethods_WithControllerThatHasMethodsSortedByNumberOfParametersDescending_CanHandleRequest(string uri, string route)
        {
            var restHandler = new RestControllerRequestHandler();

            restHandler.RegisterController <MethodsSortedByParametersDescendingController>();

            var request = restHandler.HandleRequest(Utils.CreateRestServerRequest(uri: new Uri(uri, UriKind.Relative)));

            Assert.IsNotNull(request.Result);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.Result.StatusCode);
            Assert.AreEqual(route, (request.Result as IGetResponse)?.ContentData);
        }
        public async Task HandleRequest_MoreQueryParametersThenDefined_IgnoreExtraParameters()
        {
            var restHandler = new RestControllerRequestHandler();
            restHandler.RegisterController<QueryParamsTestController>();

            var request = await restHandler.HandleRequestAsync(
                Utils.CreateRestServerRequest(uri: new Uri("/query?val=test&val2=test2&_=129283174928743", UriKind.Relative)));

            Assert.IsNotNull(request);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.StatusCode);

            var asGet = request as IGetResponse;

            Assert.AreEqual(asGet.ContentData, "test");
        }
        public async Task HandleRequest_MoreQueryParametersThenDefined_IgnoreExtraParameters()
        {
            var restHandler = new RestControllerRequestHandler();

            restHandler.RegisterController <QueryParamsTestController>();

            var request = await restHandler.HandleRequestAsync(
                Utils.CreateRestServerRequest(uri: new Uri("/query?val=test&val2=test2&_=129283174928743", UriKind.Relative)));

            Assert.IsNotNull(request);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.StatusCode);

            var asGet = request as IGetResponse;

            Assert.AreEqual(asGet.ContentData, "test");
        }
        public async Task TestArrays <T>(List <T> responseArray, string uri)
        {
            var restHandler = new RestControllerRequestHandler();

            restHandler.RegisterController <ArraysTestController>();

            var request = await restHandler.HandleRequestAsync(Utils.CreateRestServerRequest(uri: new Uri(uri, UriKind.Relative)));

            Assert.IsNotNull(request);
            Assert.AreEqual((int)GetResponse.ResponseStatus.OK, request.StatusCode);

            var asGet   = request as IGetResponse;
            var asArray = asGet.ContentData as ICollection;

            CollectionAssert.AreEqual(asArray, responseArray);
        }
        public void HandleRequest_ComplexObjectArray_Exception()
        {
            try
            {
                var restHandler = new RestControllerRequestHandler();
                restHandler.RegisterController <CopmlexArraysTestController>();

                Assert.Fail("Expected exception for complex data types in IEnumerable");
            }
            catch (InvalidOperationException)
            {
            }
            catch
            {
                throw;
            }
        }
Example #9
0
 public void RegisterController <T>() where T : class
 {
     _requestHandler.RegisterController <T>();
 }