automatically setups a cassandra instance in a temporary directory, and destroys it after testing
Project description
testing.cassandra automatically setups a cassandra instance in a temporary directory, and destroys it after testing
Install
Use easy_install (or pip):
$ easy_install testing.cassandra
And testing.cassandra requires Cassandra server.
Usage
Create Cassandra instance using testing.cassandra.Cassandra:
import pycassa import testing.cassandra # Launch new Cassandra server with testing.cassandra.Cassandra as cassandra: conn = pycassa.pool.ConnectionPool('test', cassandra.server_list()) # # do any tests using Cassandra... # # Cassandra server is terminated here
testing.cassandra automatically searchs for cassandra files in /usr/local/. If you install cassandra to other directory, set cassandra_home keyword:
# uses a copy of specified data directory of Cassandra. cassandra = testing.cassandra.Cassandra(copy_data_from='/path/to/your/database')
testing.cassandra.Cassandra executes cassandra on instantiation. On deleting Cassandra object, it terminates Cassandra instance and removes temporary directory.
If you want a database including column families and any fixtures for your apps, use copy_data_from keyword:
# uses a copy of specified data directory of Cassandra. cassandra = testing.cassandra.Cassandra(copy_data_from='/path/to/your/database')
You can specify parameters for Cassandra with cassandra_yaml keyword:
# boot Cassandra server listens on 12345 port cassandra = testing.cassandra.Cassandra(cassandra_yaml={'rpc_port': 12345})
For example, you can setup new Cassandra server for each testcases on setUp() method:
import unittest import testing.cassandra class MyTestCase(unittest.TestCase): def setUp(self): self.cassandra = testing.cassandra.Cassandra() def tearDown(self): self.cassandra.stop()
Requirements
Cassandra 1.1, 1.2, 2.0
Python 2.6, 2.7
pycassa
PyYAML
License
Apache License 2.0
History
1.1.4 (2015-04-06)
Fix bugs:
Do not call os.getpid() on destructor (if not needed)
Use absolute path for which command
1.1.3 (2014-06-19)
Add timeout on terminating cassandra
Fix bugs
1.1.2 (2014-06-11)
Fix ImportError if caught SIGINT on py3
1.1.1 (2013-12-06)
Suport Cassandra 2.0.x
Fix Cassandra#stop() causes OSError (at destructing object)
1.1.0 (2013-12-06)
Support Cassandra 1.2.x
Support python 2.6
Add cassandra.skipIfNotInstalled decorator
Change behavior: Cassandra#stop() cleans workdir
Fix workdir does not removed if cassandra does not started
1.0.0 (2013-10-17)
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
File details
Details for the file testing.cassandra-1.1.4.tar.gz
.
File metadata
- Download URL: testing.cassandra-1.1.4.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6460f1adf65f721c23f3f70ffe58e0ca41c1819d103fd8419fb48aca6bc60f5 |
|
MD5 | 5c38d3f3d156b6f88953e953f7d39eec |
|
BLAKE2b-256 | 30926a2fc1f83cef8fe181f2d167d72b74c246a44abf528dc9ff8ba34a515e80 |
File details
Details for the file testing.cassandra-1.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: testing.cassandra-1.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f2467998c3499eb3e84c1fa1866a0f85f6ecf6476f44fe3e6197f67604d897e |
|
MD5 | a9d2c69ce89222067ee769e5c93433a7 |
|
BLAKE2b-256 | 8a909e55b46926130ee55e35cdd86a7a516583df17d8cb9d891e29e6523466b7 |