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
requests-asserts-0.1.3.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for requests_asserts-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24db52fc09f4185e3a95535c6e24f682f071cb253b034534ab3f757506c751d2 |
|
MD5 | 76918fac135ca2e285b0a59667630dc9 |
|
BLAKE2b-256 | 20d5c418381bb4ec5fc7745e1ceab9130cc893917e0b553c83f4ac67752d95a9 |