Test class for UnitTest¶
- class wooper.test_class.ApiMixin[source]¶
This class can be used as a mixin to unittest.TestCase to provide additional methods for requesting, inspecting and testing REST API services.
- server_url¶
Server URL. Will be used for constructing URL for responses.
- DELETE(*args, **kwargs)[source]¶
make a DELETE request to some URI
- Parameters:
uri (str) – URI
rest of args is the same as in requests.delete()
- GET(*args, **kwargs)[source]¶
make a GET request to some URI
- Parameters:
uri (str) – URI
rest of args is the same as in requests.get()
- HEAD(*args, **kwargs)[source]¶
make a HEAD request to some URI
- Parameters:
uri (str) – URI
rest of args is the same as in requests.head()
- PATCH(*args, **kwargs)[source]¶
make a PATCH request to some URI
- Parameters:
uri (str) – URI
data (str, list, dict) – request payload
rest of args is the same as in requests.patch()
- POST(*args, **kwargs)[source]¶
make a POST request to some URI
- Parameters:
uri (str) – URI
data (str, list, dict) – request payload
rest of args is the same as in requests.post()
- PUT(*args, **kwargs)[source]¶
make a PUT request to some URI
- Parameters:
uri (str) – URI
data (str, list, dict) – request payload
rest of args is the same as in requests.put()
- enable_ssl_verification = True¶
Enable SSL certificates’ verification (default: True)
- expect_body_contains(text)[source]¶
checks if response body contains some text
- Parameters:
text (str) – Expected text
- expect_headers(headers, partly=False)[source]¶
checks if response headers values are equal to given
- Parameters:
headers (dict) – Dict with headers and their values, like { “Header1”: “ExpectedValue1” }
partly (bool, optional) – Compare full header value or check if the value includes expected one.
- expect_headers_contain(header, value=None)[source]¶
checks if response headers contain a given header
- Parameters:
header (str) – Expected header name.
value (str, optional) – Expected header value.
- expect_json(expected_json, path=None)[source]¶
checks if json response equals some json,
- Parameters:
expected_json (str, list, dict) – JSON object to compare with
path (str, optional) – Path inside response json, separated by slashes, ie ‘foo/bar/spam’, ‘foo/[0]/bar’
- expect_json_contains(expected_json, path=None, reverse_expectation=False)[source]¶
checks if json response contains some json subset,
- Parameters:
expected_json (str, list, dict) – JSON object to compare with
path (str, optional) – Path inside response json, separated by slashes, ie ‘foo/bar/spam’, ‘foo/[0]/bar’
- expect_json_length(length, path=None)[source]¶
checks if count of objects in json response equals provided length,
- Parameters:
length (int) – Expected number of objects inside json or length of the string
path (str, optional) – Path inside response json, separated by slashes, ie ‘foo/bar/spam’, ‘foo/[0]/bar’
- expect_json_match(expected_json, path=None)[source]¶
checks if json response partly matches some json,
- Parameters:
expected_json (str, list, dict) – JSON object to compare with
path (str, optional) – Path inside response json, separated by slashes, ie ‘foo/bar/spam’, ‘foo/[0]/bar’
- expect_json_not_contains(expected_json, path=None)[source]¶
checks if json response not contains some json subset,
- Parameters:
expected_json (str, list, dict) – JSON object to compare with
path (str, optional) – Path inside response json, separated by slashes, ie ‘foo/bar/spam’, ‘foo/[0]/bar’
- expect_status(code)[source]¶
checks if response status equals given code
- Parameters:
code (int) – Expected status code
- expect_status_in(codes)[source]¶
checks if response status equals to one of the provided
- Parameters:
codes (list) – List of valid status codes
- property json_response¶
- Returns:
response as json
- Throws ValueError:
if response is not a valid json
- print_headers = False¶
Print requests’ headers during test run
- print_payload = False¶
Print payload sent to the server during test run
- print_url = False¶
Print URLs during test run