Esempio n. 1
0
 def test_session_storage(self):
   cache = ClientCache(AESCipher('12345678901234561234567890123456'), '12345678901234561234567890123456')
   user_id = '*****@*****.**'
   expires = time() + 1000.0
   session_id = TotoSession.generate_id()
   session_data = {'session_id': session_id, 'expires': expires, 'user_id': user_id}
   session = TotoSession(None, session_data)
   session.session_id = session_id
   self.assertEqual(session.session_id, session_id)
   self.assertEqual(session.user_id, user_id)
   self.assertEqual(session.expires, expires)
   session['int'] = 1268935
   session['float'] = 92385.03
   session['str'] = 'some test'
   session_data = session.session_data()
   session_id = cache.store_session(session_data)
   new_session_data = cache.load_session(session_id)
   new_session = TotoSession(None, new_session_data)
   del session_data['session_id']
   del new_session_data['session_id']
   self.assertEquals(new_session_data, session_data)
   self.assertEqual(new_session.session_id, session_id)
   self.assertEqual(new_session['int'], 1268935)
   self.assertEqual(new_session['float'], 92385.03)
   self.assertEqual(new_session['str'], 'some test')
   self.assertEqual(new_session.user_id, user_id)
   self.assertEqual(new_session.expires, expires)
Esempio n. 2
0
 def test_data_storage(self):
   user_id = '*****@*****.**'
   expires = time() + 1000.0
   session_id = TotoSession.generate_id()
   session_data = {'session_id': session_id, 'expires': expires, 'user_id': user_id}
   session = TotoSession(None, session_data)
   self.assertEqual(session.session_id, session_id)
   self.assertEqual(session.user_id, user_id)
   self.assertEqual(session.expires, expires)
   session['int'] = 1268935
   session['float'] = 92385.03
   session['str'] = 'some test'
   self.assertEqual(session['int'], 1268935)
   self.assertEqual(session['float'], 92385.03)
   self.assertEqual(session['str'], 'some test')
Esempio n. 3
0
 def test_clone(self):
   user_id = '*****@*****.**'
   expires = time() + 1000.0
   session_id = TotoSession.generate_id()
   session_data = {'session_id': session_id, 'expires': expires, 'user_id': user_id}
   session = TotoSession(None, session_data)
   session['int'] = 1268935
   session['float'] = 92385.03
   session['str'] = 'some test'
   new_session = TotoSession(None, session.session_data())
   self.assertEqual(new_session.session_id, session_id)
   self.assertEqual(new_session.user_id, user_id)
   self.assertEqual(new_session.expires, expires)
   self.assertEqual(new_session['int'], 1268935)
   self.assertEqual(new_session['float'], 92385.03)
   self.assertEqual(new_session['str'], 'some test')
Esempio n. 4
0
 def test_session_storage(self):
     cache = ClientCache(AESCipher('12345678901234561234567890123456'),
                         '12345678901234561234567890123456')
     user_id = '*****@*****.**'
     expires = time() + 1000.0
     session_id = TotoSession.generate_id()
     session_data = {
         'session_id': session_id,
         'expires': expires,
         'user_id': user_id
     }
     session = TotoSession(None, session_data)
     session.session_id = session_id
     self.assertEqual(session.session_id, session_id)
     self.assertEqual(session.user_id, user_id)
     self.assertEqual(session.expires, expires)
     session['int'] = 1268935
     session['float'] = 92385.03
     session['str'] = 'some test'
     session_data = session.session_data()
     session_id = cache.store_session(session_data)
     new_session_data = cache.load_session(session_id)
     new_session = TotoSession(None, new_session_data)
     del session_data['session_id']
     del new_session_data['session_id']
     self.assertEquals(new_session_data, session_data)
     self.assertEqual(new_session.session_id, session_id)
     self.assertEqual(new_session['int'], 1268935)
     self.assertEqual(new_session['float'], 92385.03)
     self.assertEqual(new_session['str'], 'some test')
     self.assertEqual(new_session.user_id, user_id)
     self.assertEqual(new_session.expires, expires)
