예제 #1
0
        public void StumpsHttpResponse_PopulatesCorrectly()
        {
            var mockHandler = new MockHandler();
            mockHandler.StatusCode = 202;
            mockHandler.StatusDescription = "Bob";
            mockHandler.UpdateBody(TestData.SampleTextResponse);
            mockHandler.AddHeader("X-Stumps", "V1");

            var finishingEventCount = 0;

            using (var server = HttpHelper.CreateServer(mockHandler))
            {

                server.RequestFinished += (o, i) =>
                {
                    var response = i.Context.Response;

                    finishingEventCount++;
                    Assert.IsNotNull(response.Headers);
                    Assert.Greater(response.Headers.Count, 0);
                    Assert.AreEqual(response.Headers["X-Stumps"], "V1");

                };

                server.StartListening();

                var uri = new Uri("http://localhost:" + server.Port.ToString(CultureInfo.InvariantCulture) + "/");

                var request = WebRequest.Create(uri);

                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    Assert.IsNotNull(response);
                }

            }

            Assert.AreEqual(finishingEventCount, 1);
        }
        public void StumpsHttpResponse_PopulatesCorrectly()
        {
            var mockHandler = new MockHandler();

            mockHandler.StatusCode        = 202;
            mockHandler.StatusDescription = "Bob";
            mockHandler.UpdateBody(TestData.SampleTextResponse);
            mockHandler.AddHeader("X-Stumps", "V1");

            var requestFinishedEvent = new AutoResetEvent(false);

            using (var server = HttpHelper.CreateServer(mockHandler))
            {
                server.RequestFinished += (o, i) =>
                {
                    var response = i.Context.Response;

                    Assert.IsNotNull(response.Headers);
                    Assert.Greater(response.Headers.Count, 0);
                    Assert.AreEqual(response.Headers["X-Stumps"], "V1");
                    requestFinishedEvent.Set();
                };

                server.StartListening();

                var uri = new Uri("http://localhost:" + server.Port.ToString(CultureInfo.InvariantCulture) + "/");

                var request = WebRequest.Create(uri);

                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    Assert.IsNotNull(response);
                }
            }

            var requestFinished = requestFinishedEvent.WaitOne(1000);

            Assert.IsTrue(requestFinished);
        }