userver: pytest_userver.client.Client Class Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
pytest_userver.client.Client Class Reference

Detailed Description

Asyncio userver client, typically retrieved from plugins.service_client.service_client fixture.

Compatible with werkzeug interface.

Definition at line 1115 of file client.py.

+ Inheritance diagram for pytest_userver.client.Client:

Public Member Functions

 run_periodic_task (self, name)
 
None suspend_periodic_tasks (self, typing.List[str] names)
 
None resume_periodic_tasks (self, typing.List[str] names)
 
None resume_all_periodic_tasks (self)
 
None write_cache_dumps (self, typing.List[str] names, *, testsuite_skip_prepare=False)
 
None read_cache_dumps (self, typing.List[str] names, *, testsuite_skip_prepare=False)
 
None run_task (self, str name)
 
None run_distlock_task (self, str name)
 
None reset_metrics (self)
 Calls ResetMetric(metric); for each metric that has such C++ function.
 
typing.Dict[str, typing.List[typing.Dict[str, str]]] metrics_portability (self, *, typing.Optional[str] prefix=None)
 Reports metrics related issues that could be encountered on different monitoring systems.
 
typing.List[str] list_tasks (self)
 
 spawn_task (self, str name)
 
 capture_logs (self, *, str log_level='DEBUG', bool testsuite_skip_prepare=False)
 Captures logs from the service.
 
 log_flush (self, typing.Optional[str] logger_name=None)
 Flush service logs.
 
None invalidate_caches (self, *, bool clean_update=True, typing.Optional[typing.List[str]] cache_names=None, bool testsuite_skip_prepare=False)
 Send request to service to update caches.
 
typing.Dict[str, typing.Any] tests_control (self, bool invalidate_caches=True, bool clean_update=True, typing.Optional[typing.List[str]] cache_names=None, typing.Optional[typing.List[str]] http_allowed_urls_extra=None)
 
None update_server_state (self)
 Update service-side state through http call to 'tests/control':
 
None enable_testpoints (self, bool no_auto_cache_cleanup=False)
 Send list of handled testpoint pats to service.
 
typing.Dict[str, typing.Any] get_dynamic_config_defaults (self)
 
http.ClientResponse post (self, str path, JsonAnyOptional json=None, typing.Any data=None, typing.Optional[typing.Dict[str, str]] params=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, typing.Optional[typing.Dict[str, str]] headers=None, **kwargs)
 Make a HTTP POST request.
 
http.ClientResponse put (self, path, JsonAnyOptional json=None, typing.Any data=None, typing.Optional[typing.Dict[str, str]] params=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, typing.Optional[typing.Dict[str, str]] headers=None, **kwargs)
 Make a HTTP PUT request.
 
http.ClientResponse patch (self, path, JsonAnyOptional json=None, typing.Any data=None, typing.Optional[typing.Dict[str, str]] params=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, typing.Optional[typing.Dict[str, str]] headers=None, **kwargs)
 Make a HTTP PATCH request.
 
http.ClientResponse get (self, str path, typing.Optional[typing.Dict[str, str]] headers=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, **kwargs)
 Make a HTTP GET request.
 
http.ClientResponse delete (self, str path, typing.Optional[typing.Dict[str, str]] headers=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, **kwargs)
 Make a HTTP DELETE request.
 
http.ClientResponse options (self, str path, typing.Optional[typing.Dict[str, str]] headers=None, typing.Optional[str] bearer=None, typing.Optional[str] x_real_ip=None, **kwargs)
 Make a HTTP OPTIONS request.
 
http.ClientResponse request (self, str http_method, str path, **kwargs)
 Make a HTTP request with the specified method.
 
 raw_aiohttp_client (self)
 

Static Public Attributes

 PeriodicTaskFailed = PeriodicTaskFailed
 
 TestsuiteActionFailed = TestsuiteActionFailed
 
 TestsuiteTaskNotFound = TestsuiteTaskNotFound
 
 TestsuiteTaskConflict = TestsuiteTaskConflict
 
 TestsuiteTaskFailed = TestsuiteTaskFailed
 

Protected Member Functions

typing.Awaitable[http.ClientResponse] _wrap_client_response (self, aiohttp.ClientResponse response)
 

Protected Attributes

 _client = client
 

