diff options
Diffstat (limited to 'src/authorization')
| -rw-r--r-- | src/authorization/cedar_authorizer.rs | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/authorization/cedar_authorizer.rs b/src/authorization/cedar_authorizer.rs index 49659d35..44bc9e06 100644 --- a/src/authorization/cedar_authorizer.rs +++ b/src/authorization/cedar_authorizer.rs @@ -38,31 +38,20 @@ impl Authorizer for CedarAuthorizer { #[cfg(test)] mod tests { use super::*; - use envoy_types::pb::envoy::service::auth::v3::{AttributeContext, attribute_context}; + 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; - fn create_request( - f: impl std::ops::FnOnce(&mut attribute_context::HttpRequest), - ) -> CheckRequest { + fn create_request(f: impl std::ops::FnOnce(&mut HttpRequest)) -> CheckRequest { please::build_with(|item: &mut CheckRequest| { item.attributes = Some(please::build_with(|item: &mut AttributeContext| { - item.request = Some(please::build_with( - |item: &mut attribute_context::Request| { - item.http = Some(please::build_with( - |item: &mut attribute_context::HttpRequest| f(item), - )); - }, - )); + item.request = Some(please::build_with(|item: &mut Request| { + item.http = Some(please::build_with(|item: &mut HttpRequest| f(item))); + })); })); }) } - fn create_test_request_with_headers(headers: HashMap<String, String>) -> CheckRequest { - return create_request(|item: &mut attribute_context::HttpRequest| { - item.headers = headers; - }); - } - #[test] fn test_cedar_authorizer_allows_valid_token() { let authorizer = CedarAuthorizer::new(); @@ -71,7 +60,9 @@ mod tests { "authorization".to_string(), "Bearer valid-token".to_string(), ); - let request = create_test_request_with_headers(headers); + let request = create_request(|item: &mut HttpRequest| { + item.headers = headers; + }); let result = authorizer.authorize(request); assert!(result); @@ -85,7 +76,9 @@ mod tests { "authorization".to_string(), "Bearer invalid-token".to_string(), ); - let request = create_test_request_with_headers(headers); + let request = create_request(|item: &mut HttpRequest| { + item.headers = headers; + }); let result = authorizer.authorize(request); assert!(!result); @@ -95,7 +88,9 @@ mod tests { fn test_cedar_authorizer_denies_missing_header() { let authorizer = CedarAuthorizer::new(); let headers = HashMap::new(); - let request = create_test_request_with_headers(headers); + let request = create_request(|item: &mut HttpRequest| { + item.headers = headers; + }); let result = authorizer.authorize(request); assert!(!result); |
