diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/authorization/cedar_authorizer.rs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/authorization/cedar_authorizer.rs b/src/authorization/cedar_authorizer.rs index 547a1318..16a3f405 100644 --- a/src/authorization/cedar_authorizer.rs +++ b/src/authorization/cedar_authorizer.rs @@ -35,17 +35,12 @@ impl Authorizer for CedarAuthorizer { } } -#[cfg(test)] -mod tests { - use super::*; - use envoy_types::pb::envoy::service::auth::v3::{AttributeContext, attribute_context}; - use std::collections::HashMap; - - fn build<T: Default>() -> T { +mod x { + pub fn build<T: Default>() -> T { T::default() } - fn build_with<T, F>(initializer: F) -> T + pub fn build_with<T, F>(initializer: F) -> T where T: Default, F: std::ops::FnOnce(&mut T), @@ -54,14 +49,23 @@ mod tests { initializer(&mut item); item } +} + +#[cfg(test)] +mod tests { + use super::*; + use envoy_types::pb::envoy::service::auth::v3::{AttributeContext, attribute_context}; + use std::collections::HashMap; fn create_test_request_with_headers(headers: HashMap<String, String>) -> CheckRequest { - build_with(|item: &mut CheckRequest| { - item.attributes = Some(build_with(|item: &mut AttributeContext| { - item.request = Some(build_with(|item: &mut attribute_context::Request| { - item.http = Some(build_with(|item: &mut attribute_context::HttpRequest| { - item.headers = headers; - })); + x::build_with(|item: &mut CheckRequest| { + item.attributes = Some(x::build_with(|item: &mut AttributeContext| { + item.request = Some(x::build_with(|item: &mut attribute_context::Request| { + item.http = Some(x::build_with( + |item: &mut attribute_context::HttpRequest| { + item.headers = headers; + }, + )); })); })); }) |
