Testing TCP program, following the Perl's Test::TCP include memcached and redis test server.
Project description
tcptest is following Perl’s “Test::TCP”.
It has the methods like original one, but also has another TestServer implementation.
This package also includes memcached and redis test server support.
SYNOPSIS
import tcptest.memcached
import tcptest.redis
import tcptest.fluentd
# with context
with tcptest.memcached.Server() as server:
memd = memcache.Client(['127.0.0.1:%d' % server.port])
...
with tcptest.redis.Server() as server:
db = redis.Redis(host='127.0.0.1', port=server.port, db=0)
...
with tcptest.fluentd.Server() as server:
import fluentd.sender
import fluentd.event
fluent.sender.setup('app', port=server.port)
fluent.event.Event('follow', {'foo': 'bar'})
fluent.event.Event('label', {'hoge': 'fuga'})
print server.logs
# [('app.follow:', {u'foo': u'bar'}), ('app.label:', {u'hoge': u'fuga'})]
# manually handling
server = tcptest.memcached.Server()
server.start()
...
server.stop()
TIPS
custom server
import tcptest
class YourTestServer(tcptest.TestServer):
def build_command(self):
return ('your server command', 'arg1', 'arg2', ...)
with YourTestServer() as server:
# your server works on server.port
...
capture server outputs
import tcptest.redis
res = {}
with tcptest.redis.Server(res=res) as server:
...
stdout = res['stdout']
stderr = res['stderr']
redis options
import tcptest.redis
with tcptest.redis.Server(settings=dict(databases=4)) as server:
...
redis replication
import tcptest.redis
master = tcptest.redis.Server()
master.start()
slave_settings = {'slaveof': 'localhost %d' % master.port}
slave = tcptest.redis.Server(settings=slave_settings)
slave.start()
SEE ALSO
CHANGES
0.6.0 - 2015/10/29
Support Python3 (thanks ikegami-yukino)
Improve redis-server port reserve, to support redis cluster
0.5.0 - 2015/06/12
Improve error handling (thanks okamuuu)
0.4.0 - 2014/04/05
Support fluentd test server
0.3.0 - 2014/01/28
- Update tcptest.redis
pass command args instead of conf file (require redis-server 2.6 or later)
cannot overwrite the server port
0.2.4 - 2013/07/16
- Fix pip installation
Add MANIFEST.in
0.2.1-3 - 2013/05/27
Maintain setup.py and docs
0.2.0 - 2013/05/21
Support Redis test server
0.1.0 - 2013/05/21
First release
Travis
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tcptest-0.6.0.tar.gz
.
File metadata
- Download URL: tcptest-0.6.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
155f2f882c25212c7f7543b96aa0140e14695e5ac6c17ae49f045938b6608534
|
|
MD5 |
cc60c943e637c58023d5644aa8aa99e4
|
|
BLAKE2b-256 |
1523f23983ada4db578629e5a85e75286c1f4b442db39cd70647396941474fed
|