google_cloud_api_servicecontrol_v1/
stub.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::QuotaController].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::QuotaController`.  In other use-cases, application developers only
33/// use `client::QuotaController` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40pub trait QuotaController: std::fmt::Debug + Send + Sync {
41    /// Implements [super::client::QuotaController::allocate_quota].
42    fn allocate_quota(
43        &self,
44        _req: crate::model::AllocateQuotaRequest,
45        _options: gax::options::RequestOptions,
46    ) -> impl std::future::Future<
47        Output = crate::Result<gax::response::Response<crate::model::AllocateQuotaResponse>>,
48    > + Send {
49        gaxi::unimplemented::unimplemented_stub()
50    }
51}
52
53/// Defines the trait used to implement [super::client::ServiceController].
54///
55/// Application developers may need to implement this trait to mock
56/// `client::ServiceController`.  In other use-cases, application developers only
57/// use `client::ServiceController` and need not be concerned with this trait or
58/// its implementations.
59///
60/// Services gain new RPCs routinely. Consequently, this trait gains new methods
61/// too. To avoid breaking applications the trait provides a default
62/// implementation of each method. Most of these implementations just return an
63/// error.
64pub trait ServiceController: std::fmt::Debug + Send + Sync {
65    /// Implements [super::client::ServiceController::check].
66    fn check(
67        &self,
68        _req: crate::model::CheckRequest,
69        _options: gax::options::RequestOptions,
70    ) -> impl std::future::Future<
71        Output = crate::Result<gax::response::Response<crate::model::CheckResponse>>,
72    > + Send {
73        gaxi::unimplemented::unimplemented_stub()
74    }
75
76    /// Implements [super::client::ServiceController::report].
77    fn report(
78        &self,
79        _req: crate::model::ReportRequest,
80        _options: gax::options::RequestOptions,
81    ) -> impl std::future::Future<
82        Output = crate::Result<gax::response::Response<crate::model::ReportResponse>>,
83    > + Send {
84        gaxi::unimplemented::unimplemented_stub()
85    }
86}