public void CanCheckForParams() { var basicRequest = new Request(@"GET ..\..\TestFiles\/ HTTP/1.1"); var requestWithParams = new Request(@"GET ..\..\TestFiles\parameters?name=Stephen%20Walker%3C%2C&dob=12-29 HTTP/1.1"); basicRequest.HasParams().ShouldBeFalse(); requestWithParams.HasParams().ShouldBeTrue(); }
public void ItCanParseHeaders() { var expected = new Dictionary<string, string>() { {"Connection", "Keep-Alive"}, {"Accept-Encoding", "gzip,deflate"} }; var basicRequest = new Request(@"GET ..\..\TestFiles\/ HTTP/1.1"); var requestWithHeaders = new Request("GET /path/to/file/index.html HTTP/1.1\r\nConnection: Keep-Alive\r\nAccept-Encoding: gzip,deflate"); basicRequest.Headers.ShouldEqual(new Dictionary<string, string>()); requestWithHeaders.Headers.ShouldEqual(expected); }
public void ItCanParseParameters() { var expectedParams1 = new Dictionary<string, string> { {"name", "Stephen Walker<,"}, {"dob", "12-29"} }; var basicRequest = new Request(@"GET ..\..\TestFiles\/ HTTP/1.1"); var requestWithParams = new Request(@"GET ..\..\TestFiles\/parameters?name=Stephen%20Walker%3C%2C&dob=12-29 HTTP/1.1"); basicRequest.Resource.ShouldEqual(@"..\..\TestFiles\/"); basicRequest.Params.ShouldEqual(new Dictionary<string, string>()); requestWithParams.Resource.ShouldEqual(@"..\..\TestFiles\/"); requestWithParams.Params.ShouldEqual(expectedParams1); }
public void ItIsInvalidWithMissingInitialRequestLine() { var testRequest1 = new Request("INVALID"); var testRequest2 = new Request("INVALID REQUEST"); testRequest1.Valid.ShouldBeFalse(); testRequest2.Valid.ShouldBeFalse(); }
public void ItIsInvalidWithEmptyRequest() { var testRequest = new Request(null); testRequest.Valid.ShouldBeFalse(); }
public void ItCanGetTheRequestedPath() { var request = new Request("GET /index.html HTTP/1.1"); request.Resource.ShouldEqual("/index.html"); }
public void ItCanGetTheMethodName() { var request = new Request("GET / HTTP/1.1"); request.Method.ShouldEqual("GET"); }
public void ItCanGetTheHttpVersion() { var request = new Request("GET / HTTP/1.1"); request.HttpVersion.ShouldEqual("HTTP/1.1"); }
public void ItWillReturn400OnMalformedRequest() { var malformedRequest = new Request("INVALID REQUEST"); var fourhundredResponse = new Response(malformedRequest); fourhundredResponse.StatusCode.ShouldEqual(400); }