userver: pytest_userver.plugins.config Namespace Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
pytest_userver.plugins.config Namespace Reference

Work with the configuration files of the service in testsuite. More...

Functions

pathlib.Path service_config_path (pytestconfig)
 Returns the path to service.yaml file set by command line --service-config option.
 
typing.Optional[pathlib.Path] service_config_vars_path (pytestconfig)
 Returns the path to config_vars.yaml file set by command line --service-config-vars option.
 
typing.Optional[pathlib.Path] service_secdist_path (pytestconfig)
 Returns the path to secure_data.json file set by command line --service-secdist option.
 
pathlib.Path config_fallback_path (pytestconfig)
 Returns the path to dynamic config fallback file set by command line --config-fallback option.
 
 service_tmpdir (service_binary, tmp_path_factory)
 Returns the path for temporary files.
 
pathlib.Path service_config_path_temp (service_tmpdir, service_config_yaml)
 Dumps the contents of the service_config_yaml into a static config for testsuite and returns the path to the config file.
 
dict service_config_yaml (_service_config)
 Returns the static config values after the USERVER_CONFIG_HOOKS were applied (if any).
 
dict service_config_vars (_service_config)
 Returns the static config variables (config_vars.yaml) values after the USERVER_CONFIG_HOOKS were applied (if any).
 
_UserverConfig _service_config (pytestconfig, request, service_tmpdir, service_config_path, service_config_vars_path)
 
 userver_config_http_server (service_port, monitor_port)
 Returns a function that adjusts the static configuration file for testsuite.
 
typing.List[str] allowed_url_prefixes_extra ()
 By default, userver HTTP client is only allowed to talk to mockserver when running in testsuite.
 
 userver_config_http_client (mockserver_info, mockserver_ssl_info, allowed_url_prefixes_extra)
 Returns a function that adjusts the static configuration file for testsuite.
 
 userver_config_logging (pytestconfig)
 Returns a function that adjusts the static configuration file for testsuite.
 
 userver_config_testsuite (mockserver_info)
 Returns a function that adjusts the static configuration file for testsuite.
 
 userver_config_testsuite_support (pytestconfig)
 Returns a function that adjusts the static configuration file for testsuite.
 
 userver_config_secdist (service_secdist_path)
 Returns a function that adjusts the static configuration file for testsuite.
 

Variables

list USERVER_CONFIG_HOOKS
 Fixtures and functions in USERVER_CONFIG_HOOKS used to change the static config or config_vars.yaml.
 

Detailed Description

Work with the configuration files of the service in testsuite.

Function Documentation

◆ _service_config()

_UserverConfig pytest_userver.plugins.config._service_config (   pytestconfig,
  request,
  service_tmpdir,
  service_config_path,
  service_config_vars_path 
)
protected

Definition at line 220 of file config.py.

Variable Documentation

◆ USERVER_CONFIG_HOOKS

list pytest_userver.plugins.config.USERVER_CONFIG_HOOKS

Fixtures and functions in USERVER_CONFIG_HOOKS used to change the static config or config_vars.yaml.

Functions and fixtures that are listed in the USERVER_CONFIG_HOOKS variable in your pytest-plugin are run before config is written to disk, so that the service, the pytest_userver.plugins.config.service_config_yaml and the pytest_userver.plugins.config.service_config_vars get the modified values.

Example of patching config:

USERVER_CONFIG_HOOKS = ['prepare_service_config']
@pytest.fixture(scope='session')
def prepare_service_config(grpc_mockserver_endpoint):
def patch_config(config, config_vars):
components = config['components_manager']['components']
components['greeter-client']['endpoint'] = grpc_mockserver_endpoint
return patch_config

Definition at line 29 of file config.py.