#
google_cloud_pubsub/generated/gapic_dataplane/
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::Publisher].
    30///
    31/// Application developers may need to implement this trait to mock
    32/// `client::Publisher`.  In other use-cases, application developers only
    33/// use `client::Publisher` 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 Publisher: std::fmt::Debug + Send + Sync {
    41    /// Implements [super::client::Publisher::publish].
    42    fn publish(
    43        &self,
    44        _req: crate::model::PublishRequest,
    45        _options: gax::options::RequestOptions,
    46    ) -> impl std::future::Future<
    47        Output = crate::Result<gax::response::Response<crate::model::PublishResponse>>,
    48    > + Send {
    49        gaxi::unimplemented::unimplemented_stub()
    50    }
    51}
    52
    53/// Defines the trait used to implement [super::client::Subscriber].
    54///
    55/// Application developers may need to implement this trait to mock
    56/// `client::Subscriber`.  In other use-cases, application developers only
    57/// use `client::Subscriber` 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 Subscriber: std::fmt::Debug + Send + Sync {
    65    /// Implements [super::client::Subscriber::modify_ack_deadline].
    66    fn modify_ack_deadline(
    67        &self,
    68        _req: crate::model::ModifyAckDeadlineRequest,
    69        _options: gax::options::RequestOptions,
    70    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
    71        gaxi::unimplemented::unimplemented_stub()
    72    }
    73
    74    /// Implements [super::client::Subscriber::acknowledge].
    75    fn acknowledge(
    76        &self,
    77        _req: crate::model::AcknowledgeRequest,
    78        _options: gax::options::RequestOptions,
    79    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
    80        gaxi::unimplemented::unimplemented_stub()
    81    }
    82}