示例#1
0
        public void OptionsForAllow()
        {
            Uri        requestUri    = new Uri("http://example.com");
            HttpMethod requestMethod = HttpMethod.OPTIONS;

            Expect.Call <IClientHttpRequest>(requestFactory.CreateRequest(requestUri, requestMethod)).Return(request);
            ExpectGetResponse();
            Expect.Call <bool>(errorHandler.HasError(requestUri, requestMethod, response)).Return(false);
            HttpHeaders responseHeaders = new HttpHeaders();

            responseHeaders.Add("Allow", "GET");
            responseHeaders.Add("Allow", "POST");
            Expect.Call <HttpHeaders>(response.Headers).Return(responseHeaders).Repeat.Any();

            mocks.ReplayAll();

            IList <HttpMethod> result = template.OptionsForAllow("http://example.com");

            Assert.AreEqual(2, result.Count, "Invalid OPTIONS result");
            Assert.IsTrue(result.Contains(HttpMethod.GET), "Invalid OPTIONS result");
            Assert.IsTrue(result.Contains(HttpMethod.POST), "Invalid OPTIONS result");
        }