/** * Copyright 2011 Intuit Inc. All Rights Reserved */ package com.intuit.tank.util; import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; import org.junit.Assert; import org.junit.*; import static org.junit.Assert.*; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import com.intuit.tank.conversation.Cookie; import com.intuit.tank.conversation.Header; import com.intuit.tank.conversation.Protocol; import com.intuit.tank.conversation.Request; import com.intuit.tank.conversation.Response; import com.intuit.tank.util.HeaderParser; import com.intuit.tank.util.KeyValuePair; import com.intuit.tank.util.HeaderParser.HeaderType; import com.intuit.tank.test.TestGroups; /** * HeaderParserTest * * @author dangleton * */ public class HeaderParserTest { private HeaderParser requestParser; private HeaderParser responseParser; @BeforeTest public void setup() throws Exception { Request req = new Request(); req.setFirstLine("GET /b/test?test=bogus HTTP/1.1"); req.addHeader( "Cookie", "test; testValue"); req.addHeader("Host", "test.testdomain.com"); req.addHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2"); requestParser = new HeaderParser(HeaderType.Request, req.getFirstLine(), req.getHeaders()); Response res = new Response(); res.setFirstLine("HTTP/1.1 200 OK"); res.addHeader("Content-Length", "43"); res.addHeader("Content-Type", "image/gif"); res.addHeader("Set-Cookie", "sdsa_cc=0;Expires=Thu, 01-Jan-1970 00:00:10 GMT;Path=/sdsa;Domain=.testdomain.com;"); res.addHeader("Set-Cookie", "JSESSIONID=bogus; Path=/services"); res.addHeader("Date", "Wed, 02 Nov 2011 00:23:59 GMT"); responseParser = new HeaderParser(HeaderType.Response, res.getFirstLine(), res.getHeaders()); } @Test(groups = TestGroups.FUNCTIONAL) public void testRequestParser() { List<Cookie> cookies = requestParser.getCookies(); Assert.assertFalse(cookies.isEmpty()); String host = requestParser.getHost(); Assert.assertEquals("test.testdomain.com", host); String path = requestParser.getPath(); Assert.assertEquals("/b/test", path); List<KeyValuePair> queryParams = requestParser.getQueryParams(); Assert.assertFalse(queryParams.isEmpty()); } @Test(groups = TestGroups.FUNCTIONAL) public void testResponseParser() { String contentType = responseParser.getContentType(); Assert.assertEquals("image/gif", contentType); int contentLength = responseParser.getContentLength(); Assert.assertEquals(43, contentLength); int statusCode = responseParser.getStatusCode(); Assert.assertEquals(200, statusCode); // Date responseDate = responseParser.getResponseDate(); // Assert.assertNotNull(responseDate); String statusMessage = responseParser.getStatusMessage(); Assert.assertEquals("OK", statusMessage); List<Cookie> cookies = responseParser.getCookies(); Assert.assertNotNull(cookies); } }