steps.api.utils

Submodules

Attributes

POST

GET

PUT

DELETE

Classes

Api

Request

A user-created Request object.

CloudContextHandler

Context

Functions

log_allure(→ None)

attach_swagger_link(context)

parse_nested_value(value, context)

try_read_from_variable(method, context)

try_save_value_to_variable(context, value, method)

check_expected_values_in_response(context, key, value)

Package Contents

class steps.api.utils.Api(api_type: str, url: str, swagger_file: str)[source]
OPEN_API_PATCH_KEY = '#/components/schemas/DummySchema'
OPEN_API_DUMMY_SCHEMA
api_type
url
swagger_file
schemas: dict = None
openapi = None
requests_tested
load_swagger(patch_open_api: bool = False, logger=None)[source]
get_schema_from_request(request: steps.api.utils.request.Request)[source]
get_schema(url: str, method: str, status_code: int | str)[source]
get_json_schema_exception(request) BaseException | None[source]
get_invalid_data_exception(request, invalid_data) BaseException[source]
get_request_tested_dict(request)[source]
check_schema(request, exceptions: list[BaseException])[source]
check_extra(request, success: bool, description=None)[source]
check_status(request, exception: steps.api.utils.custom_exceptions.AWrongStatus)[source]
create_all_requests_tested()[source]
steps.api.utils.POST = 'POST'[source]
steps.api.utils.GET = 'GET'[source]
steps.api.utils.PUT = 'PUT'[source]
steps.api.utils.DELETE = 'DELETE'[source]
class steps.api.utils.Request(api=None, timeout: int = 3)[source]

Bases: requests.Request

A user-created Request object.

Used to prepare a PreparedRequest, which is sent to the server.

Parameters:
  • method – HTTP method to use.

  • url – URL to send.

  • headers – dictionary of headers to send.

  • files – dictionary of {filename: fileobject} files to multipart upload.

  • data – the body to attach to the request. If a dictionary or list of tuples [(key, value)] is provided, form-encoding will take place.

  • json – json for the body to attach to the request (if files or data is not specified).

  • params – URL parameters to append to the URL. If a dictionary or list of tuples [(key, value)] is provided, form-encoding will take place.

  • auth – Auth handler or (user, pass) tuple.

  • cookies – dictionary or CookieJar of cookies to attach to this request.

  • hooks – dictionary of callback hooks, for internal usage.

Usage:

>>> import requests
>>> req = requests.Request('GET', 'https://httpbin.org/get')
>>> req.prepare()
<PreparedRequest [GET]>
api: steps.api.utils.api.Api = None
method = ''
headers
params
body
original_path_url = ''
path_parameters
path_url = ''
url = ''
log = True
timeout = 3
expected_status_code = '200'
response = None
set_header(key, value)[source]
set_body(key, value)[source]
set_param(key, value)[source]
set_authorization_header(value)[source]
set_json_content_type()[source]
set_form_content_type()[source]
set_url(path_url: str, path_parameters: dict = {})[source]
set_method(method: str)[source]
send()[source]
get_pretty_request() str[source]
get_pretty_response() str[source]
copy()[source]
class steps.api.utils.CloudContextHandler(context: behave.runner.Context)[source]
context
configure_logger(output_dir: str = '')[source]
initialize(config: dict, output_dir: str, api_file: str, users_file: str)[source]
load_config(config: dict)[source]
load_apis(api_file)[source]
class steps.api.utils.Context[source]
output_dir: str = ''
logger: logging.Logger = None
apis: dict[str, steps.api.utils.api.Api]
cloud: steps.api.cloud.Cloud = None
request: steps.api.utils.api.Request = None
response = None
steps.api.utils.log_allure(title: str, text: str) None[source]
steps.api.utils.parse_nested_value(value, context)[source]
steps.api.utils.try_read_from_variable(method: str, context)[source]
steps.api.utils.try_save_value_to_variable(context, value, method: str)[source]
steps.api.utils.check_expected_values_in_response(context, key: str, value: str)[source]