Пример #1
0
    def sets_object_with_dict_key(self):
        handler = StubHandler()
        manager = SessionManager(handler)

        manager['foo'] = 'bar'

        self.assertEqual(manager['foo'], 'bar')
Пример #2
0
    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')
Пример #3
0
    def retrieves_object_with_dict_key(self):
        handler = StubHandler()
        manager = SessionManager(handler)

        manager.set('foo', 'bar')

        self.assertEqual(manager['foo'], 'bar')
Пример #4
0
    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')
Пример #5
0
    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)
Пример #6
0
    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']))
Пример #7
0
    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)
Пример #8
0
    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'))
Пример #9
0
    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')
Пример #10
0
    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')
Пример #11
0
    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')
Пример #12
0
    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'))
Пример #13
0
    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()), [])
Пример #14
0
    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)
Пример #15
0
 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)
Пример #16
0
    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)
Пример #17
0
    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)
        }
Пример #18
0
    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')
Пример #19
0
    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')
Пример #20
0
    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')
Пример #21
0
    def retrieves_none_if_session_object_not_previously_set(self):
        handler = StubHandler()
        manager = SessionManager(handler)

        self.assertIsNone(manager.get('unexistant-object'))
Пример #22
0
 def __init__(self, *args, **kwargs):
     super(RequestHandler, self).__init__(*args, **kwargs)
     self.session = SessionManager(self)
Пример #23
0
    def raises_key_error_if_object_doesnt_exist(self):
        handler = StubHandler()
        manager = SessionManager(handler)

        manager['foo']