xref: /tonic/tests/default_stubs/src/lib.rs (revision 62a731b9)
1 #![allow(unused_imports)]
2 
3 mod test_defaults;
4 
5 use std::pin::Pin;
6 use tokio_stream::{Stream, StreamExt};
7 use tonic::{Request, Response, Status, Streaming};
8 
9 tonic::include_proto!("test");
10 tonic::include_proto!("test_default");
11 
12 #[derive(Debug, Default)]
13 struct Svc;
14 
15 #[tonic::async_trait]
16 impl test_server::Test for Svc {
17     type ServerStreamStream = Pin<Box<dyn Stream<Item = Result<(), Status>> + Send + 'static>>;
18     type BidirectionalStreamStream =
19         Pin<Box<dyn Stream<Item = Result<(), Status>> + Send + 'static>>;
20 
unary(&self, _: Request<()>) -> Result<Response<()>, Status>21     async fn unary(&self, _: Request<()>) -> Result<Response<()>, Status> {
22         Err(Status::permission_denied(""))
23     }
24 
server_stream( &self, _: Request<()>, ) -> Result<Response<Self::ServerStreamStream>, Status>25     async fn server_stream(
26         &self,
27         _: Request<()>,
28     ) -> Result<Response<Self::ServerStreamStream>, Status> {
29         Err(Status::permission_denied(""))
30     }
31 
client_stream(&self, _: Request<Streaming<()>>) -> Result<Response<()>, Status>32     async fn client_stream(&self, _: Request<Streaming<()>>) -> Result<Response<()>, Status> {
33         Err(Status::permission_denied(""))
34     }
35 
bidirectional_stream( &self, _: Request<Streaming<()>>, ) -> Result<Response<Self::BidirectionalStreamStream>, Status>36     async fn bidirectional_stream(
37         &self,
38         _: Request<Streaming<()>>,
39     ) -> Result<Response<Self::BidirectionalStreamStream>, Status> {
40         Err(Status::permission_denied(""))
41     }
42 }
43 
44 #[tonic::async_trait]
45 impl test_default_server::TestDefault for Svc {
46     // Default unimplemented stubs provided here.
47 }
48