-
Notifications
You must be signed in to change notification settings - Fork 126
/
Copy pathmock_responses.py
34 lines (29 loc) · 939 Bytes
/
mock_responses.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""Simple mock responses definitions."""
from unittest import mock
class MockResponse:
"""Class for mock request response."""
def __init__(
self,
json_data,
status_code,
headers={},
raw_data=None,
raise_error=None,
):
"""Initialize mock get response."""
self.json_data = json_data
self.status = status_code
self.raw_data = raw_data
self.reason = "foobar"
self.headers = headers
self.read = mock.AsyncMock(return_value=self.raw_data)
self.raise_error = raise_error
self.text = mock.AsyncMock(return_vlaue="some text")
async def json(self):
"""Return json data from get_request."""
if self.raise_error:
raise self.raise_error("I'm broken", "")
return self.json_data
def get(self, name):
"""Return field for json."""
return self.json_data[name]