Esempio n. 5
0
 def test_serialization(self):
   user_id = '*****@*****.**'
   expires = time() + 1000.0
   session_id = TotoSession.generate_id()
   session_data = {'session_id': session_id, 'expires': expires, 'user_id': user_id}
   session = TotoSession(None, session_data)
   session['int'] = 1268935
   session['float'] = 92385.03
   session['str'] = 'some test'
   data = TotoSession.dumps(session.session_data())
   new_session = TotoSession(None, TotoSession.loads(data))
   self.assertEqual(new_session.session_id, session_id)
   self.assertEqual(new_session.user_id, user_id)
   self.assertEqual(new_session.expires, expires)
   self.assertEqual(new_session['int'], 1268935)
   self.assertEqual(new_session['float'], 92385.03)
   self.assertEqual(new_session['str'], 'some test')
Esempio n. 6
0
 def create_session(self, user_id=None, password=None, verify_password=True):
   '''Create a new session for the given user id and password (or an anonymous session if ``user_id`` is ``None``).
   After this method is called, the session will be available via ``self.session``. As with the
   ``db_connection.create_session()`` method, you may pass ``verify_password=False`` to create a session without
   checking the password. This can be used to implement alternative authentication methods like Facebook, Twitter
   and Google+.
   '''
   self.session = self.db_connection.create_session(user_id, password, verify_password, key=options.hmac_enabled and TotoSession.generate_id())
   return self.session
Esempio n. 7
0
 def create_session(self, user_id=None, password=None, verify_password=True):
   '''Create a new session for the given user id and password (or an anonymous session if ``user_id`` is ``None``).
   After this method is called, the session will be available via ``self.session``. As with the
   ``db_connection.create_session()`` method, you may pass ``verify_password=False`` to create a session without
   checking the password. This can be used to implement alternative authentication methods like Facebook, Twitter
   and Google+.
   '''
   self.session = self.db_connection.create_session(user_id, password, verify_password, key=options.hmac_enabled and TotoSession.generate_id())
   return self.session
Esempio n. 8
0
 def test_set_serializer(self):
   session = {'session_id': TotoSession.generate_id(), 'expires': time() + 1000.0, 'user_id': '*****@*****.**'}
   TotoSession.set_serializer(pickle)
   pickle_serialized = TotoSession.dumps(session)
   self.assertTrue(isinstance(pickle_serialized, str))
   TotoSession.set_serializer(json)
   json_serialized = TotoSession.dumps(session)
   self.assertTrue(isinstance(json_serialized, str))
   self.assertNotEqual(pickle_serialized, json_serialized)
   TotoSession.set_serializer(pickle)
   self.assertEqual(TotoSession.loads(pickle_serialized), session)
   TotoSession.set_serializer(json)
   self.assertEqual(TotoSession.loads(json_serialized), session)
Esempio n. 9
0
 def test_generate_id(self):
   session_id = TotoSession.generate_id()
   self.assertEqual(len(session_id), SESSION_ID_LENGTH)
   url_safe = urllib.quote_plus(session_id)
   self.assertEqual(session_id, url_safe)
Esempio n. 10
0
 def test_set_serializer(self):
   session = {'session_id': TotoSession.generate_id(), 'expires': time() + 1000.0, 'user_id': '*****@*****.**'}
   TotoSession.set_serializer(pickle)
   pickle_serialized = TotoSession.dumps(session)
   self.assertTrue(isinstance(pickle_serialized, str))
   TotoSession.set_serializer(json)
   json_serialized = TotoSession.dumps(session)
   self.assertTrue(isinstance(json_serialized, str))
   self.assertNotEqual(pickle_serialized, json_serialized)
   TotoSession.set_serializer(pickle)
   self.assertEqual(TotoSession.loads(pickle_serialized), session)
   TotoSession.set_serializer(json)
   self.assertEqual(TotoSession.loads(json_serialized), session)
Esempio n. 11
0
 def test_generate_id(self):
   session_id = TotoSession.generate_id()
   self.assertEqual(len(session_id), SESSION_ID_LENGTH)
   url_safe = urllib.quote_plus(session_id)
   self.assertEqual(session_id, url_safe)