Skip to content

feat: implement Google Workspace clients foundation#1035

Merged
gcharest merged 1 commit intomainfrom
feat/infra_client_google_foundation
Jan 9, 2026
Merged

feat: implement Google Workspace clients foundation#1035
gcharest merged 1 commit intomainfrom
feat/infra_client_google_foundation

Conversation

@gcharest
Copy link
Contributor

@gcharest gcharest commented Jan 9, 2026

Summary | Résumé

This pull request introduces a new infrastructure layer for Google Workspace API clients, including a robust, reusable executor for Google API calls with built-in retry and error handling, a session provider for authentication and service instantiation, and a facade for accessing all service clients. It also adds comprehensive unit tests and shared fixtures to ensure reliability and testability.

Google Workspace Infrastructure Layer

  • Added a GoogleWorkspaceClients facade class to provide a unified interface for all Google Workspace service clients, improving discoverability and dependency injection. (facade.py)
  • Implemented a SessionProvider class to centralize authentication, service account delegation, and Google API service creation, ensuring thread safety and proper credential management. (session_provider.py)
  • Created an executor.py module with an execute_google_api_call function that standardizes API call execution, including configurable retries, exponential backoff, rate limit handling, and error normalization. (executor.py)

Testing Infrastructure

  • Added a suite of unit tests for the executor module, covering success, retry logic, error handling, and backoff strategies. (test_executor.py)
  • Introduced shared test fixtures for mocking Google API services, credentials, and errors, facilitating reliable and isolated unit tests. (conftest.py)
  • Added module docstring for test package organization. (__init__.py)

Public API and Documentation

  • Provided clear public API documentation and usage examples in the package __init__.py to guide developers in integrating the new infrastructure layer. (__init__.py)

@gcharest gcharest requested a review from a team January 9, 2026 21:10
@gcharest gcharest self-assigned this Jan 9, 2026
@gcharest gcharest merged commit 365b040 into main Jan 9, 2026
9 checks passed
@gcharest gcharest deleted the feat/infra_client_google_foundation branch January 9, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants