The library to help test your HTTP requests using unittests
Project description
Requests-Asserts
The decorator and context manager to mock and verify HTTP requests made by requests library for unittest.
How to install
pip install requests-asserts
How to use
Make a list of RequestMock elements that contain all information about the expected request and response.
Use RequestMock.assert_requests(request_mocks) with the list as a decorator or context manager.
Example
import requests
from unittests import TestCase
def get_likes_on_post(username, password, post_id):
access_token = requests.post(
'http://my.site/login',
json={'username': username, 'password': password}
).json()['access_token']
likes = requests.get(
f'http://my.site/posts/{post_id}',
headers={
'Accept': 'application/json',
'Authorization': f'Bearer {access_token}'
}
).json()['likes']
return likes
class TestGetLikesOnPost(TestCase):
@RequestMock.assert_requests([
RequestMock(
request_url='http://my.site/login',
request_json={'username': 'the name', 'password': 'the password'},
request_method=RequestMock.Method.POST,
response_json={"access_token": 'the-token'}
),
RequestMock(
request_url='http://my.site/posts/3',
request_headers_contains={'Authorization': 'Bearer the-token'},
response_json={'name': 'The cool story', 'likes': 42}
)
])
def test_get_likes_on_post(self):
self.assertEqual(42, get_likes_on_post('the name', 'the password', 3))
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file requests-asserts-0.1.3.tar.gz.
File metadata
- Download URL: requests-asserts-0.1.3.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.7 CPython/3.6.14 Linux/4.15.0-1106-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9905605c6c4f23ae36a8882836506bb7fb55c2c43414a7524b68e5a24b9e0841
|
|
| MD5 |
c2641dc1808354e25b31a0acea395db0
|
|
| BLAKE2b-256 |
118a3485cd37e9218d477e505b4b8da8463249b7fa310b206606670f900af632
|
File details
Details for the file requests_asserts-0.1.3-py3-none-any.whl.
File metadata
- Download URL: requests_asserts-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.7 CPython/3.6.14 Linux/4.15.0-1106-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24db52fc09f4185e3a95535c6e24f682f071cb253b034534ab3f757506c751d2
|
|
| MD5 |
76918fac135ca2e285b0a59667630dc9
|
|
| BLAKE2b-256 |
20d5c418381bb4ec5fc7745e1ceab9130cc893917e0b553c83f4ac67752d95a9
|