Skip to main content

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

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 details)

Uploaded Source

Built Distribution

http_test_client-0.3.2-py2.py3-none-any.whl (6.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file http_test_client-0.3.2.tar.gz.

File metadata

File hashes

Hashes for http_test_client-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c5fce02c84ceba05fcc28fc742ed73b9f9dcc1cf71c8649a91413b93c311a7b3
MD5 9a1cad65c4486c4905a1918344bd6969
BLAKE2b-256 20ac918658f2f4c83720b249965583f65ae013ec9517a9afb86ff58e191abc8c

See more details on using hashes here.

File details

Details for the file http_test_client-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for http_test_client-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 58ff645d5ee53e1d6d2560744242221982902e8d9c6733ea81d3cbfd14ab6426
MD5 29ee0b385bcb341416157c12f1cdc7df
BLAKE2b-256 db341d32dc7d4a2e28bfc616d17b85986ee022ad303cc6b4b04c69c2db0862a5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page