(self)
| 1982 | self.assertEqual(req.get_header("Cookie2"), '$Version="1"') |
| 1983 | |
| 1984 | def test_session_cookies(self): |
| 1985 | year_plus_one = time.localtime()[0] + 1 |
| 1986 | |
| 1987 | # Check session cookies are deleted properly by |
| 1988 | # CookieJar.clear_session_cookies method |
| 1989 | |
| 1990 | req = urllib.request.Request('http://www.perlmeister.com/scripts') |
| 1991 | headers = [] |
| 1992 | headers.append("Set-Cookie: s1=session;Path=/scripts") |
| 1993 | headers.append("Set-Cookie: p1=perm; Domain=.perlmeister.com;" |
| 1994 | "Path=/;expires=Fri, 02-Feb-%d 23:24:20 GMT" % |
| 1995 | year_plus_one) |
| 1996 | headers.append("Set-Cookie: p2=perm;Path=/;expires=Fri, " |
| 1997 | "02-Feb-%d 23:24:20 GMT" % year_plus_one) |
| 1998 | headers.append("Set-Cookie: s2=session;Path=/scripts;" |
| 1999 | "Domain=.perlmeister.com") |
| 2000 | headers.append('Set-Cookie2: s3=session;Version=1;Discard;Path="/"') |
| 2001 | res = FakeResponse(headers, 'http://www.perlmeister.com/scripts') |
| 2002 | |
| 2003 | c = CookieJar() |
| 2004 | c.extract_cookies(res, req) |
| 2005 | # How many session/permanent cookies do we have? |
| 2006 | counter = {"session_after": 0, |
| 2007 | "perm_after": 0, |
| 2008 | "session_before": 0, |
| 2009 | "perm_before": 0} |
| 2010 | for cookie in c: |
| 2011 | key = "%s_before" % cookie.value |
| 2012 | counter[key] = counter[key] + 1 |
| 2013 | c.clear_session_cookies() |
| 2014 | # How many now? |
| 2015 | for cookie in c: |
| 2016 | key = "%s_after" % cookie.value |
| 2017 | counter[key] = counter[key] + 1 |
| 2018 | |
| 2019 | # a permanent cookie got lost accidentally |
| 2020 | self.assertEqual(counter["perm_after"], counter["perm_before"]) |
| 2021 | # a session cookie hasn't been cleared |
| 2022 | self.assertEqual(counter["session_after"], 0) |
| 2023 | # we didn't have session cookies in the first place |
| 2024 | self.assertNotEqual(counter["session_before"], 0) |
| 2025 | |
| 2026 | |
| 2027 | if __name__ == "__main__": |
nothing calls this directly
no test coverage detected