Metadata-Version: 1.1
Name: testing.redis
Version: 1.1.1
Summary: automatically setups a redis instance in a temporary directory, and destroys it after testing
Home-page: https://github.com/tk0miya/testing.redis
Author: Takeshi Komiya
Author-email: i.tkomiya at gmail.com
License: Apache License 2.0
Description: ``testing.redis`` automatically setups a redis instance in a temporary directory, and destroys it after testing
        
        .. image:: https://travis-ci.org/tk0miya/testing.redis.svg?branch=master
           :target: https://travis-ci.org/tk0miya/testing.redis
        
        .. image:: https://coveralls.io/repos/tk0miya/testing.redis/badge.png?branch=master
           :target: https://coveralls.io/r/tk0miya/testing.redis?branch=master
        
        .. image:: https://codeclimate.com/github/tk0miya/testing.redis/badges/gpa.svg
           :target: https://codeclimate.com/github/tk0miya/testing.redis
        
        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
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Database
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Testing
