diff options
Diffstat (limited to 'components/net/tests')
-rw-r--r-- | components/net/tests/data_loader.rs | 18 | ||||
-rw-r--r-- | components/net/tests/fetch.rs | 297 | ||||
-rw-r--r-- | components/net/tests/http_cache.rs | 15 | ||||
-rw-r--r-- | components/net/tests/http_loader.rs | 6 | ||||
-rw-r--r-- | components/net/tests/main.rs | 6 |
5 files changed, 97 insertions, 245 deletions
diff --git a/components/net/tests/data_loader.rs b/components/net/tests/data_loader.rs index 198fe19709c..034e75bbd82 100644 --- a/components/net/tests/data_loader.rs +++ b/components/net/tests/data_loader.rs @@ -7,8 +7,8 @@ use std::ops::Deref; use headers::{ContentType, HeaderMapExt}; use hyper_serde::Serde; use mime::{self, Mime}; -use net_traits::request::{Origin, Referrer, Request}; -use net_traits::response::{HttpsState, ResponseBody}; +use net_traits::request::Referrer; +use net_traits::response::ResponseBody; use net_traits::{FetchMetadata, FilteredMetadata, NetworkError}; use servo_url::ServoUrl; @@ -21,15 +21,13 @@ fn assert_parse( charset: Option<&str>, data: Option<&[u8]>, ) { + use net_traits::request::RequestBuilder; + let url = ServoUrl::parse(url).unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .pipeline_id(None) + .build(); let response = fetch(&mut request, None); diff --git a/components/net/tests/fetch.rs b/components/net/tests/fetch.rs index bc0d19a5b9a..81321770a4e 100644 --- a/components/net/tests/fetch.rs +++ b/components/net/tests/fetch.rs @@ -33,15 +33,15 @@ use net::test::HttpState; use net_traits::filemanager_thread::FileTokenCheck; use net_traits::http_status::HttpStatus; use net_traits::request::{ - Destination, Origin, RedirectMode, Referrer, Request, RequestBuilder, RequestMode, + Destination, RedirectMode, Referrer, Request, RequestBuilder, RequestMode, }; -use net_traits::response::{CacheState, HttpsState, Response, ResponseBody, ResponseType}; +use net_traits::response::{CacheState, Response, ResponseBody, ResponseType}; use net_traits::{ FetchTaskTarget, IncludeSubdomains, NetworkError, ReferrerPolicy, ResourceFetchTiming, ResourceTimingType, }; use servo_arc::Arc as ServoArc; -use servo_url::{ImmutableOrigin, ServoUrl}; +use servo_url::ServoUrl; use tokio_test::block_on; use uuid::Uuid; @@ -61,14 +61,9 @@ fn test_fetch_response_is_not_network_error() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -80,14 +75,9 @@ fn test_fetch_response_is_not_network_error() { #[test] fn test_fetch_on_bad_port_is_network_error() { let url = ServoUrl::parse("http://www.example.org:6667").unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); assert!(fetch_response.is_network_error()); let fetch_error = fetch_response.get_network_error().unwrap(); @@ -105,14 +95,9 @@ fn test_fetch_response_body_matches_const_message() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -130,14 +115,9 @@ fn test_fetch_response_body_matches_const_message() { #[test] fn test_fetch_aboutblank() { let url = ServoUrl::parse("about:blank").unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); // We should see an opaque-filtered response. @@ -168,12 +148,12 @@ fn test_fetch_blob() { impl FetchTaskTarget for FetchResponseCollector { fn process_request_body(&mut self, _: &Request) {} fn process_request_eof(&mut self, _: &Request) {} - fn process_response(&mut self, _: &Response) {} - fn process_response_chunk(&mut self, chunk: Vec<u8>) { + fn process_response(&mut self, _: &Request, _: &Response) {} + fn process_response_chunk(&mut self, _: &Request, chunk: Vec<u8>) { self.buffer.extend_from_slice(chunk.as_slice()); } /// Fired when the response is fully fetched - fn process_response_eof(&mut self, response: &Response) { + fn process_response_eof(&mut self, _: &Request, response: &Response) { assert_eq!(self.buffer, self.expected); let _ = self.sender.send(response.clone()); } @@ -200,13 +180,9 @@ fn test_fetch_blob() { ); let url = ServoUrl::parse(&format!("blob:{}{}", origin.as_str(), id.simple())).unwrap(); - let mut request = Request::new( - url, - Some(Origin::Origin(origin.origin())), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(origin.origin()) + .build(); let (sender, receiver) = unbounded(); @@ -246,14 +222,9 @@ fn test_file() { .unwrap(); let url = ServoUrl::from_file_path(path.clone()).unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let pool = CoreResourceThreadPool::new(1); let pool_handle = Arc::new(pool); @@ -294,14 +265,9 @@ fn test_file() { #[test] fn test_fetch_ftp() { let url = ServoUrl::parse("ftp://not-supported").unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); assert!(fetch_response.is_network_error()); } @@ -309,14 +275,9 @@ fn test_fetch_ftp() { #[test] fn test_fetch_bogus_scheme() { let url = ServoUrl::parse("bogus://whatever").unwrap(); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); assert!(fetch_response.is_network_error()); } @@ -360,15 +321,7 @@ fn test_cors_preflight_fetch() { let (server, url) = make_server(handler); let target_url = url.clone().join("a.html").unwrap(); - - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url.clone(), - Some(origin), - Referrer::ReferrerUrl(target_url), - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url, Referrer::ReferrerUrl(target_url)).build(); request.referrer_policy = Some(ReferrerPolicy::Origin); request.use_cors_preflight = true; request.mode = RequestMode::CorsMode; @@ -418,14 +371,7 @@ fn test_cors_preflight_cache_fetch() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url.clone(), - Some(origin.clone()), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url, Referrer::NoReferrer).build(); request.use_cors_preflight = true; request.mode = RequestMode::CorsMode; let mut wrapped_request0 = request.clone(); @@ -485,14 +431,7 @@ fn test_cors_preflight_fetch_network_error() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url, Referrer::NoReferrer).build(); request.method = Method::from_bytes(b"CHICKEN").unwrap(); request.use_cors_preflight = true; request.mode = RequestMode::CorsMode; @@ -519,14 +458,9 @@ fn test_fetch_response_is_basic_filtered() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -587,14 +521,7 @@ fn test_fetch_response_is_cors_filtered() { let (server, url) = make_server(handler); // an origin mis-match will stop it from defaulting to a basic filtered response - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url, Referrer::NoReferrer).build(); request.mode = RequestMode::CorsMode; let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -626,14 +553,7 @@ fn test_fetch_response_is_opaque_filtered() { let (server, url) = make_server(handler); // an origin mis-match will fall through to an Opaque filtered response - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url, Referrer::NoReferrer).build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -679,14 +599,9 @@ fn test_fetch_response_is_opaque_redirect_filtered() { let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); request.redirect_mode = RedirectMode::Manual; let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -718,14 +633,9 @@ fn test_fetch_with_local_urls_only() { let (server, server_url) = make_server(handler); let do_fetch = |url: ServoUrl| { - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); // Set the flag. request.local_urls_only = true; @@ -786,14 +696,9 @@ fn test_fetch_with_hsts() { HstsEntry::new("localhost".to_owned(), IncludeSubdomains::NotIncluded, None).unwrap(), ); } - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); // Set the flag. request.local_urls_only = false; let response = fetch_with_context(&mut request, &mut context); @@ -935,14 +840,9 @@ fn test_fetch_with_sri_network_error() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); // To calulate hash use : // echo -n "alert('Hello, Network Error');" | openssl dgst -sha384 -binary | openssl base64 -A request.integrity_metadata = @@ -964,14 +864,9 @@ fn test_fetch_with_sri_sucess() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); // To calulate hash use : // echo -n "alert('Hello, Network Error');" | openssl dgst -sha384 -binary | openssl base64 -A request.integrity_metadata = @@ -1009,15 +904,10 @@ fn test_fetch_blocked_nosniff() { let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); - request.destination = destination; + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .destination(destination) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -1059,14 +949,9 @@ fn setup_server_and_fetch(message: &'static [u8], redirect_cap: u32) -> Response let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); fetch_response @@ -1152,15 +1037,10 @@ fn test_fetch_redirect_updates_method_runner( let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); - request.method = method; + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .method(method) + .build(); let _ = fetch(&mut request, None); let _ = server.close(); @@ -1240,15 +1120,9 @@ fn test_fetch_async_returns_complete_response() { }; let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); - + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -1264,15 +1138,7 @@ fn test_opaque_filtered_fetch_async_returns_complete_response() { let (server, url) = make_server(handler); // an origin mis-match will fall through to an Opaque filtered response - let origin = Origin::Origin(ImmutableOrigin::new_opaque()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); - + let mut request = RequestBuilder::new(url, Referrer::NoReferrer).build(); let fetch_response = fetch(&mut request, None); let _ = server.close(); @@ -1304,16 +1170,10 @@ fn test_opaque_redirect_filtered_fetch_async_returns_complete_response() { }; let (server, url) = make_server(handler); - - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url, - Some(origin), - Referrer::NoReferrer, - None, - HttpsState::None, - ); - request.redirect_mode = RedirectMode::Manual; + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .redirect_mode(RedirectMode::Manual) + .build(); let fetch_response = fetch(&mut request, None); @@ -1333,14 +1193,11 @@ fn test_fetch_with_devtools() { let (server, url) = make_server(handler); - let origin = Origin::Origin(url.origin()); - let mut request = Request::new( - url.clone(), - Some(origin), - Referrer::NoReferrer, - Some(TEST_PIPELINE_ID), - HttpsState::None, - ); + let mut request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .origin(url.origin()) + .redirect_mode(RedirectMode::Manual) + .pipeline_id(Some(TEST_PIPELINE_ID)) + .build(); let (devtools_chan, devtools_port) = unbounded(); diff --git a/components/net/tests/http_cache.rs b/components/net/tests/http_cache.rs index 9900295c891..478e452213b 100644 --- a/components/net/tests/http_cache.rs +++ b/components/net/tests/http_cache.rs @@ -6,8 +6,8 @@ use base::id::TEST_PIPELINE_ID; use http::header::{HeaderValue, EXPIRES}; use http::StatusCode; use net::http_cache::HttpCache; -use net_traits::request::{Origin, Referrer, Request}; -use net_traits::response::{HttpsState, Response, ResponseBody}; +use net_traits::request::{Referrer, RequestBuilder}; +use net_traits::response::{Response, ResponseBody}; use net_traits::{ResourceFetchTiming, ResourceTimingType}; use servo_url::ServoUrl; use tokio::sync::mpsc::unbounded_channel as unbounded; @@ -20,13 +20,10 @@ fn test_refreshing_resource_sets_done_chan_the_appropriate_value() { ResponseBody::Done(vec![]), ]; let url = ServoUrl::parse("https://servo.org").unwrap(); - let request = Request::new( - url.clone(), - Some(Origin::Origin(url.clone().origin())), - Referrer::NoReferrer, - Some(TEST_PIPELINE_ID), - HttpsState::None, - ); + let request = RequestBuilder::new(url.clone(), Referrer::NoReferrer) + .pipeline_id(Some(TEST_PIPELINE_ID)) + .origin(url.origin()) + .build(); let timing = ResourceFetchTiming::new(ResourceTimingType::Navigation); let mut response = Response::new(url.clone(), timing); // Expires header makes the response cacheable. diff --git a/components/net/tests/http_loader.rs b/components/net/tests/http_loader.rs index fac0101baba..bfa87f5df20 100644 --- a/components/net/tests/http_loader.rs +++ b/components/net/tests/http_loader.rs @@ -1426,12 +1426,12 @@ fn test_fetch_compressed_response_update_count() { impl FetchTaskTarget for FetchResponseCollector { fn process_request_body(&mut self, _: &Request) {} fn process_request_eof(&mut self, _: &Request) {} - fn process_response(&mut self, _: &Response) {} - fn process_response_chunk(&mut self, _: Vec<u8>) { + fn process_response(&mut self, _: &Request, _: &Response) {} + fn process_response_chunk(&mut self, _: &Request, _: Vec<u8>) { self.update_count += 1; } /// Fired when the response is fully fetched - fn process_response_eof(&mut self, _: &Response) { + fn process_response_eof(&mut self, _: &Request, _: &Response) { let _ = self.sender.send(self.update_count); } } diff --git a/components/net/tests/main.rs b/components/net/tests/main.rs index ae86c749d10..010898c2f83 100644 --- a/components/net/tests/main.rs +++ b/components/net/tests/main.rs @@ -121,10 +121,10 @@ fn new_fetch_context( impl FetchTaskTarget for FetchResponseCollector { fn process_request_body(&mut self, _: &Request) {} fn process_request_eof(&mut self, _: &Request) {} - fn process_response(&mut self, _: &Response) {} - fn process_response_chunk(&mut self, _: Vec<u8>) {} + fn process_response(&mut self, _: &Request, _: &Response) {} + fn process_response_chunk(&mut self, _: &Request, _: Vec<u8>) {} /// Fired when the response is fully fetched - fn process_response_eof(&mut self, response: &Response) { + fn process_response_eof(&mut self, _: &Request, response: &Response) { let _ = self.sender.send(response.clone()); } } |