mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-01-01 23:08:42 +00:00
reqwesthttpsrc: Add test for cookie storage and context/client sharing
This commit is contained in:
parent
e3a92edd45
commit
fecf4bac2e
1 changed files with 66 additions and 0 deletions
|
@ -556,3 +556,69 @@ fn test_seek_after_buffer_received() {
|
|||
assert_eq!(&*map, &*read_buf);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_cookies() {
|
||||
init();
|
||||
|
||||
// Set up a simple harness that returns "Hello World" for any HTTP request
|
||||
let mut h = Harness::new(
|
||||
|_req| {
|
||||
use hyper::{Body, Response};
|
||||
|
||||
Response::builder()
|
||||
.header("Set-Cookie", "foo=bar")
|
||||
.body(Body::from("Hello World"))
|
||||
.unwrap()
|
||||
},
|
||||
|_src| {
|
||||
// No additional setup needed here
|
||||
},
|
||||
);
|
||||
|
||||
// Set the HTTP source to Playing so that everything can start
|
||||
h.run(|src| {
|
||||
src.set_state(gst::State::Playing).unwrap();
|
||||
});
|
||||
|
||||
let mut num_bytes = 0;
|
||||
while let Some(buffer) = h.wait_buffer_or_eos() {
|
||||
num_bytes += buffer.get_size();
|
||||
}
|
||||
assert_eq!(num_bytes, 11);
|
||||
|
||||
// Set up a simple harness that returns "Hello World" for any HTTP request
|
||||
let mut h2 = Harness::new(
|
||||
|req| {
|
||||
use hyper::{Body, Response};
|
||||
|
||||
let cookies = req
|
||||
.headers()
|
||||
.get("Cookie")
|
||||
.expect("No cookies set")
|
||||
.to_str()
|
||||
.unwrap();
|
||||
assert!(cookies.split(';').any(|c| c == "foo=bar"));
|
||||
Response::builder()
|
||||
.body(Body::from("Hello again!"))
|
||||
.unwrap()
|
||||
},
|
||||
|_src| {
|
||||
// No additional setup needed here
|
||||
},
|
||||
);
|
||||
|
||||
let context = h.src.get_context("gst.request.client").expect("No context");
|
||||
h2.src.set_context(&context);
|
||||
|
||||
// Set the HTTP source to Playing so that everything can start
|
||||
h2.run(|src| {
|
||||
src.set_state(gst::State::Playing).unwrap();
|
||||
});
|
||||
|
||||
let mut num_bytes = 0;
|
||||
while let Some(buffer) = h2.wait_buffer_or_eos() {
|
||||
num_bytes += buffer.get_size();
|
||||
}
|
||||
assert_eq!(num_bytes, 12);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue