Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

http-test-client

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._client.request(self._url + '/search', data={'query': query})

    class Resource(RestResources.Resource):
        def publish(self):
            return self._client.request(self._url + '/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.

About

Library to simplify writing HTTP REST service integration tests

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages