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
def new(self): """Create a new session.""" session = SessionObject() sessionid = generate_sessionid() session['id'] = sessionid[0] session['last_subsession'] = sessionid[1] session['principal'] = self.m_security.principal() now = datetime.datetime.now() session['create_date'] = now session['last_used'] = now expire_date = now + datetime.timedelta(seconds=self.m_timeout) session['expire_date'] = expire_date self.m_transaction.insert(session) value = dump_sessionid((sessionid[0], None)) cookie = Cookie('draco-session', value, expires=expire_date, path='/') self.m_response.set_cookie(cookie) self.m_session = session self.m_sessionid = sessionid
def test_clash(self): sessions = set() for i in range(100): sess = util.generate_sessionid() assert sess not in sessions sessions.add(sess)