use tonic::{Request, Response}; use database_service::database::database_service_server::DatabaseService; use database_service::database::GetUserRequest; use database_service::MyDatabaseService; #[tokio::test] async fn test_grpc_get_user() { let pool = setup_test_pool().await; // Set up your test pool let cache = setup_test_cache().await; // Set up mock Redis cache let service = MyDatabaseService { pool, cache }; // Create a mock gRPC request let request = Request::new(GetUserRequest { user_id: 123, }); // Call the service let response = service.get_user(request).await.unwrap().into_inner(); // Validate the response assert_eq!(response.user_id, 123); assert_eq!(response.username, "test_user"); assert_eq!(response.email, "test@example.com"); }