Skip to content

feat(DATAGO-131375): Implement EventMeshService for request-response communication via Solace broker#157

Merged
artyom-morozov merged 8 commits into
mainfrom
cyrus/DATAGO-131375/sam-event-mesh-identity-provider
Apr 21, 2026
Merged

feat(DATAGO-131375): Implement EventMeshService for request-response communication via Solace broker#157
artyom-morozov merged 8 commits into
mainfrom
cyrus/DATAGO-131375/sam-event-mesh-identity-provider

Conversation

@cyrus2281

Copy link
Copy Markdown
Collaborator

What is the purpose of this change?

This plugin provides a generic, vendor-agnostic identity and employee service provider for Solace Agent Mesh that communicates with backend systems via the Solace event broker using request-response messaging. It eliminates the need for custom code when integrating with HR or identity systems.

How was this change implemented?

High-level approach:
- Created a new plugin that implements both BaseIdentityService and BaseEmployeeService interfaces
- Built an EventMeshService class for Solace request-response communication
- Added a configurable field mapping engine to transform backend data into canonical format
- Implemented support for all identity and employee service operations
- Added comprehensive test coverage for all components
- feat: Implement EventMeshService for request-response communication via Solace broker

Key Design Decisions

Rather than creating separate plugins for different backend systems (Workday, BambooHR, etc.), this plugin provides a single configurable solution that works with any backend. Configurable topics and field mappings allow users to adapt to their specific backend systems without modifying code, while the caching layer improves performance.

How was this change tested?

  • Manual testing: Verified request-response flow with Solace broker
  • Unit tests: Added comprehensive tests for all components (field_mapper, provider, service)
  • Integration tests: Not applicable at this stage
  • Known limitations: Real-world integration testing with specific HR systems will be needed

Is there anything the reviewers should focus on/be aware of?

The plugin can be used in two roles: as an identity service for gateway identity enrichment, and as a people/employee service for agent employee queries. Operations can be selectively enabled.

…ia Solace broker

- Added EventMeshService class to handle request-response sessions with backend systems.
- Configurable operations for request and response topics.
- Implemented session management, request sending, and cleanup methods.
- Introduced logging for session creation and request handling.

test: Add unit tests for EventMeshService and related components

- Created unit tests for EventMeshService covering initialization, operation checks, request sending, and cleanup.
- Added tests for various scenarios including success, exceptions, and unconfigured operations.
- Implemented mock components for testing without actual broker interaction.

chore: Set up test fixtures and initial test structure

- Created shared test fixtures in conftest.py for clearing cache and mocking components.
- Established directory structure for unit tests with __init__.py files.
- Added initial test cases for FieldMapper and EventMeshIdentityProvider classes.
@cyrus2281 cyrus2281 self-assigned this Apr 21, 2026
@cyrus2281 cyrus2281 requested a review from a team April 21, 2026 17:47
@sonarqube-solacecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

✅ SonarQube Quality Gate - All Passed

Project Quality Gate Status Analysis
sam-event-mesh-identity-provider ✅ Passed See analysis details on SonarQube

Quality gate checks run for each changed project.

@github-actions

Copy link
Copy Markdown

✅ FOSSA Guard (PR Diff) - No New Issues Introduced

Diff mode compares PR head against base revision and reports only newly introduced issues.

Check Scope Status
FOSSA Vulnerabilities Per-Project (PR Diff) ✅ Passed
License Check Per-Project (PR Diff) ✅ Passed

Projects With New Issues

  • None
Project FOSSA Vulnerabilities License Check FOSSA Report
sam-event-mesh-identity-provider ✅ Passed ✅ Passed View report

Only newly introduced issues are shown in this report.

@artyom-morozov artyom-morozov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@artyom-morozov artyom-morozov merged commit 6402138 into main Apr 21, 2026
12 of 13 checks passed
@artyom-morozov artyom-morozov deleted the cyrus/DATAGO-131375/sam-event-mesh-identity-provider branch April 21, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants