예제 #1
0
        public void Given_a_request_and_two_buffers_worth_of_data_available_When_requesting_Then_data_received_twice()
        {
            // setup
            var builder = new HttpSocketBuilder()
                          .GivenTwoBuffersWorthOfDataAvailable();

            var target = builder.Build();

            // execution
            target.Request(new HttpRequestBuilder()
                           .SetUrl("www.test.com")
                           .Build());

            // assertion
            builder.ThenDataReceived(2);
        }
예제 #2
0
        public void Given_a_request_and_no_socket_data_available_and_timeout_not_reached_When_requesting_Then_method_sleeps()
        {
            // setup
            var builder = new HttpSocketBuilder()
                          .GivenNoSocketDataAvailable()
                          .GivenTimeoutNotReached();

            var target = builder.Build();

            // execution
            target.Request(new HttpRequestBuilder()
                           .SetUrl("www.test.com")
                           .Build());

            // assertion
            builder.ThenMethodSleeps();
        }
예제 #3
0
        public void Given_a_host_and_port_are_specified_When_requesting_Then_a_socket_is_connected_to_the_host()
        {
            // setup
            var host = "www.test.com";
            var port = 8080;
            var request = new HttpRequestBuilder()
                .SetUrl(host)
                .SetPort(port)
                .Build();

            var builder = new HttpSocketBuilder()
                .GivenAnHttpRequest();

            var target = builder.Build();

            // execution
            target.Request(request);

            // assertion
            builder.ThenSocketConnectedToHostOnPort(host, port);
        }
예제 #4
0
        public void Given_a_host_and_port_are_specified_When_requesting_Then_a_socket_is_connected_to_the_host()
        {
            // setup
            var host    = "www.test.com";
            var port    = 8080;
            var request = new HttpRequestBuilder()
                          .SetUrl(host)
                          .SetPort(port)
                          .Build();

            var builder = new HttpSocketBuilder()
                          .GivenAnHttpRequest();

            var target = builder.Build();

            // execution
            target.Request(request);

            // assertion
            builder.ThenSocketConnectedToHostOnPort(host, port);
        }
예제 #5
0
        public void Given_a_request_and_two_buffers_worth_of_data_available_When_requesting_Then_data_received_twice()
        {
            // setup
            var builder = new HttpSocketBuilder()
                .GivenTwoBuffersWorthOfDataAvailable();

            var target = builder.Build();

            // execution
            target.Request(new HttpRequestBuilder()
                .SetUrl("www.test.com")
                .Build());

            // assertion
            builder.ThenDataReceived(2);
        }
예제 #6
0
        public void Given_a_request_and_no_socket_data_available_and_timeout_not_reached_When_requesting_Then_method_sleeps()
        {
            // setup
            var builder = new HttpSocketBuilder()
                .GivenNoSocketDataAvailable()
                .GivenTimeoutNotReached();

            var target = builder.Build();

            // execution
            target.Request(new HttpRequestBuilder()
                .SetUrl("www.test.com")
                .Build());

            // assertion
            builder.ThenMethodSleeps();
        }