google_cloud_profiler_v2/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::ProfilerService].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::ProfilerService`. In other use-cases, application developers only
33/// use `client::ProfilerService` 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 ProfilerService: std::fmt::Debug + Send + Sync {
41 /// Implements [super::client::ProfilerService::create_profile].
42 fn create_profile(
43 &self,
44 _req: crate::model::CreateProfileRequest,
45 _options: crate::RequestOptions,
46 ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Profile>>> + Send
47 {
48 gaxi::unimplemented::unimplemented_stub()
49 }
50
51 /// Implements [super::client::ProfilerService::create_offline_profile].
52 fn create_offline_profile(
53 &self,
54 _req: crate::model::CreateOfflineProfileRequest,
55 _options: crate::RequestOptions,
56 ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Profile>>> + Send
57 {
58 gaxi::unimplemented::unimplemented_stub()
59 }
60
61 /// Implements [super::client::ProfilerService::update_profile].
62 fn update_profile(
63 &self,
64 _req: crate::model::UpdateProfileRequest,
65 _options: crate::RequestOptions,
66 ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Profile>>> + Send
67 {
68 gaxi::unimplemented::unimplemented_stub()
69 }
70}
71
72/// Defines the trait used to implement [super::client::ExportService].
73///
74/// Application developers may need to implement this trait to mock
75/// `client::ExportService`. In other use-cases, application developers only
76/// use `client::ExportService` and need not be concerned with this trait or
77/// its implementations.
78///
79/// Services gain new RPCs routinely. Consequently, this trait gains new methods
80/// too. To avoid breaking applications the trait provides a default
81/// implementation of each method. Most of these implementations just return an
82/// error.
83pub trait ExportService: std::fmt::Debug + Send + Sync {
84 /// Implements [super::client::ExportService::list_profiles].
85 fn list_profiles(
86 &self,
87 _req: crate::model::ListProfilesRequest,
88 _options: crate::RequestOptions,
89 ) -> impl std::future::Future<
90 Output = crate::Result<crate::Response<crate::model::ListProfilesResponse>>,
91 > + Send {
92 gaxi::unimplemented::unimplemented_stub()
93 }
94}