Member Function Documentation

◆ _wrap_client_response()

typing.Awaitable[http.ClientResponse] pytest_userver.client.Client._wrap_client_response ( self,
aiohttp.ClientResponse response )
protected

Reimplemented from pytest_userver.client.ClientWrapper.

Definition at line 1132 of file client.py.

◆ capture_logs()

pytest_userver.client.Client.capture_logs ( self,
* ,
str log_level = 'DEBUG',
bool testsuite_skip_prepare = False )

Captures logs from the service.

Parameters
log_levelDo not capture logs below this level.
testsuite_skip_prepareAn advanced parameter to skip auto-update_server_state.
See also
testsuite_logs_capture

Definition at line 1212 of file client.py.

◆ delete()

http.ClientResponse pytest_userver.client.ClientWrapper.delete ( self,
str path,
typing.Optional[typing.Dict[str, str]] headers = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
** kwargs )
inherited

Make a HTTP DELETE request.

Definition at line 213 of file client.py.

◆ enable_testpoints()

None pytest_userver.client.Client.enable_testpoints ( self,
bool no_auto_cache_cleanup = False )

Send list of handled testpoint pats to service.

For these paths service will no more skip http calls from TESTPOINT(...) macro.

Parameters
no_auto_cache_cleanupprevent automatic cache cleanup. When calling service client first time in scope of current test, client makes additional http call to tests/control to update caches, to get rid of data from previous test.

Definition at line 1290 of file client.py.

◆ get()

http.ClientResponse pytest_userver.client.ClientWrapper.get ( self,
str path,
typing.Optional[typing.Dict[str, str]] headers = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
** kwargs )
inherited

Make a HTTP GET request.

Definition at line 193 of file client.py.

◆ get_dynamic_config_defaults()

typing.Dict[str, typing.Any] pytest_userver.client.Client.get_dynamic_config_defaults ( self)

Definition at line 1303 of file client.py.

◆ invalidate_caches()

None pytest_userver.client.Client.invalidate_caches ( self,
* ,
bool clean_update = True,
typing.Optional[typing.List[str]] cache_names = None,
bool testsuite_skip_prepare = False )

Send request to service to update caches.

Parameters
clean_updateif False, service will do a faster incremental update of caches whenever possible.
cache_nameswhich caches specifically should be updated; update all if None.
testsuite_skip_prepareif False, service will automatically do update_server_state().

Definition at line 1238 of file client.py.

◆ list_tasks()

typing.List[str] pytest_userver.client.Client.list_tasks ( self)

Definition at line 1206 of file client.py.

◆ log_flush()

pytest_userver.client.Client.log_flush ( self,
typing.Optional[str] logger_name = None )

Flush service logs.

Definition at line 1231 of file client.py.

◆ metrics_portability()

typing.Dict[str, typing.List[typing.Dict[str, str]]] pytest_userver.client.Client.metrics_portability ( self,
* ,
typing.Optional[str] prefix = None )

Reports metrics related issues that could be encountered on different monitoring systems.

See also
utils.statistics.GetPortabilityWarnings

Definition at line 1193 of file client.py.

◆ options()

http.ClientResponse pytest_userver.client.ClientWrapper.options ( self,
str path,
typing.Optional[typing.Dict[str, str]] headers = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
** kwargs )
inherited

Make a HTTP OPTIONS request.

Definition at line 233 of file client.py.

◆ patch()

http.ClientResponse pytest_userver.client.ClientWrapper.patch ( self,
path,
JsonAnyOptional json = None,
typing.Any data = None,
typing.Optional[typing.Dict[str, str]] params = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
typing.Optional[typing.Dict[str, str]] headers = None,
** kwargs )
inherited

Make a HTTP PATCH request.

Definition at line 166 of file client.py.

◆ post()

http.ClientResponse pytest_userver.client.ClientWrapper.post ( self,
str path,
JsonAnyOptional json = None,
typing.Any data = None,
typing.Optional[typing.Dict[str, str]] params = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
typing.Optional[typing.Dict[str, str]] headers = None,
** kwargs )
inherited

Make a HTTP POST request.

Definition at line 112 of file client.py.

◆ put()

