@Test public void itShouldBeAbleToParseTheInitialRequestLine() throws IOException { StringReader request = new StringReader("GET / HTTP/1.1\nHost: www.Superawesome.com"); BufferedReader in = new BufferedReader(request); RequestStore requestStore = new RequestStore(); RequestParser requestParser = new RequestParser(in, requestStore); ArrayList<String> headers = requestParser.readHeaders(in); String initialRequestLine = headers.remove(0); requestParser.parseInitialRequestLine(initialRequestLine); assertEquals("HTTP/1.1", requestStore.getProtocolVersion()); assertEquals("GET", requestStore.getMethod()); assertEquals("/", requestStore.getRequestUri()); }
@Test public void itShouldBeAbleToParseARequest() throws IOException { StringReader request = new StringReader( "POST /form HTTP/1.1\nHost: www.Superawesome.com\nContent-Length: 24\n\r\nmy = data value1 = hello\n"); BufferedReader in = new BufferedReader(request); RequestStore requestStore = new RequestStore(); RequestParser requestParser = new RequestParser(in, requestStore); Integer length = 24; requestParser.processRequest(in); assertEquals("POST", requestStore.getMethod()); assertEquals("/form", requestStore.getRequestUri()); assertEquals("HTTP/1.1", requestStore.getProtocolVersion()); assertEquals(length, requestStore.getRequestContentLength()); assertEquals("my = data value1 = hello", requestStore.getRequestBody()); }