#include <userver/server/handlers/tests_control.hpp>
Handler that allows to control the behavior of server from tests, and functional tests with testsuite in particular.
It is highly recommended to disable this handle in production via the load-enabled: false option.
The component must be configured in service config.
Aside from common handler options component has the following options:
Name | Description | Default value |
---|---|---|
testpoint-url | an URL that should be notified in the TESTPOINT_CALLBACK and TESTPOINT_CALLBACK_NONCORO macros | - |
skip-unregistered-testpoints | do not send testpoints data for paths that were not registered by testpoint-url | false |
testpoint-timeout | timeout to use while working with testpoint-url | 1s |
Main user of the scheme is the pytest_userver.client.Client python class. In particular:
Definition at line 64 of file tests_control.hpp.
Public Member Functions | |
TestsControl (const components::ComponentConfig &config, const components::ComponentContext &component_context) | |
formats::json::Value | HandleRequestJsonThrow (const http::HttpRequest &request, const formats::json::Value &request_body, request::RequestContext &context) const override |
Public Member Functions inherited from server::handlers::HttpHandlerJsonBase | |
HttpHandlerJsonBase (const components::ComponentConfig &config, const components::ComponentContext &component_context, bool is_monitor=false) | |
std::string | HandleRequestThrow (const http::HttpRequest &request, request::RequestContext &context) const final |
Public Member Functions inherited from server::handlers::HttpHandlerBase | |
HttpHandlerBase (const components::ComponentConfig &config, const components::ComponentContext &component_context, bool is_monitor=false) | |
void | HandleRequest (request::RequestBase &request, request::RequestContext &context) const override |
void | ReportMalformedRequest (request::RequestBase &request) const final |
virtual const std::string & | HandlerName () const |
const std::vector< http::HttpMethod > & | GetAllowedMethods () const |
virtual logging::Level | GetLogLevelForResponseStatus (http::HttpStatus status) const |
std::string | GetResponseDataForLoggingChecked (const http::HttpRequest &request, request::RequestContext &context, const std::string &response_data) const |
void | HandleCustomHandlerException (const http::HttpRequest &request, const CustomHandlerException &ex) const |
void | HandleUnknownException (const http::HttpRequest &request, const std::exception &ex) const |
void | LogUnknownException (const std::exception &ex) const |
Helper function to log an unknown exception. | |
const std::optional< logging::Level > & | GetLogLevel () const |
Returns the default log level for the handler. | |
Public Member Functions inherited from server::handlers::HandlerBase | |
HandlerBase (const components::ComponentConfig &config, const components::ComponentContext &component_context, bool is_monitor=false) | |
bool | IsMonitor () const |
Returns whether this is a monitoring handler. | |
const HandlerConfig & | GetConfig () const |
Returns handler config. | |
Public Member Functions inherited from components::LoggableComponentBase | |
LoggableComponentBase (const ComponentConfig &, const ComponentContext &) | |
LoggableComponentBase (LoggableComponentBase &&)=delete | |
LoggableComponentBase (const LoggableComponentBase &)=delete | |
~LoggableComponentBase () override=default | |
ComponentHealth | GetComponentHealth () const override |
void | OnLoadingCancelled () override |
void | OnAllComponentsLoaded () override |
void | OnAllComponentsAreStopping () override |
Static Public Member Functions | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from server::handlers::HttpHandlerJsonBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from server::handlers::HttpHandlerBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from server::handlers::HandlerBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::LoggableComponentBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Attributes | |
static constexpr std::string_view | kName = "tests-control" |
The default name of server::handlers::TestsControl. | |
Additional Inherited Members | |
Protected Types inherited from server::handlers::HandlerBase | |
using | HandlerErrorCode = handlers::HandlerErrorCode |
using | InternalMessage = handlers::InternalMessage |
using | ExternalBody = handlers::ExternalBody |
using | ClientError = handlers::ClientError |
using | InternalServerError = handlers::InternalServerError |
Protected Member Functions inherited from server::handlers::HttpHandlerJsonBase | |
void | ParseRequestData (const http::HttpRequest &request, request::RequestContext &context) const override |
Protected Member Functions inherited from server::handlers::HttpHandlerBase | |
void | ThrowUnsupportedHttpMethod (const http::HttpRequest &request) const |
virtual void | OnRequestCompleteThrow (const http::HttpRequest &, request::RequestContext &) const |
virtual void | HandleStreamRequest (const server::http::HttpRequest &, server::request::RequestContext &, server::http::ResponseBodyStream &) const |
virtual bool | IsStreamed () const |
virtual bool | IsMethodStatisticIncluded () const |
virtual bool | NeedCheckAuth () const |
virtual std::string | GetRequestBodyForLogging (const http::HttpRequest &request, request::RequestContext &context, const std::string &request_body) const |
Override it if you need a custom request body logging. | |
virtual std::string | GetResponseDataForLogging (const http::HttpRequest &request, request::RequestContext &context, const std::string &response_data) const |
Override it if you need a custom response data logging. | |
virtual std::string | GetMetaType (const http::HttpRequest &) const |
Static Protected Member Functions inherited from server::handlers::HttpHandlerJsonBase | |
static const formats::json::Value * | GetRequestJson (const request::RequestContext &context) |
static const formats::json::Value * | GetResponseJson (const request::RequestContext &context) |
|
overridevirtual |
Implements server::handlers::HttpHandlerJsonBase.