google_cloud_shell_v1/
stubs.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
27use gax::error::Error;
28use std::sync::Arc;
29
30pub(crate) mod dynamic;
31
32/// Defines the trait used to implement [crate::client::CloudShellService].
33///
34/// Application developers may need to implement this trait to mock
35/// `client::CloudShellService`.  In other use-cases, application developers only
36/// use `client::CloudShellService` and need not be concerned with this trait or
37/// its implementations.
38///
39/// Services gain new RPCs routinely. Consequently, this trait gains new methods
40/// too. To avoid breaking applications the trait provides a default
41/// implementation of each method. Most of these implementations just return an
42/// error.
43pub trait CloudShellService: std::fmt::Debug + Send + Sync {
44    /// Implements [crate::client::CloudShellService::get_environment].
45    fn get_environment(
46        &self,
47        _req: crate::model::GetEnvironmentRequest,
48        _options: gax::options::RequestOptions,
49    ) -> impl std::future::Future<Output = crate::Result<crate::model::Environment>> + Send {
50        std::future::ready::<crate::Result<crate::model::Environment>>(Err(Error::other(
51            "unimplemented",
52        )))
53    }
54
55    /// Implements [crate::client::CloudShellService::start_environment].
56    fn start_environment(
57        &self,
58        _req: crate::model::StartEnvironmentRequest,
59        _options: gax::options::RequestOptions,
60    ) -> impl std::future::Future<Output = crate::Result<longrunning::model::Operation>> + Send
61    {
62        std::future::ready::<crate::Result<longrunning::model::Operation>>(Err(Error::other(
63            "unimplemented",
64        )))
65    }
66
67    /// Implements [crate::client::CloudShellService::authorize_environment].
68    fn authorize_environment(
69        &self,
70        _req: crate::model::AuthorizeEnvironmentRequest,
71        _options: gax::options::RequestOptions,
72    ) -> impl std::future::Future<Output = crate::Result<longrunning::model::Operation>> + Send
73    {
74        std::future::ready::<crate::Result<longrunning::model::Operation>>(Err(Error::other(
75            "unimplemented",
76        )))
77    }
78
79    /// Implements [crate::client::CloudShellService::add_public_key].
80    fn add_public_key(
81        &self,
82        _req: crate::model::AddPublicKeyRequest,
83        _options: gax::options::RequestOptions,
84    ) -> impl std::future::Future<Output = crate::Result<longrunning::model::Operation>> + Send
85    {
86        std::future::ready::<crate::Result<longrunning::model::Operation>>(Err(Error::other(
87            "unimplemented",
88        )))
89    }
90
91    /// Implements [crate::client::CloudShellService::remove_public_key].
92    fn remove_public_key(
93        &self,
94        _req: crate::model::RemovePublicKeyRequest,
95        _options: gax::options::RequestOptions,
96    ) -> impl std::future::Future<Output = crate::Result<longrunning::model::Operation>> + Send
97    {
98        std::future::ready::<crate::Result<longrunning::model::Operation>>(Err(Error::other(
99            "unimplemented",
100        )))
101    }
102
103    /// Implements [crate::client::CloudShellService::get_operation].
104    fn get_operation(
105        &self,
106        _req: longrunning::model::GetOperationRequest,
107        _options: gax::options::RequestOptions,
108    ) -> impl std::future::Future<Output = crate::Result<longrunning::model::Operation>> + Send
109    {
110        std::future::ready::<crate::Result<longrunning::model::Operation>>(Err(Error::other(
111            "unimplemented",
112        )))
113    }
114
115    /// Returns the polling policy.
116    ///
117    /// When mocking, this method is typically irrelevant. Do not try to verify
118    /// it is called by your mocks.
119    fn get_polling_policy(
120        &self,
121        _options: &gax::options::RequestOptions,
122    ) -> Arc<dyn gax::polling_policy::PollingPolicy> {
123        Arc::new(gax::polling_policy::Aip194Strict)
124    }
125
126    /// Returns the polling backoff policy.
127    ///
128    /// When mocking, this method is typically irrelevant. Do not try to verify
129    /// it is called by your mocks.
130    fn get_polling_backoff_policy(
131        &self,
132        _options: &gax::options::RequestOptions,
133    ) -> Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
134        Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
135    }
136}