Add unimplemented interop test

This commit is contained in:
Lucio Franco
2019-09-11 22:44:59 -04:00
parent 702b288620
commit 306d169c91
5 changed files with 21 additions and 10 deletions
+1 -1
View File
@@ -152,6 +152,6 @@ impl pb::server::TestService for TestService {
}
async fn unimplemented_call(&self, _: Request<Empty>) -> Result<Empty> {
unimplemented!()
Err(Status::unimplemented(""))
}
}
+2 -2
View File
@@ -45,6 +45,6 @@ trap 'echo ":; killing test server"; kill ${SERVER_PID};' EXIT
./target/debug/client \
--test_case=empty_unary,large_unary,client_streaming,server_streaming,ping_pong,\
empty_stream,status_code_and_message,special_status_message $ARG
# unimplemented_method,unimplemented_service,custom_metadata
empty_stream,status_code_and_message,special_status_message,unimplemented_method $ARG
# ,unimplemented_service,custom_metadata
+9
View File
@@ -62,6 +62,15 @@ impl Status {
}
}
/// Create a new `Unimplemented` status with the associated message.
pub fn unimplemented(message: impl Into<String>) -> Status {
Status {
code: Code::Unimplemented,
message: message.into(),
details: Bytes::new(),
}
}
// TODO: This should probably be made public eventually. Need to decide on
// the exact argument type.
#[cfg_attr(not(feature = "h2"), allow(dead_code))]
+8 -6
View File
@@ -4,11 +4,15 @@ use super::{
};
use crate::BoxBody;
use futures_core::Stream;
use futures_util::{try_future::MapOk, TryFutureExt, TryStreamExt, ready};
use futures_util::{ready, try_future::MapOk, TryFutureExt, TryStreamExt};
use http::{Request, Response};
use hyper::server::{conn, accept::Accept};
use hyper::server::{accept::Accept, conn};
use hyper::Body;
use std::{net::SocketAddr, task::{Context, Poll}, pin::Pin};
use std::{
net::SocketAddr,
pin::Pin,
task::{Context, Poll},
};
use tower_make::MakeService;
use tower_service::Service;
@@ -101,9 +105,7 @@ impl TcpIncoming {
fn bind(addr: SocketAddr) -> Result<Self, crate::Error> {
let inner = conn::AddrIncoming::bind(&addr).map_err(Box::new)?;
Ok(Self {
inner,
})
Ok(Self { inner })
}
}
+1 -1
View File
@@ -9,8 +9,8 @@
#[path = "openssl.rs"]
mod imp;
use tokio::net::TcpStream;
use std::fmt;
use tokio::net::TcpStream;
#[derive(Debug, Clone)]
pub(crate) struct Cert {