MCPcopy Index your code
hub / github.com/python/cpython / test_session_cookies

Method test_session_cookies

Lib/test/test_http_cookiejar.py:1984–2024  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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
2027if __name__ == "__main__":

Callers

nothing calls this directly

Calls 7

extract_cookiesMethod · 0.95
clear_session_cookiesMethod · 0.95
CookieJarClass · 0.90
FakeResponseClass · 0.85
assertNotEqualMethod · 0.80
appendMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected