summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-06-25 14:24:19 -0600
committermo khan <mo@mokhan.ca>2025-06-25 14:24:19 -0600
commit86c9564a82f56b7c5ee60f4bff9fb07ca3e4a6eb (patch)
treeecf9c5c3335b2f27fed2dbf3dcfded1eb2b0b68c /src
parentd099e77eaa8e51eef14cd775234bfd4b12098a4c (diff)
test: move unit tests to integration test suite to share code
Diffstat (limited to 'src')
-rw-r--r--src/authorization/check_service.rs62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/authorization/check_service.rs b/src/authorization/check_service.rs
index c0a05e21..6c6bd9c6 100644
--- a/src/authorization/check_service.rs
+++ b/src/authorization/check_service.rs
@@ -33,65 +33,3 @@ impl envoy_types::ext_authz::v3::pb::Authorization for CheckService {
}
}
}
-
-#[cfg(test)]
-mod tests {
- use super::super::cedar_authorizer::CedarAuthorizer;
- use super::*;
- use envoy_types::ext_authz::v3::pb::{Authorization, 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;
- use std::sync::Arc;
-
- pub 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 Request| {
- item.http = Some(please::build_with(|item: &mut HttpRequest| f(item)));
- }));
- }));
- })
- }
-
- pub fn create_token() -> String {
- return String::from("valid-token");
- }
-
- #[tokio::test]
- async fn test_check_allows_valid_bearer_token() {
- let token = create_token();
- let server = CheckService::new(Arc::new(CedarAuthorizer::new()));
-
- let mut headers = HashMap::new();
- headers.insert("authorization".to_string(), format!("Bearer {}", token));
- let request = tonic::Request::new(create_request(|item: &mut HttpRequest| {
- item.headers = headers;
- }));
-
- let response = server.check(request).await;
-
- assert!(response.is_ok());
- let check_response = response.unwrap().into_inner();
- assert!(check_response.status.is_some());
- let status = check_response.status.unwrap();
- assert_eq!(status.code, tonic::Code::Ok as i32);
- }
-
- #[tokio::test]
- async fn test_check_denies_invalid_bearer_token() {
- let authorizer = Arc::new(CedarAuthorizer::new());
- let server = CheckService::new(authorizer);
- let request = tonic::Request::new(create_request(|item: &mut HttpRequest| {
- item.headers = HashMap::new();
- }));
-
- let response = server.check(request).await;
-
- assert!(response.is_ok());
- let check_response = response.unwrap().into_inner();
- assert!(check_response.status.is_some());
- let status = check_response.status.unwrap();
- assert_eq!(status.code, tonic::Code::Unauthenticated as i32);
- }
-}