Library to simplify writing HTTP REST service integration tests
Project description
Library to simplify writing HTTP REST service integration tests.
Allows to build a HTTP REST client with automatic resource cleanup.
Example
from http_test_client import Client, HttpTransport, RestResources, resources
class ArticleResources(RestResources):
def search(self, query):
return self._request('/search', method='POST', data={'query': query})
class Resource(RestResources.Resource):
def publish(self):
return self._request('/publish', method='POST')
comments = resources('/comments')
class MyClient(Client):
users = resources('/users')
articles = resources('/articles', ArticleResources)
client = MyClient(HttpTransport('http://localhost:8888'))
# managing resources
client.users.list() # => [{'id': '1', 'name': 'John'}, ...]
client.users.create({'name': 'Jane'}) # => {'id': '2'}
client.users['1'].get() # => {'id': '1', 'name': 'John'}
client.users['1'].delete()
# delete all resources that were created during this client session
client.cleanup()
# custom action
client.articles['123'].publish()
# nested resources
client.articles['123'].comments.list()
Installation
$ pip install http-test-client
Requirements
Python >= 2.7 and <= 3.6
requests >= 2.14
six >= 1.10
Project Links
License
MIT licensed. See the bundled LICENSE file for more details.
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
http_test_client-0.3.2.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for http_test_client-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58ff645d5ee53e1d6d2560744242221982902e8d9c6733ea81d3cbfd14ab6426 |
|
MD5 | 29ee0b385bcb341416157c12f1cdc7df |
|
BLAKE2b-256 | db341d32dc7d4a2e28bfc616d17b85986ee022ad303cc6b4b04c69c2db0862a5 |