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