def sets_object_with_dict_key(self): handler = StubHandler() manager = SessionManager(handler) manager['foo'] = 'bar' self.assertEqual(manager['foo'], 'bar')
def gets_default_value_if_provided_and_not_in_client(self): handler = StubHandler() manager = SessionManager(handler) value = manager.get('foo', 'Default') self.assertEqual(value, 'Default')
def retrieves_object_with_dict_key(self): handler = StubHandler() manager = SessionManager(handler) manager.set('foo', 'bar') self.assertEqual(manager['foo'], 'bar')
def retrieves_session_with_same_data_as_saved(self): handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', {'foo': 'bar'}) self.assertEqual(manager.get('some-object')['foo'], 'bar')
def sets_session_id_on_cookies(self): test_case = self class StubHandler(SessionMixin): settings = { 'pycket': { 'engine': 'redis', } } def get_secure_cookie(self, name): test_case.assertEqual(name, 'PYCKET_ID') self.cookie_set = True return None def set_secure_cookie(self, name, value, expires_days, expires): test_case.assertEqual(name, 'PYCKET_ID') test_case.assertIsInstance(value, str) test_case.assertGreater(len(value), 0) self.cookie_retrieved = True handler = StubHandler() session_manager = SessionManager(handler) session_manager.set('some-object', 'Some object') self.assertTrue(handler.cookie_retrieved) self.assertTrue(handler.cookie_set)
def gets_all_available_keys_from_session(self): handler = StubHandler() manager = SessionManager(handler) manager.set('foo', 'FOO') manager.set('bar', 'BAR') self.assertListEqual(sorted(manager.keys()), sorted(['foo', 'bar']))
def verifies_if_a_session_exist(self): handler = StubHandler() manager = SessionManager(handler) self.assertFalse('foo' in manager) manager['foo'] = 'bar' self.assertTrue('foo' in manager)
def deletes_item_using_command(self): handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', {'foo': 'bar'}) del manager['some-object'] self.assertIsNone(manager.get('some-object'))
def keeps_previous_items_when_setting_new_ones(self): handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', {'foo': 'bar'}) manager.set('some-object2', {'foo2': 'bar2'}) self.assertEqual(manager.get('some-object')['foo'], 'bar') self.assertEqual(manager.get('some-object2')['foo2'], 'bar2')
def still_retrieves_object_if_not_passed_from_expiration(self): handler = StubHandler() manager = SessionManager(handler) manager.set('foo', 'bar') time.sleep(1) self.assertEqual(manager.get('foo'), 'bar')
def saves_session_object_on_redis_with_same_session_id_as_cookie(self): handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', {'foo': 'bar'}) raw_session = self.client.get(handler.session_id) session = pickle.loads(raw_session) self.assertEqual(session['some-object']['foo'], 'bar')
def cannot_retrieve_object_if_passed_from_expiration(self): handler = StubHandler() manager = SessionManager(handler) manager.driver.EXPIRE_SECONDS = 1 manager.set('foo', 'bar') time.sleep(manager.driver.EXPIRE_SECONDS + 1) self.assertIsNone(manager.get('foo'))
def deletes_multiple_session_objects_at_once(self): handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', {'foo': 'bar'}) manager.set('some-object2', {'foo2': 'bar2'}) manager.delete('some-object', 'some-object2') raw_session = self.client.get(handler.session_id) session = pickle.loads(raw_session) self.assertEqual(list(session.keys()), [])
def iterates_without_method_over_keys(self): handler = StubHandler() manager = SessionManager(handler) manager.set('foo', 'FOO') manager.set('bar', 'BAR') iterations = 0 for key in manager: self.assertTrue(key in manager) iterations += 1 self.assertEqual(iterations, 2)
def uses_custom_sessions_database_if_provided(self): handler = StubHandler() handler.settings = { 'pycket': { 'engine': 'redis', 'storage': { 'db_sessions': 10, 'db_notifications': 11, } }, } manager = SessionManager(handler) manager.set('foo', 'bar') self.assertEqual( manager.driver.client.connection_pool._available_connections[0].db, 10)
def does_not_set_session_id_if_already_exists(self): class StubHandler(SessionMixin): settings = { 'pycket': { 'engine': 'redis', } } def get_secure_cookie(self, name): self.cookie_retrieved = True return 'some-id' handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', 'Some object') self.assertTrue(handler.cookie_retrieved)
def __init__(self, application, request, **kwargs): super(TornadoRequestBase, self).__init__(application, request, **kwargs) self.session = SessionManager(self) self.user = { "name": self.session.get('name', None), "user": self.session.get('user', None), "id": self.session.get('id', None), "picture_address": self.session.get('picture_address', None), "id_admin": self.session.get('id_admin', None), "type_user": self.session.get('type_user', None), "online": self.session.get('online', None), "password": self.session.get('password', None), "email": self.session.get('email', None), "message": self.session.get('message', None), "count_message": self.session.get('count_message', None) }
def sets_session_id_to_last_a_browser_session_as_default(self): test_case = self class StubHandler(SessionMixin): settings = { 'pycket': { 'engine': 'redis', } } def get_secure_cookie(self, name): return None def set_secure_cookie(self, name, value, expires_days, expires): test_case.assertIsNone(expires_days) test_case.assertIsNone(expires) handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', 'Some object')
def repasses_cookies_options(self): test_case = self class StubHandler(SessionMixin): settings = { 'pycket': { 'engine': 'redis', 'cookies': { 'foo': 'bar', } }, } def get_secure_cookie(self, name): return None def set_secure_cookie(self, *args, **kwargs): test_case.assertEqual(kwargs['foo'], 'bar') handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', 'Some object')
def uses_custom_expires_days_if_provided(self): test_case = self class StubHandler(SessionMixin): settings = { 'pycket': { 'engine': 'redis', 'cookies': { 'expires_days': 'St. Neversday', } }, } def get_secure_cookie(self, name): return None def set_secure_cookie(self, *args, **kwargs): test_case.assertEqual(kwargs['expires_days'], 'St. Neversday') handler = StubHandler() manager = SessionManager(handler) manager.set('some-object', 'Some object')
def retrieves_none_if_session_object_not_previously_set(self): handler = StubHandler() manager = SessionManager(handler) self.assertIsNone(manager.get('unexistant-object'))
def __init__(self, *args, **kwargs): super(RequestHandler, self).__init__(*args, **kwargs) self.session = SessionManager(self)
def raises_key_error_if_object_doesnt_exist(self): handler = StubHandler() manager = SessionManager(handler) manager['foo']