summaryrefslogtreecommitdiff
path: root/tests/common/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/common/mod.rs')
-rw-r--r--tests/common/mod.rs20
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/common/mod.rs b/tests/common/mod.rs
index 4e879b6f..aab3a412 100644
--- a/tests/common/mod.rs
+++ b/tests/common/mod.rs
@@ -1,10 +1,24 @@
+mod factories;
+
use envoy_types::ext_authz::v3::pb::CheckRequest;
use envoy_types::pb::envoy::service::auth::v3::AttributeContext;
use envoy_types::pb::envoy::service::auth::v3::attribute_context::{HttpRequest, Request};
use std::collections::HashMap;
+pub fn build<T: Default>() -> T {
+ return please::build();
+}
+
+pub fn build_with<T, F>(initializer: F) -> T
+where
+ T: Default,
+ F: std::ops::FnOnce(&mut T),
+{
+ return please::build_with(initializer);
+}
+
pub fn create_request(f: impl std::ops::FnOnce(&mut HttpRequest)) -> CheckRequest {
- please::build_with(|item: &mut CheckRequest| {
+ build_with(|item: &mut CheckRequest| {
item.attributes = Some(please::build_with(|item: &mut AttributeContext| {
item.request = Some(please::build_with(|item: &mut Request| {
item.http = Some(please::build_with(|item: &mut HttpRequest| f(item)));
@@ -22,8 +36,8 @@ pub fn create_test_request_with_headers(
}
pub fn create_headers_with_auth(auth_value: &str) -> HashMap<String, String> {
- let mut headers = HashMap::new();
- headers.insert("authorization".to_string(), auth_value.to_string());
+ let mut headers = build::<HashMap<String, String>>();
+ headers.insert(String::from("authorization"), auth_value.to_string());
headers
}