def test_password_change_clears_sessions(self): factories.SessionFactory(user=self.user) factories.SessionFactory(user=self.user) factories.SessionFactory(user=self.user) assert_equal(3, Session.find().count()) self.user.set_password('killerqueen') assert_equal(0, Session.find().count())
def test_get_cookie(self): user = AuthUserFactory() create_delta = Delta(lambda: Session.find().count(), lambda value: value + 1) with AssertDeltas(create_delta): utils.get_cookie_for_user(user) get_delta = Delta(lambda: Session.find().count()) with AssertDeltas(get_delta): utils.get_cookie_for_user(user)
def test_remove_session_for_user(self): factories.SessionFactory(user=self.user) # sanity check assert_equal(1, Session.find().count()) utils.remove_sessions_for_user(self.user) assert_equal(0, Session.find().count()) factories.SessionFactory() factories.SessionFactory(user=self.user) # sanity check assert_equal(2, Session.find().count()) utils.remove_sessions_for_user(self.user) assert_equal(1, Session.find().count())
def get_cookie_for_user(user): sessions = Session.find(Q('data.auth_user_id', 'eq', user._id)).sort('-date_modified') if sessions: session = sessions[0] else: session = Session( data={ 'auth_user_id': user._id, 'auth_user_username': user.username, 'auth_user_fullname': user.fullname, }) session.save() signer = itsdangerous.Signer(site_settings.SECRET_KEY) return signer.sign(session._id)
def get_cookie_for_user(user): sessions = Session.find( Q('data.auth_user_id', 'eq', user._id) ).sort( '-date_modified' ) if sessions: session = sessions[0] else: session = Session(data={ 'auth_user_id': user._id, 'auth_user_username': user.username, 'auth_user_fullname': user.fullname, }) session.save() signer = itsdangerous.Signer(site_settings.SECRET_KEY) return signer.sign(session._id)
def setUp(self): super(TestClearSessions, self).setUp() now = datetime.datetime.utcnow() self.dates = [ now, now - relativedelta.relativedelta(months=2), now - relativedelta.relativedelta(months=4), ] self.sessions = [Session() for _ in range(len(self.dates))] for session in self.sessions: session.save() # Manually set `date_created` fields in MongoDB. for idx, date in enumerate(self.dates): self.session_collection.update( {'_id': self.sessions[idx]._id}, {'$set': {'date_modified': date}}, ) Session._clear_caches() assert_equal( Session.find().count(), 3, )
def setUp(self): super(TestClearSessions, self).setUp() now = datetime.datetime.utcnow() self.dates = [ now, now - relativedelta.relativedelta(months=2), now - relativedelta.relativedelta(months=4), ] self.sessions = [Session() for _ in range(len(self.dates))] for session in self.sessions: session.save() # Manually set `date_created` fields in MongoDB. for idx, date in enumerate(self.dates): self.session_collection.update( {'_id': self.sessions[idx]._id}, {'$set': { 'date_modified': date }}, ) Session._clear_caches() assert_equal( Session.find().count(), 3, )
def test_clear_sessions_relative(self): clear_sessions_relative(3) assert_equal( Session.find().count(), 2, )
def test_clear_sessions(self): clear_sessions(self.dates[1]) assert_equal( Session.find().count(), 2, )
def test_remove_session(self): session = SessionFactory(user=self.user) assert_equal(1, Session.find().count()) utils.remove_session(session) assert_equal(0, Session.find().count())