userver: Testsuite Python support
Loading...
Searching...
No Matches
Testsuite Python support

Detailed Description

Functions, fixtures and classes to do functional testing with testsuite.

+ Collaboration diagram for Testsuite Python support:

Nested Groups

 Fixtures
 Fixtures to use with testsuite.
 

Namespaces

namespace  pytest_userver
 Python module pytest_userver provides testsuite support for userver services.
 
namespace  pytest_userver.chaos
 Python module that provides testsuite support for chaos tests; see Chaos Testing for an introduction.
 
namespace  pytest_userver.client
 Python module that provides clients for functional tests with testsuite; see Functional service tests (testsuite) for an introduction.
 
namespace  pytest_userver.metrics
 Python module that provides helpers for functional testing of metrics with testsuite; see Functional service tests (testsuite) for an introduction.
 

Classes

class  pytest_userver.chaos.GateRoute
 Class that describes the route for TcpGate or UdpGate. More...
 
class  pytest_userver.chaos.BaseGate
 This base class maintain endpoints of two types: More...
 
class  pytest_userver.chaos.TcpGate
 Implements TCP chaos-proxy logic such as accepting incoming tcp client connections. More...
 
class  pytest_userver.chaos.UdpGate
 Implements UDP chaos-proxy logic such as demuxing incoming datagrams from different clients. More...
 
class  pytest_userver.client.ClientWrapper
 Base asyncio userver client that implements HTTP requests to service. More...
 
class  pytest_userver.client.ClientMonitor
 Asyncio userver client for monitor listeners, typically retrieved from plugins.service_client.monitor_client fixture. More...
 
class  pytest_userver.client.MetricsDiffer
 A helper class for computing metric differences. More...
 
class  pytest_userver.client.Client
 Asyncio userver client, typically retrieved from plugins.service_client.service_client fixture. More...
 
class  pytest_userver.metrics.Metric
 Metric type that contains the labels: typing.Dict[str, str] and value: int. More...
 
class  pytest_userver.metrics.MetricsSnapshot
 Snapshot of captured metrics that mimics the dict interface. More...
 
class  pytest_userver.sql.RegisteredTrx
 RegisteredTrx maintains transaction fault injection state to test transaction failure code path. More...
 
class  pytest_userver.utils.net.HostPort
 Class that holds a host and port. More...
 
class  pytest_userver.utils.net.HealthChecks
 Class that holds all the info for health checks. More...
 

Functions

None pytest_userver.plugins.service_runner.test_service_default (service_client, service_baseurl, monitor_baseurl)
 This is default service runner testcase.
 
bool pytest_userver.utils.net.check_availability (HealthChecks checks)
 Checks availability for each provided entry.
 
HealthChecks pytest_userver.utils.net.get_health_checks_info (dict service_config)
 Returns a health checks info that for server.listener, grpc-server.port and server.listener-monitor.
 

Function Documentation

◆ check_availability()

bool pytest_userver.utils.net.check_availability ( HealthChecks checks)

Checks availability for each provided entry.

Definition at line 49 of file net.py.

◆ get_health_checks_info()

HealthChecks pytest_userver.utils.net.get_health_checks_info ( dict service_config)

Returns a health checks info that for server.listener, grpc-server.port and server.listener-monitor.

See also
pytest_userver.plugins.base.service_non_http_health_checks()

Definition at line 74 of file net.py.

◆ test_service_default()

None pytest_userver.plugins.service_runner.test_service_default ( service_client,
service_baseurl,
monitor_baseurl )

This is default service runner testcase.

Feel free to override it in your own tests, e.g.:

@pytest.mark.servicetest
def test_service(service_client):
...

Definition at line 56 of file service_runner.py.