def _get_sessionid(self): """Return session id and subsession.""" sessionid = self.m_request.session() if sessionid and issessionid(sessionid): basesession, subsession = parse_sessionid(sessionid) else: basesession, subsession = None, None if basesession is None: cookie = self.m_request.cookie('draco-session') if cookie and issessionid(cookie.value): basesession, dummy = parse_sessionid(cookie.value) if subsession is None: subsession = 0 return (basesession, subsession)
def test_roundtrip(self): for i in range(100): sess = util.generate_sessionid() dump = util.dump_sessionid(sess) assert util.issessionid(dump) parsed = util.parse_sessionid(dump) assert sess == parsed for i in range(100): sess = util.generate_sessionid() sess = (sess[0], None) dump = util.dump_sessionid(sess) assert util.issessionid(dump) parsed = util.parse_sessionid(dump) assert sess == parsed for i in range(100): sess = util.generate_sessionid() sess = (None, sess[1]) dump = util.dump_sessionid(sess) assert util.issessionid(dump) parsed = util.parse_sessionid(dump) assert sess == parsed