diff --git a/gluon/tests/test_redis.py b/gluon/tests/test_redis.py index ce7dc3b7..ff6dfd11 100644 --- a/gluon/tests/test_redis.py +++ b/gluon/tests/test_redis.py @@ -17,44 +17,34 @@ from gluon.contrib.redis_session import RedisSession from gluon.contrib.redis_cache import RedisCache -def setup_clean_session(): - request = Request(env={}) - request.application = 'a' - request.controller = 'c' - request.function = 'f' - request.folder = 'applications/admin' - response = Response() - session = Session() - session.connect(request, response) - from gluon.globals import current - current.request = request - current.response = response - current.session = session - return current - - -def setUpModule(): - pass - - -def tearDownModule(): - if os.path.isfile('appconfig.json'): - os.unlink('appconfig.json') - - class TestRedis(unittest.TestCase): """ Tests the Redis contrib packages """ + def setUp(self): + request = Request(env={}) + request.application = 'a' + request.controller = 'c' + request.function = 'f' + request.folder = 'applications/admin' + response = Response() + session = Session() + session.connect(request, response) + from gluon.globals import current + current.request = request + current.response = response + current.session = session + self.current = current + rconn = RConn(host='redis') + self.db = RedisSession(redis_conn=rconn, session_expiry=False) + self.tname = 'testtablename' + return current def test_0_redis_session(self): """ Basic redis read-write """ - current = setup_clean_session() - response = current.response - rconn = RConn(host='localhost') - db = RedisSession(redis_conn=rconn, session_expiry=False) - tname = 'testtablename' + db = self.db + response = self.current.response Field = db.Field db.define_table( - tname, + self.tname, Field('locked', 'boolean', default=False), Field('client_ip', length=64), Field('created_datetime', 'datetime', @@ -63,7 +53,7 @@ class TestRedis(unittest.TestCase): Field('unique_key', length=64), Field('session_data', 'blob'), ) - table = db[tname] + table = db[self.tname] unique_key = web2py_uuid() dd = dict( locked=0, @@ -81,6 +71,10 @@ class TestRedis(unittest.TestCase): data_from_db = db(table.id == record_id).select()[0] self.assertDictEqual(Storage(dd), data_from_db, 'get the updated value') + def test_1_redis_delete(self): + """ Redis session get and delete sessions """ + db = self.db + table = db[self.tname] all_sessions = db(table.id > 0).select() self.assertIsNotNone(all_sessions, 'we must have some keys in db') @@ -90,3 +84,4 @@ class TestRedis(unittest.TestCase): empty_sessions = db(table.id > 0).select() self.assertEqual(empty_sessions, [], 'no sessions left') +