Helpers¶
Molotov provides a few helpers to make it easier to write tests.
Global variables¶
If you need to use an object in various test fixtures or tests,
you can use the set_var()
and get_var()
functions.
- molotov.set_var(name, value)¶
Sets a global variable.
Options:
name: name of the variable
value: object to set
- molotov.get_var(name, factory=None)¶
Gets a global variable given its name.
If factory is not None and the variable is not set, factory is a callable that will set the variable.
If not set, returns None.
Synchronous requests¶
If you need to perform synchronous requests in your setup:
- molotov.request(endpoint, verb='GET', session_options=None, **options)¶
Performs a synchronous request.
Uses a dedicated event loop and aiohttp.ClientSession object.
Options:
endpoint: the endpoint to call
verb: the HTTP verb to use (defaults: GET)
session_options: a dict containing options to initialize the session (defaults: None)
options: extra options for the request (defaults: None)
Returns a dict object with the following keys:
content: the content of the response
status: the status
headers: a dict with all the response headers
- molotov.json_request(endpoint, verb='GET', session_options=None, **options)¶
Like
molotov.request()
but extracts json from the response.
from molotov import global_setup, json_request, set_var
@global_setup(args)
def _setup():
set_var('token', json_request('http://example.com')['content'])