def test_session_data_disappears_when_session_does(web_fixture): """When a UserSession is deleted, all associated SessionData disappear as well.""" fixture = web_fixture UserSession.initialise_web_session_on(fixture.context) user_session = fixture.context.session ui_name = 'user_interface' channel_name = 'channel' session_data = SessionData(web_session=user_session, view_path='/', ui_name=ui_name, channel_name=channel_name) Session.add(session_data) Session.flush() Session.delete(user_session) assert Session.query(SessionData).filter_by( id=session_data.id).count() == 0 assert Session.query(UserSession).filter_by( id=user_session.id).count() == 0
def test_session_keeps_living(web_fixture): """When SessionData is deleted, the associated UserSession is not affected.""" fixture = web_fixture UserSession.initialise_web_session_on(fixture.context) user_session = fixture.context.session ui_name = 'user_interface' channel_name = 'channel' session_data = SessionData(web_session=user_session, view_path='/', ui_name=ui_name, channel_name=channel_name) Session.add(session_data) Session.flush() Session.delete(session_data) assert Session.query(SessionData).filter_by( id=session_data.id).count() == 0 assert Session.query(UserSession).filter_by( id=user_session.id).one() is user_session
def test_reading_cookies_on_initialising_a_session(web_fixture): fixture = web_fixture # Case: session cookie not set in Request UserSession.initialise_web_session_on(fixture.context) assert not fixture.context.session.is_active() assert not fixture.context.session.is_secured() # Case: session cookie set in Request fixture.context.session = None user_session = UserSession() user_session.set_last_activity_time() Session.add(user_session) fixture.request.headers['Cookie'] = ascii_as_bytes_or_str( 'reahl=%s' % user_session.as_key()) UserSession.initialise_web_session_on(fixture.context) assert fixture.context.session is user_session assert fixture.context.session.is_active() assert not fixture.context.session.is_secured() # Case: session cookie set, secure cookie also set in Request, https fixture.request.scheme = 'https' fixture.context.session = None user_session = UserSession() user_session.set_last_activity_time() Session.add(user_session) fixture.request.headers['Cookie'] = ascii_as_bytes_or_str('reahl=%s , reahl_secure=%s' % \ (user_session.as_key(), user_session.secure_salt)) UserSession.initialise_web_session_on(fixture.context) assert fixture.context.session is user_session assert fixture.context.session.is_active() assert fixture.context.session.is_secured() # Case: session cookie set, secure cookie also set in Request, http fixture.request.scheme = 'http' fixture.context.session = None user_session = UserSession() user_session.set_last_activity_time() Session.add(user_session) fixture.request.headers['Cookie'] = ascii_as_bytes_or_str('reahl=%s , reahl_secure=%s' % \ (user_session.as_key(), user_session.secure_salt)) UserSession.initialise_web_session_on(fixture.context) assert fixture.context.session is user_session assert fixture.context.session.is_active() assert not fixture.context.session.is_secured()
def new_session(self, system_account=None): return UserSession()
def create_user_session(self): user_session = UserSession() Session.add(user_session) ExecutionContext.get_context().session = user_session return user_session
def new_session(self): web_user_session = UserSession() Session.add(web_user_session) return web_user_session
def new_session(self, system_account=None): user_session = UserSession() Session.add(user_session) Session.flush() return user_session