Metadata-Version: 2.0
Name: wait-response
Version: 1.0.0
Summary: Wait for some http response
Home-page: https://github.com/dvilela/wait_response
Author: dvilela
Author-email: denisxvilela@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Keywords: http response wait-for wait functional test
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: requests

Wait for some HTTP response
===========================

Written in order to make functional tests less complicated.

Retries a HTTP request until it responds as expected or reaches
the max attempt number.

------------------------------------------------------------------

Lets say we have an endpoint `http://localhost:8080/health` that give
us a json, e.g., `{ "status": "UP" }`. This script keep checking that endpoint
until it receives the `UP` status or it reaches the max number of attempts.

# Install

`pip install wait_response`

# Module

You can use a function from the module to wait for status responses.

```python
import wait_response
from wait_response import wait_response_status

# Make 2 attempts to get status=UP, trying every 1 seconds. 
respCode = wait_response_status('http://localhost:8080/health', 2, 1, 'UP')
print(respCode) # 0 if success or else, 1

```

# Script

`wait_response url [OPTIONS]`

`url` is the required endpoint, e.g., `http://localhost:8080/health`.

## Options

* `--max-attempts default=20` The max number of attempts.
* `--sleep defaul=1` Sleep time, in seconds, between checks.
* `--status default=UP` The status to wait for. E.g., `GREEN` or `YELLOW`.

# Developing

## Tests

Use `unittest`
`python -m unittest test.test_wait_response`

## Run script


