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)
 

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)
 

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.

◆ 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_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.

◆ 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.

◆ 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

◆ 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: