Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive unit test coverage for the notification models and agent notification functionality in the microsoft-agents-a365-notifications library. The tests cover model initialization, validation, property access, and routing behavior.
Key Changes:
- Added unit tests for NotificationTypes enum covering all enum operations and string comparisons
- Added unit tests for EmailReference and WpxComment models testing initialization, validation, and serialization
- Added unit tests for AgentNotificationActivity testing entity parsing and model conversion
- Added unit tests for AgentNotification class testing route matching and decorator registration
- Updated import path from
microsoft_agents.activitytomicrosoft_agents.activity.channel_idfor ChannelId
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/notifications/models/test_wpx_comment.py | Comprehensive tests for WpxComment model initialization, validation, and property access |
| tests/notifications/models/test_notification_types.py | Tests for NotificationTypes enum values, string operations, and enum behavior |
| tests/notifications/models/test_email_reference.py | Tests for EmailReference model covering initialization, validation, and HTML content handling |
| tests/notifications/models/test_agent_notification_activity.py | Tests for AgentNotificationActivity including entity parsing and model conversion |
| tests/notifications/models/test_agent_notification.py | Tests for AgentNotification class covering route matching, decorators, and subchannel handling |
| tests/notifications/models/init.py | Added copyright header and module docstring for test package |
| tests/notifications/init.py | Added copyright header and module docstring for test package |
| libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py | Updated ChannelId import path to be more specific |
...icrosoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_notification_types.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_notification_types.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_notification_types.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_notification_types.py
Outdated
Show resolved
Hide resolved
tests/semantickernel_tests/test_semantickernel_service_logic.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/utils/test_utility.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/utils/test_utility.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_wpx_comment.py
Outdated
Show resolved
Hide resolved
…y.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
tests/microsoft-agents-a365-notification/models/test_agent_notification.py
Outdated
Show resolved
Hide resolved
…ub.com/microsoft/Agent365-python into users/anabdul/Unittest_Notification_Py
tests/semantickernel_tests/test_semantickernel_service_logic.py
Outdated
Show resolved
Hide resolved
tests/semantickernel_tests/test_semantickernel_service_logic.py
Outdated
Show resolved
Hide resolved
tests/semantickernel_tests/test_semantickernel_service_logic.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/models/test_mcp_server_config.py
Outdated
Show resolved
Hide resolved
...icrosoft-agents-a365-tooling-unittest/services/test_mcp_tool_server_configuration_service.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/models/test_mcp_server_config.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/models/test_mcp_server_config.py
Outdated
Show resolved
Hide resolved
...icrosoft-agents-a365-tooling-unittest/services/test_mcp_tool_server_configuration_service.py
Outdated
Show resolved
Hide resolved
...icrosoft-agents-a365-tooling-unittest/services/test_mcp_tool_server_configuration_service.py
Outdated
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-semantickernel-unittest/test_semantickernel_service_logic.py
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-extensions-openai-unittest/test_openai_service_logic.py
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-azureaifoundry-unittest/test_azureaifoundry_service_logic.py
Show resolved
Hide resolved
...icrosoft-agents-a365-tooling-unittest/services/test_mcp_tool_server_configuration_service.py
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/models/test_mcp_server_config.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_notification_types.py
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/models/test_mcp_server_config.py
Outdated
Show resolved
Hide resolved
- Standardized all test files to use 'Copyright (c) Microsoft Corporation.' - Added 'Licensed under the MIT License.' to comply with Microsoft coding standards - Updated 9 test files across notification and tooling unittest modules - Ensures consistency with Microsoft open source project requirements
tests/microsoft-agents-a365-notification/models/test_agent_notification.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-notification/models/test_agent_notification.py
Outdated
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-azureaifoundry-unittest/test_azureaifoundry_service_logic.py
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-azureaifoundry-unittest/test_azureaifoundry_service_logic.py
Outdated
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-azureaifoundry-unittest/test_azureaifoundry_service_logic.py
Outdated
Show resolved
Hide resolved
...-agents-a365-tooling-extensions-azureaifoundry-unittest/test_azureaifoundry_service_logic.py
Outdated
Show resolved
Hide resolved
tests/microsoft-agents-a365-tooling-unittest/utils/test_utility.py
Outdated
Show resolved
Hide resolved
| def get_ppapi_token_scope(): | ||
| """ | ||
| Gets the MCP platform authentication scope based on the current environment. |
There was a problem hiding this comment.
The function name get_ppapi_token_scope doesn't match the docstring which refers to 'MCP platform authentication scope'. The docstring should be updated to reflect that this returns the Power Platform API token scope.
| assert email_string == "Type: NotificationTypes.EMAIL_NOTIFICATION" | ||
| assert wpx_string == "Type: NotificationTypes.WPX_COMMENT" | ||
| assert lifecycle_string == "Type: NotificationTypes.AGENT_LIFECYCLE" |
There was a problem hiding this comment.
The test expects enum string formatting to include the enum class name (e.g., 'NotificationTypes.EMAIL_NOTIFICATION'), but Python's f-string formatting with enum values typically just returns the value itself (e.g., 'emailNotification'). Unless the enum has a custom __str__ method, this test will likely fail.
rahuldevikar761
left a comment
There was a problem hiding this comment.
Suggested feedback on the chat. Please take a look
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for McpToolRegistrationService business logic. | ||
| This tests the service implementation flow with mock dependencies. |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for Microsoft Agents A365 Notifications module. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for SemanticKernel MCP Tool Registration Service core logic. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for AgentNotificationActivity class - Clean Version | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for Microsoft Agents A365 Notifications models. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for OpenAI MCP Tool Registration Service core logic. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for AgentNotification class | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Init file for services tests. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Init file for models tests. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| # Copyright (c) Microsoft. All rights reserved. | ||
|
|
||
| """ | ||
| Unit tests for microsoft-agents-a365-tooling library. | ||
| """ |
There was a problem hiding this comment.
File is missing the standard Microsoft copyright header. Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Add a blank line after the header.
| @@ -0,0 +1,5 @@ | |||
| # Copyright (c) Microsoft. All rights reserved. | |||
There was a problem hiding this comment.
Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Keep a blank line after the header.
| @@ -0,0 +1,255 @@ | |||
| # Copyright (c) Microsoft. All rights reserved. | |||
There was a problem hiding this comment.
Please update the header to:
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
Followed by a blank line.
Adding unit tests to tooling, tooling extensions as well as notifications