示例#1
0
        public void If_no_handlers_found_should_fire_onresponse_with_a_404()
        {
            _processor = new RequestProcessor(_ruleThatReturnsNoHandlers, new RequestHandlerList());

            _processor.Add(_requestHandlerFactory.Get("test"));
            _processor.OnRequest(new HttpRequestHead(), _dataProducer, _httpResponseDelegate);
            _httpResponseDelegate.AssertWasCalled(x => x.OnResponse(Arg <HttpResponseHead> .Matches(y => y.Status == "404 NotFound"), Arg <IDataProducer> .Is.Null));
        }
示例#2
0
        public void If_no_handlers_found_should_fire_onresponse_with_a_404()
        {
            _processor = new RequestProcessor(_ruleThatReturnsNoHandlers, new RequestHandlerList());

            _processor.Add(_requestHandlerFactory.Get("test"));
            _processor.OnRequest(new HttpRequestHead(), _dataProducer, _httpResponseDelegate);
            _httpResponseDelegate.AssertWasCalled(x => x.OnResponse(Arg<HttpResponseHead>.Matches(y => y.Status == "404 NotFound"), Arg<IDataProducer>.Is.Null));
        }
示例#3
0
        public void Matching_HEAD_handler_should_output_handlers_expected_response_with_null_body()
        {
            _processor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            RequestHandler requestHandler = _requestHandlerFactory.Head("test");
            _processor.Add(requestHandler);
            var httpRequestHead = new HttpRequestHead { Method = "HEAD", Headers = new Dictionary<string, string>() };
            _processor.OnRequest(httpRequestHead, _dataProducer, _httpResponseDelegate);

            _httpResponseDelegate.AssertWasCalled(x => x.OnResponse(requestHandler.ResponseBuilder.BuildHeaders(), null));
        }
示例#4
0
        public void If_a_handler_found_should_fire_onresponse_with_that_repsonse()
        {
            _processor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            RequestHandler requestHandler = _requestHandlerFactory.Get("test");
            _processor.Add(requestHandler);
            Dictionary<string, string> headers = new Dictionary<string, string>();
            _processor.OnRequest(new HttpRequestHead{ Headers =  headers}, _dataProducer, _httpResponseDelegate);

            _httpResponseDelegate.AssertWasCalled(
                x => x.OnResponse(requestHandler.ResponseBuilder.BuildHeaders(),
                requestHandler.ResponseBuilder.BuildBody(headers)));
        }
示例#5
0
        public void When_a_handler_is_added_should_be_able_to_find_it()
        {
            string expectedPath   = "/blah/test";
            string expectedMethod = "GET";

            var requestProcessor = new RequestProcessor(null, new RequestHandlerList());

            requestProcessor.Add(_requestHandlerFactory.Get(expectedPath));

            var handler = (RequestHandler)requestProcessor.FindHandler(expectedMethod, expectedPath);

            Assert.That(handler.Path, Is.EqualTo(expectedPath));
            Assert.That(handler.Method, Is.EqualTo(expectedMethod));
        }
示例#6
0
        public void Matching_HEAD_handler_should_output_handlers_expected_response_with_null_body()
        {
            _processor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            RequestHandler requestHandler = _requestHandlerFactory.Head("test");

            _processor.Add(requestHandler);
            var httpRequestHead = new HttpRequestHead {
                Method = "HEAD", Headers = new Dictionary <string, string>()
            };

            _processor.OnRequest(httpRequestHead, _dataProducer, _httpResponseDelegate);

            _httpResponseDelegate.AssertWasCalled(x => x.OnResponse(requestHandler.ResponseBuilder.BuildHeaders(), null));
        }
示例#7
0
        public void If_a_handler_found_should_fire_onresponse_with_that_repsonse()
        {
            _processor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            RequestHandler requestHandler = _requestHandlerFactory.Get("test");

            _processor.Add(requestHandler);
            Dictionary <string, string> headers = new Dictionary <string, string>();

            _processor.OnRequest(new HttpRequestHead {
                Headers = headers
            }, _dataProducer, _httpResponseDelegate);

            _httpResponseDelegate.AssertWasCalled(
                x => x.OnResponse(requestHandler.ResponseBuilder.BuildHeaders(),
                                  requestHandler.ResponseBuilder.BuildBody(headers)));
        }
示例#8
0
        public async Task <IHttpActionResult> Add(CpuInfoRequest info)
        {
            try
            {
                var requestProcessor = new RequestProcessor(WebApiApplication.PviApp);

                await requestProcessor.Add(info);

                return(Ok());
            }
            catch (Exception ex)
            {
                ex.Data.Add("PviController.Operation", "Add");
                _log.Error(ex.Message, ex);
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
示例#9
0
        public void When_a_handler_is_hit_handlers_request_count_is_incremented()
        {
            string expectedPath   = "/blah/test";
            string expectedMethod = "GET";

            var requestProcessor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            requestProcessor.Add(_requestHandlerFactory.Get(expectedPath));
            var httpRequestHead = new HttpRequestHead {
                Headers = new Dictionary <string, string>()
            };

            httpRequestHead.Path   = expectedPath;
            httpRequestHead.Method = expectedPath;
            requestProcessor.OnRequest(httpRequestHead, _dataProducer, _httpResponseDelegate);

            var handler = requestProcessor.FindHandler(expectedMethod, expectedPath);

            Assert.That(handler.RequestCount(), Is.EqualTo(1));
        }
示例#10
0
        public void When_a_handler_is_hit_handlers_request_count_is_incremented()
        {
            string expectedPath = "/blah/test";
            string expectedMethod = "GET";

            var requestProcessor = new RequestProcessor(_ruleThatReturnsFirstHandler, new RequestHandlerList());

            requestProcessor.Add(_requestHandlerFactory.Get(expectedPath));
            var httpRequestHead = new HttpRequestHead { Headers = new Dictionary<string, string>() };
            httpRequestHead.Path = expectedPath;
            httpRequestHead.Method = expectedPath;
            requestProcessor.OnRequest(httpRequestHead, _dataProducer, _httpResponseDelegate);

            var handler = requestProcessor.FindHandler(expectedMethod, expectedPath);
            Assert.That(handler.RequestCount(), Is.EqualTo(1));
        }
示例#11
0
        public void When_a_handler_is_added_should_be_able_to_find_it()
        {
            string expectedPath = "/blah/test";
            string expectedMethod = "GET";

            var requestProcessor = new RequestProcessor(null, new RequestHandlerList());

            requestProcessor.Add(_requestHandlerFactory.Get(expectedPath));

            var handler = (RequestHandler) requestProcessor.FindHandler(expectedMethod, expectedPath);

            Assert.That(handler.Path, Is.EqualTo(expectedPath));
            Assert.That(handler.Method, Is.EqualTo(expectedMethod));
        }