Exemplo n.º 1
0
 def test_dump_into_db(self):
     settings.session_valid_minutes = 1
     self.create_actor_env()
     sess_id = self.login_actor()
     sess_db = self.get_session(sess_id)
     # updating session in cache by making request
     sleep(1)
     req = {'session_id': sess_id}
     resp = self.get_api_scheme(**req)
     self.check_response_ok(resp)
     # checking update_date difference between cached and stored sessions
     sess_cache = self.mem_cache.get(sess_id.encode('utf8'))
     self.assertTrue(sess_cache.update_date > sess_db.update_date)
     # checking update_date equal in cached and stored sessions
     dump_into_db(transaction)
     sess_db = self.get_session(sess_id)
     self.assertEquals(sess_cache.update_date, sess_db.update_date)
Exemplo n.º 2
0
    def test_dump_removed_session(self):
        settings.session_valid_minutes = 1.0 / 60
        self.create_actor_env()
        sess_id = self.login_actor()
        self._remove_session(sess_id)
        # session removed from db
        self.assertRaises(SessionNotFound, self.get_session, sess_id)
        # session exists in memcache
        sess_cache = self.mem_cache.get(sess_id.encode('utf8'))
        self.assertNotEqual(None, sess_cache)
        # dumping removed session
        dump_into_db(transaction)
        # session expiration pause
        sleep(settings.session_valid_minutes * 60)

        # checking results
        # session removed from db
        self.assertRaises(SessionNotFound, self.get_session, sess_id)
        # session not exists in memcache
        sess_cache = self.mem_cache.get(sess_id.encode('utf8'))
        self.assertEqual(None, sess_cache)
Exemplo n.º 3
0
def run():
    while True:
        dump_into_db(transaction)
        logger.debug('Sleeping %s minutes', settings.session_dump_to_db_minutes)
        sleep(settings.session_dump_to_db_minutes * 60)