zebra/zebra-test/tests/transcript.rs

35 lines
922 B
Rust
Raw Normal View History

2020-06-22 21:00:20 -07:00
use tower::{Service, ServiceExt};
use zebra_test::transcript::Transcript;
const TRANSCRIPT_DATA: [(&'static str, &'static str); 4] = [
("req1", "rsp1"),
("req2", "rsp2"),
("req3", "rsp3"),
("req4", "rsp4"),
];
#[tokio::test]
async fn transcript_returns_responses_and_ends() {
let mut svc = Transcript::from(TRANSCRIPT_DATA.iter().cloned());
for (req, rsp) in TRANSCRIPT_DATA.iter() {
assert_eq!(
svc.ready_and().await.unwrap().call(req).await.unwrap(),
*rsp,
);
}
assert!(svc.ready_and().await.unwrap().call("end").await.is_err());
}
#[tokio::test]
async fn transcript_errors_wrong_request() {
let mut svc = Transcript::from(TRANSCRIPT_DATA.iter().cloned());
assert_eq!(
svc.ready_and().await.unwrap().call("req1").await.unwrap(),
"rsp1",
);
assert!(svc.ready_and().await.unwrap().call("bad").await.is_err());
}