automatically setups a redis instance in a temporary directory, and destroys it after testing
Project description
testing.redis automatically setups a redis instance in a temporary directory, and destroys it after testing
Install
Use easy_install (or pip):
$ easy_install testing.redis
And testing.redis requires Redis server.
Usage
Create Redis instance using testing.redis.RedisServer:
import redis
import testing.redis
# Launch new Redis server
with testing.redis.RedisServer() as redis_server:
r = redis.Redis(**redis_server.dsn())
#
# do any tests using Redis...
#
# Redis server is terminated here
testing.redis automatically searchs for redis-server from $PATH. If you install redis to other directory, set redis_server keyword:
redis = testing.redis.RedisServer(redis_server='/path/to/your/redis-server')
testing.redis.RedisServer executes redis-server on instantiation. On deleting RedisServer object, it terminates Redis instance and removes temporary directory.
If you want a database including any fixtures for your apps, use copy_data_from keyword:
# uses a copy of specified data directory of Redis. redis = testing.redis.RedisServer(copy_data_from='/path/to/your/database')
You can specify parameters for Redis with redis_conf keyword:
# Enable appendonly mode
redis = testing.redis.RedisServer(redis_conf={'appendonly': 'yes'})
For example, you can setup new Redis server for each testcases on setUp() method:
import unittest
import testing.redis
class MyTestCase(unittest.TestCase):
def setUp(self):
self.redis = testing.redis.RedisServer()
def tearDown(self):
self.redis.stop()
Requirements
Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5
redis
License
Apache License 2.0
History
1.1.1 (2016-08-20)
Fix a bug
#1 Fix parameter handling
1.1.0 (2016-02-03)
Add timeout to server invoker
Add testing.redis.RedisServerFactory
Depend on testing.common.database package
1.0.3 (2015-04-06)
Fix bugs:
Do not call os.getpid() on destructor (if not needed)
Use absolute path for which command
1.0.2 (2014-06-19)
Add timeout on terminating redis-server
Fix bugs
1.0.1 (2014-06-11)
Fix ImportError if caught SIGINT on py3
1.0.0 (2013-12-07)
First release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file testing.redis-1.1.1.tar.gz.
File metadata
- Download URL: testing.redis-1.1.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be46aeb951589d3f25f1dc5391934582bdadc196baf6bd261d60e71991f2b4f2
|
|
| MD5 |
636cab7d38a76125e132232945ccce89
|
|
| BLAKE2b-256 |
4c95ec44df6796255562a91c6d43fe880636552d8db53875d6c6dd58de3fce16
|
File details
Details for the file testing.redis-1.1.1-py2.py3-none-any.whl.
File metadata
- Download URL: testing.redis-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f3030dd85e9d43d79d648c02ec9b08bb288ac0207bed5be4a2c9c834233d7d2
|
|
| MD5 |
225d77824398043990046e85ad7e5f56
|
|
| BLAKE2b-256 |
0fe4000149f67b8ce5f2887de37f3509a849272f3268fc4eec0f094c91844211
|