一组用于python开发的通用实用程序类和帮助函数。
generic-utils的Python项目详细描述
package |
---|
一组用于python开发的通用实用程序类和帮助函数。
泛型实用程序是一组泛型python实用程序,当前目标是 没有其他必需依赖项的Python2.7.x环境。守则 以通用生产代码和测试实用程序为目标,以便 更容易测试生成、管理和复杂性。
此库目前不打算对 尽管要提供更强大的python支持以及 一般文件和维护,但已成功用于生产 规定环境内的环境。
安装
pip install generic_utils
开发
将需求安装到本地虚拟机中:
virtualenv env env/bin/pip install -e ".[html,cassandra,celery_test,test_utils]"
此项目需要可用的cassandra和redis主机才能运行完整的测试套件。
redis设置:
docker run -d --name test-redis -p 6379:6379 -v /path/to/storage/redis:/data redis
连接到容器:
$ docker exec -i -t test-redis /bin/bash $ root@7a3377df67f0:/data# redis-cli 127.0.0.1:6379> SET __THIS_IS_A_TEST_INSTANCE__ True OK 127.0.0.1:6379> exit
卡桑德拉设置:
$ docker run --name test-cassandra -d -p 9042:9042 -p 7000:7000 -v /path/to/storage/cassandra:/var/lib/cassandra cassandra:3.0
连接到容器:
$ docker exec -i -t test-cassandra /bin/bash
打开cqlsh并创建python实用程序测试键空间:
$ cqlsh > CREATE KEYSPACE python_utils_test WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1} AND DURABLE_WRITES = true;
在tests/local_settings.py中配置Cassandra集群(不在版本控制中)。将值替换为适当的 环境价值:
CQLENGINE = { "TEST_CLUSTER": { ConfigKey.CONTACT_POINTS: get_config_value("TEST_CASSANDRA_CONTACT_POINTS", default=["localhost"]), ConfigKey.KEYSPACE: get_config_value("TEST_CASSANDRA_KEYSPACE", "python_utils_test"), ConfigKey.PORT: get_config_value("TEST_CASSANDRA_PORT", default=9042), ConfigKey.USERNAME: get_config_value("TEST_CASSANDRA_USERNAME", default=""), ConfigKey.PASSWORD: get_config_value("TEST_CASSANDRA_PASSWORD", default=""), ConfigKey.DEFAULT_TIMEOUT: EXPLICTLY_NOT_10_SECONDS_TIMEOUT } }
运行测试套件:
nosetests tests
或者,使用毒物:
tox