userver: userver/ugrpc/client/middlewares/testsuite/component.hpp Source File
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
component.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/ugrpc/client/middlewares/testsuite/component.hpp
4/// @brief @copybrief ugrpc::client::middlewares::testsuite::Component
5
6#include <userver/ugrpc/client/middlewares/base.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10/// Client testsuite middleware
11/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
12/// @see @ref ugrpc::client::middlewares::testsuite::Component
13namespace ugrpc::client::middlewares::testsuite {
14
15/// @ingroup userver_components
16///
17/// @brief Component for gRPC client testsuite support
18///
19/// The component supports testsuite errors thrown from the mockserver, such as `NetworkError`, `TimeoutError`.
20///
21/// @see @ref pytest_userver.plugins.grpc.mockserver.grpc_mockserver "grpc_mockserver"
22/// @see @ref pytest_userver.grpc._mocked_errors.TimeoutError "pytest_userver.grpc.TimeoutError"
23/// @see @ref pytest_userver.grpc._mocked_errors.NetworkError "pytest_userver.grpc.NetworkError"
24///
25/// The component does **not** have any options for service config.
26///
27/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
28
29class Component : public MiddlewareFactoryComponentBase {
30public:
31 /// @ingroup userver_component_names
32 /// @brief The default name of @ref ugrpc::client::middlewares::testsuite::Component.
33 static constexpr std::string_view kName = "grpc-client-middleware-testsuite";
34
35 Component(const components::ComponentConfig& config, const components::ComponentContext& context);
36
37 std::shared_ptr<const MiddlewareBase>
38 CreateMiddleware(const ClientInfo& info, const yaml_config::YamlConfig& middleware_config) const override;
39};
40
41} // namespace ugrpc::client::middlewares::testsuite
42
43template <>
44inline constexpr auto components::kConfigFileMode<ugrpc::client::middlewares::testsuite::Component> =
46
47USERVER_NAMESPACE_END