google_cloud_containeranalysis_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;
28
29pub(crate) mod dynamic;
30
31/// Defines the trait used to implement [crate::client::ContainerAnalysis].
32///
33/// Application developers may need to implement this trait to mock
34/// `client::ContainerAnalysis`.  In other use-cases, application developers only
35/// use `client::ContainerAnalysis` and need not be concerned with this trait or
36/// its implementations.
37///
38/// Services gain new RPCs routinely. Consequently, this trait gains new methods
39/// too. To avoid breaking applications the trait provides a default
40/// implementation of each method. Most of these implementations just return an
41/// error.
42pub trait ContainerAnalysis: std::fmt::Debug + Send + Sync {
43    /// Implements [crate::client::ContainerAnalysis::set_iam_policy].
44    fn set_iam_policy(
45        &self,
46        _req: iam_v1::model::SetIamPolicyRequest,
47        _options: gax::options::RequestOptions,
48    ) -> impl std::future::Future<Output = crate::Result<iam_v1::model::Policy>> + Send {
49        std::future::ready::<crate::Result<iam_v1::model::Policy>>(Err(Error::other(
50            "unimplemented",
51        )))
52    }
53
54    /// Implements [crate::client::ContainerAnalysis::get_iam_policy].
55    fn get_iam_policy(
56        &self,
57        _req: iam_v1::model::GetIamPolicyRequest,
58        _options: gax::options::RequestOptions,
59    ) -> impl std::future::Future<Output = crate::Result<iam_v1::model::Policy>> + Send {
60        std::future::ready::<crate::Result<iam_v1::model::Policy>>(Err(Error::other(
61            "unimplemented",
62        )))
63    }
64
65    /// Implements [crate::client::ContainerAnalysis::test_iam_permissions].
66    fn test_iam_permissions(
67        &self,
68        _req: iam_v1::model::TestIamPermissionsRequest,
69        _options: gax::options::RequestOptions,
70    ) -> impl std::future::Future<Output = crate::Result<iam_v1::model::TestIamPermissionsResponse>> + Send
71    {
72        std::future::ready::<crate::Result<iam_v1::model::TestIamPermissionsResponse>>(Err(
73            Error::other("unimplemented"),
74        ))
75    }
76
77    /// Implements [crate::client::ContainerAnalysis::get_vulnerability_occurrences_summary].
78    fn get_vulnerability_occurrences_summary(
79        &self,
80        _req: crate::model::GetVulnerabilityOccurrencesSummaryRequest,
81        _options: gax::options::RequestOptions,
82    ) -> impl std::future::Future<
83        Output = crate::Result<crate::model::VulnerabilityOccurrencesSummary>,
84    > + Send {
85        std::future::ready::<crate::Result<crate::model::VulnerabilityOccurrencesSummary>>(Err(
86            Error::other("unimplemented"),
87        ))
88    }
89}