TEST(CookieDecoderTest, testDecodingCommaSeparatedClientSideCookies) { String source = "$Version=\"1\"; session_id=\"1234\", " + "$Version=\"1\"; session_id=\"1111\"; $Domain=\".cracker.edu\""; Set<Cookie> cookies = CookieDecoder.decode(source); Iterator<Cookie> it = cookies.iterator(); Cookie c; assertTrue(it.hasNext()); c = it.next(); assertEquals(1, c.getVersion()); assertEquals("session_id", c.getName()); assertEquals("1234", c.getValue()); assertNull(c.getPath()); assertNull(c.getComment()); assertNull(c.getCommentUrl()); assertNull(c.getDomain()); assertTrue(c.getPorts().isEmpty()); assertEquals(Long.MIN_VALUE, c.getMaxAge()); assertTrue(it.hasNext()); c = it.next(); assertEquals(1, c.getVersion()); assertEquals("session_id", c.getName()); assertEquals("1111", c.getValue()); assertEquals(".cracker.edu", c.getDomain()); assertNull(c.getPath()); assertNull(c.getComment()); assertNull(c.getCommentUrl()); assertTrue(c.getPorts().isEmpty()); assertEquals(Long.MIN_VALUE, c.getMaxAge()); assertFalse(it.hasNext()); }
TEST(CookieDecoderTest, testDecodingClientSideCookies) { String source = "$Version=\"1\"; " + "Part_Number=\"Riding_Rocket_0023\"; $Path=\"/acme/ammo\"; " + "Part_Number=\"Rocket_Launcher_0001\"; $Path=\"/acme\""; Set<Cookie> cookies = CookieDecoder.decode(source); Iterator<Cookie> it = cookies.iterator(); Cookie c; c = it.next(); assertEquals(1, c.getVersion()); assertEquals("Part_Number", c.getName()); assertEquals("Rocket_Launcher_0001", c.getValue()); assertEquals("/acme", c.getPath()); assertNull(c.getComment()); assertNull(c.getCommentUrl()); assertNull(c.getDomain()); assertTrue(c.getPorts().isEmpty()); assertEquals(Long.MIN_VALUE, c.getMaxAge()); c = it.next(); assertEquals(1, c.getVersion()); assertEquals("Part_Number", c.getName()); assertEquals("Riding_Rocket_0023", c.getValue()); assertEquals("/acme/ammo", c.getPath()); assertNull(c.getComment()); assertNull(c.getCommentUrl()); assertNull(c.getDomain()); assertTrue(c.getPorts().isEmpty()); assertEquals(Long.MIN_VALUE, c.getMaxAge()); assertFalse(it.hasNext()); }
TEST(CookieDecoderTest, testDecodingMultipleCookies) { String c1 = "myCookie=myValue;max-age=50;path=/apathsomewhere;domain=.adomainsomewhere;secure;comment=this is a comment;version=2;commentURL=\"http://aurl.com\";port='80,8080';discard;"; String c2 = "myCookie2=myValue2;max-age=0;path=/anotherpathsomewhere;domain=.anotherdomainsomewhere;comment=this is another comment;version=2;commentURL=http://anotherurl.com;"; String c3 = "myCookie3=myValue3;max-age=0;version=2;"; Set<Cookie> cookies = CookieDecoder.decode(c1 + c2 + c3); assertEquals(3, cookies.size()); Iterator<Cookie> it = cookies.iterator(); Cookie cookie = it.next(); assertNotNull(cookie); assertEquals("myValue", cookie.getValue()); assertEquals("this is a comment", cookie.getComment()); assertEquals("http://aurl.com", cookie.getCommentUrl()); assertEquals(".adomainsomewhere", cookie.getDomain()); assertTrue(cookie.isDiscard()); assertEquals(50, cookie.getMaxAge()); assertEquals("/apathsomewhere", cookie.getPath()); assertEquals(2, cookie.getPorts().size()); assertTrue(cookie.getPorts().contains(80)); assertTrue(cookie.getPorts().contains(8080)); assertTrue(cookie.isSecure()); assertEquals(2, cookie.getVersion()); cookie = it.next(); assertNotNull(cookie); assertEquals("myValue2", cookie.getValue()); assertEquals("this is another comment", cookie.getComment()); assertEquals("http://anotherurl.com", cookie.getCommentUrl()); assertEquals(".anotherdomainsomewhere", cookie.getDomain()); assertFalse(cookie.isDiscard()); assertEquals(0, cookie.getMaxAge()); assertEquals("/anotherpathsomewhere", cookie.getPath()); assertTrue(cookie.getPorts().isEmpty()); assertFalse(cookie.isSecure()); assertEquals(2, cookie.getVersion()); cookie = it.next(); assertNotNull(cookie); assertEquals("myValue3", cookie.getValue()); assertNull(cookie.getComment()); assertNull(cookie.getCommentUrl()); assertNull(cookie.getDomain()); assertFalse(cookie.isDiscard()); assertEquals(0, cookie.getMaxAge()); assertNull(cookie.getPath()); assertTrue(cookie.getPorts().isEmpty()); assertFalse(cookie.isSecure()); assertEquals(2, cookie.getVersion()); }
TEST(CookieDecoderTest, testDecodingWeirdNames1) { String src = "path=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.www.google.com"; Set<Cookie> cookies = CookieDecoder.decode(src); Cookie c = cookies.iterator().next(); assertEquals("path", c.getName()); assertEquals("", c.getValue()); assertEquals("/", c.getPath()); }
TEST(CookieDecoderTest,testDecodingSingleCookieV1) { String cookieString = "myCookie=myValue;max-age=50;path=/apathsomewhere;domain=.adomainsomewhere;secure;comment=this is a comment;version=1;"; Set<Cookie> cookies = CookieDecoder.decode(cookieString); assertEquals(1, cookies.size()); Cookie cookie = cookies.iterator().next(); assertEquals("myValue", cookie.getValue()); assertNotNull(cookie); assertEquals("this is a comment", cookie.getComment()); assertNull(cookie.getCommentUrl()); assertEquals(".adomainsomewhere", cookie.getDomain()); assertFalse(cookie.isDiscard()); assertEquals(50, cookie.getMaxAge()); assertEquals("/apathsomewhere", cookie.getPath()); assertTrue(cookie.getPorts().isEmpty()); assertTrue(cookie.isSecure()); assertEquals(1, cookie.getVersion()); }
TEST(CookieDecoderTest,testDecodingSingleCookieV2) { String cookieString = "myCookie=myValue;max-age=50;path=/apathsomewhere;domain=.adomainsomewhere;secure;comment=this is a comment;version=2;commentURL=http://aurl.com;port=\"80,8080\";discard;"; Set<Cookie> cookies = CookieDecoder.decode(cookieString); assertEquals(1, cookies.size()); Cookie cookie = cookies.iterator().next(); assertNotNull(cookie); assertEquals("myValue", cookie.getValue()); assertEquals("this is a comment", cookie.getComment()); assertEquals("http://aurl.com", cookie.getCommentUrl()); assertEquals(".adomainsomewhere", cookie.getDomain()); assertTrue(cookie.isDiscard()); assertEquals(50, cookie.getMaxAge()); assertEquals("/apathsomewhere", cookie.getPath()); assertEquals(2, cookie.getPorts().size()); assertTrue(cookie.getPorts().contains(80)); assertTrue(cookie.getPorts().contains(8080)); assertTrue(cookie.isSecure()); assertEquals(2, cookie.getVersion()); }