Skip to content

Commit 7ee62e8

Browse files
authored
Issue-185 - Mock Router Builder (#209)
1 parent 7f82820 commit 7ee62e8

File tree

4 files changed

+242
-314
lines changed

4 files changed

+242
-314
lines changed

extension/tests/app_request.rs

Lines changed: 29 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use httpdate::fmt_http_date;
55
use hyper::{
66
body::{Bytes, Frame},
77
http::HeaderName,
8-
Request, StatusCode, Uri,
8+
Request, Uri,
99
};
1010
use std::time::SystemTime;
1111
use tokio_test::assert_ok;
@@ -49,17 +49,8 @@ async fn test_read_until_req_headers_valid_req() {
4949
let channel_id = "channel_id".to_string();
5050

5151
// Start router server
52-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
53-
request_method: mock_router::RequestMethod::Get,
54-
channel_non_200_status_after_count: -1,
55-
channel_non_200_status_code: StatusCode::CONFLICT,
56-
channel_panic_response_from_extension_on_count: -1,
57-
channel_panic_request_to_extension_before_start_on_count: -1,
58-
channel_panic_request_to_extension_after_start: false,
59-
channel_panic_request_to_extension_before_close: false,
60-
ping_panic_after_count: -1,
61-
listener_type: mock_router::ListenerType::Http,
62-
});
52+
let mock_router_server =
53+
mock_router::setup_router(mock_router::RouterParamsBuilder::new().build());
6354

6455
// Let the router return right away
6556
tokio::spawn(async move {
@@ -152,17 +143,11 @@ async fn test_read_until_req_headers_no_host_header() {
152143
let channel_id = "channel_id".to_string();
153144

154145
// Start router server
155-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
156-
request_method: mock_router::RequestMethod::GetNoHost,
157-
channel_non_200_status_after_count: 1,
158-
channel_non_200_status_code: StatusCode::CONFLICT,
159-
channel_panic_response_from_extension_on_count: -1,
160-
channel_panic_request_to_extension_before_start_on_count: -1,
161-
channel_panic_request_to_extension_after_start: false,
162-
channel_panic_request_to_extension_before_close: false,
163-
ping_panic_after_count: -1,
164-
listener_type: mock_router::ListenerType::Http,
165-
});
146+
let mock_router_server = mock_router::setup_router(
147+
mock_router::RouterParamsBuilder::new()
148+
.request_method(mock_router::RequestMethod::GetNoHost)
149+
.build(),
150+
);
166151

167152
// Let the router return right away
168153
tokio::spawn(async move {
@@ -254,17 +239,12 @@ async fn test_read_until_req_headers_double_slash_path() {
254239
let channel_id = "channel_id".to_string();
255240

256241
// Start router server
257-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
258-
request_method: mock_router::RequestMethod::GetDoubleSlashPath,
259-
channel_non_200_status_after_count: 1,
260-
channel_non_200_status_code: StatusCode::CONFLICT,
261-
channel_panic_response_from_extension_on_count: -1,
262-
channel_panic_request_to_extension_before_start_on_count: -1,
263-
channel_panic_request_to_extension_after_start: false,
264-
channel_panic_request_to_extension_before_close: false,
265-
ping_panic_after_count: -1,
266-
listener_type: mock_router::ListenerType::Http,
267-
});
242+
let mock_router_server = mock_router::setup_router(
243+
mock_router::RouterParamsBuilder::new()
244+
.request_method(mock_router::RequestMethod::GetDoubleSlashPath)
245+
.channel_non_200_status_after_count(1)
246+
.build(),
247+
);
268248

269249
// Let the router return right away
270250
tokio::spawn(async move {
@@ -353,17 +333,11 @@ async fn test_read_until_req_headers_go_away_path() {
353333
let channel_id = "channel_id".to_string();
354334

355335
// Start router server
356-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
357-
request_method: mock_router::RequestMethod::GetGoAwayOnBody,
358-
channel_non_200_status_after_count: -1,
359-
channel_non_200_status_code: StatusCode::CONFLICT,
360-
channel_panic_response_from_extension_on_count: -1,
361-
channel_panic_request_to_extension_before_start_on_count: -1,
362-
channel_panic_request_to_extension_after_start: false,
363-
channel_panic_request_to_extension_before_close: false,
364-
ping_panic_after_count: -1,
365-
listener_type: mock_router::ListenerType::Http,
366-
});
336+
let mock_router_server = mock_router::setup_router(
337+
mock_router::RouterParamsBuilder::new()
338+
.request_method(mock_router::RequestMethod::GetGoAwayOnBody)
339+
.build(),
340+
);
367341

368342
// Release the response before we make the request
369343
// This way we get all the bytes in one chunk
@@ -452,17 +426,11 @@ async fn test_read_until_req_headers_connection_closed() {
452426
let channel_id = "channel_id".to_string();
453427

454428
// Start router server
455-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
456-
request_method: mock_router::RequestMethod::ShutdownWithoutResponse,
457-
channel_non_200_status_after_count: -1,
458-
channel_non_200_status_code: StatusCode::CONFLICT,
459-
channel_panic_response_from_extension_on_count: -1,
460-
channel_panic_request_to_extension_before_start_on_count: -1,
461-
channel_panic_request_to_extension_after_start: false,
462-
channel_panic_request_to_extension_before_close: false,
463-
ping_panic_after_count: -1,
464-
listener_type: mock_router::ListenerType::Http,
465-
});
429+
let mock_router_server = mock_router::setup_router(
430+
mock_router::RouterParamsBuilder::new()
431+
.request_method(mock_router::RequestMethod::ShutdownWithoutResponse)
432+
.build(),
433+
);
466434

467435
let channel_url: Uri = format!(
468436
"http://localhost:{}/api/chunked/request/{}/{}",
@@ -546,17 +514,11 @@ async fn test_read_until_req_headers_partial_reads() {
546514
let channel_id = "channel_id".to_string();
547515

548516
// Start router server
549-
let mock_router_server = mock_router::setup_router(mock_router::RouterParams {
550-
request_method: mock_router::RequestMethod::Get,
551-
channel_non_200_status_after_count: 1,
552-
channel_non_200_status_code: StatusCode::CONFLICT,
553-
channel_panic_response_from_extension_on_count: -1,
554-
channel_panic_request_to_extension_before_start_on_count: -1,
555-
channel_panic_request_to_extension_after_start: false,
556-
channel_panic_request_to_extension_before_close: false,
557-
ping_panic_after_count: -1,
558-
listener_type: mock_router::ListenerType::Http,
559-
});
517+
let mock_router_server = mock_router::setup_router(
518+
mock_router::RouterParamsBuilder::new()
519+
.channel_non_200_status_after_count(1)
520+
.build(),
521+
);
560522

561523
let channel_url: Uri = format!(
562524
"http://localhost:{}/api/chunked/request/{}/{}",

0 commit comments

Comments
 (0)