http.ClientResponse pytest_userver.client.ClientWrapper.put ( self,
path,
JsonAnyOptional json = None,
typing.Any data = None,
typing.Optional[typing.Dict[str, str]] params = None,
typing.Optional[str] bearer = None,
typing.Optional[str] x_real_ip = None,
typing.Optional[typing.Dict[str, str]] headers = None,
** kwargs )
inherited

Make a HTTP PUT request.

Definition at line 139 of file client.py.

◆ raw_aiohttp_client()

pytest_userver.client.ClientWrapper.raw_aiohttp_client ( self)
inherited
Deprecated
Use pytest_userver.client.Client directly instead.

Definition at line 266 of file client.py.

◆ read_cache_dumps()

None pytest_userver.client.Client.read_cache_dumps ( self,
typing.List[str] names,
* ,
testsuite_skip_prepare = False )

Definition at line 1170 of file client.py.

◆ request()

http.ClientResponse pytest_userver.client.ClientWrapper.request ( self,
str http_method,
str path,
** kwargs )
inherited

Make a HTTP request with the specified method.

Definition at line 253 of file client.py.

◆ reset_metrics()

None pytest_userver.client.Client.reset_metrics ( self)

Calls ResetMetric(metric); for each metric that has such C++ function.

Definition at line 1187 of file client.py.

◆ resume_all_periodic_tasks()

None pytest_userver.client.Client.resume_all_periodic_tasks ( self)

Definition at line 1154 of file client.py.

◆ resume_periodic_tasks()

None pytest_userver.client.Client.resume_periodic_tasks ( self,
typing.List[str] names )

Definition at line 1150 of file client.py.

◆ run_distlock_task()

None pytest_userver.client.Client.run_distlock_task ( self,
str name )

Definition at line 1184 of file client.py.

◆ run_periodic_task()

pytest_userver.client.Client.run_periodic_task ( self,
name )

Definition at line 1142 of file client.py.

◆ run_task()

None pytest_userver.client.Client.run_task ( self,
str name )

Definition at line 1181 of file client.py.

◆ spawn_task()

pytest_userver.client.Client.spawn_task ( self,
str name )

Definition at line 1209 of file client.py.

◆ suspend_periodic_tasks()

None pytest_userver.client.Client.suspend_periodic_tasks ( self,
typing.List[str] names )

Definition at line 1146 of file client.py.

◆ tests_control()

typing.Dict[str, typing.Any] pytest_userver.client.Client.tests_control ( self,
bool invalidate_caches = True,
bool clean_update = True,
typing.Optional[typing.List[str]] cache_names = None,
typing.Optional[typing.List[str]] http_allowed_urls_extra = None )

Definition at line 1263 of file client.py.

◆ update_server_state()

None pytest_userver.client.Client.update_server_state ( self)

Update service-side state through http call to 'tests/control':

  • clear dirty (from other tests) caches
  • set service-side mocked time,
  • resume / suspend periodic tasks
  • enable testpoints If service is up-to-date, does nothing.

Definition at line 1278 of file client.py.

◆ write_cache_dumps()

None pytest_userver.client.Client.write_cache_dumps ( self,
typing.List[str] names,
* ,
testsuite_skip_prepare = False )

Definition at line 1158 of file client.py.

Member Data Documentation

◆ _client

pytest_userver.client.ClientWrapper._client = client
protectedinherited

Definition at line 110 of file client.py.

◆ PeriodicTaskFailed

pytest_userver.client.Client.PeriodicTaskFailed = PeriodicTaskFailed
static

Definition at line 1126 of file client.py.

◆ TestsuiteActionFailed

pytest_userver.client.Client.TestsuiteActionFailed = TestsuiteActionFailed
static

Definition at line 1127 of file client.py.

◆ TestsuiteTaskConflict

pytest_userver.client.Client.TestsuiteTaskConflict = TestsuiteTaskConflict
static

Definition at line 1129 of file client.py.

◆ TestsuiteTaskFailed

pytest_userver.client.Client.TestsuiteTaskFailed = TestsuiteTaskFailed
static

Definition at line 1130 of file client.py.

◆ TestsuiteTaskNotFound

pytest_userver.client.Client.TestsuiteTaskNotFound = TestsuiteTaskNotFound
static

Definition at line 1128 of file client.py.


The documentation for this class was generated from the following file: