Skip to content

Integration Tests for Agentic/Bot Identities#408

Draft
rido-min wants to merge 9 commits intonext/corefrom
next/core-agentic-int-tests
Draft

Integration Tests for Agentic/Bot Identities#408
rido-min wants to merge 9 commits intonext/corefrom
next/core-agentic-int-tests

Conversation

@rido-min
Copy link
Copy Markdown
Member

@rido-min rido-min commented Apr 1, 2026

This pull request introduces improvements to the test infrastructure for the Teams Bot SDK by centralizing the construction of agentic identities from environment variables, refactoring test code to use this new approach, and clarifying test requirements. The changes enhance maintainability and make it easier to configure and run tests that require special permissions or agentic identity properties.

Test infrastructure improvements:

  • Added a new helper class AgenticIdentitiyFromEnv to centralize the creation of ConversationAccount and AgenticIdentity instances using environment variables. This reduces code duplication and simplifies agentic identity management in tests.
  • Refactored ConversationClientTest to use the new AgenticIdentitiyFromEnv helper for constructing agentic identities and conversation accounts, replacing previous inline environment variable usage and property assignments. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Test clarity and maintainability:

  • Updated several [Fact] test attributes in CompatTeamsInfoTests.cs to clarify that they require special permissions, improving test documentation and preventing accidental execution without the necessary setup. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Logging and output improvements:

  • Replaced Console.WriteLine statements with ITestOutputHelper.WriteLine in tests to ensure test output is properly captured in test logs, aiding in debugging and test analysis. [1] [2] [3] [4]
  • Adjusted logging filters for Microsoft.Identity and Microsoft.Teams to show more relevant log levels during test execution.

rido-min and others added 9 commits February 7, 2026 13:16
Introduce agentic identity support in ConversationClientTest by adding helper methods to construct agentic user/app context from environment variables. Update all relevant test methods to use these helpers and pass agentic identity where required. Replace Console.WriteLine with xUnit output integration and configure logging for xUnit. Add MartinCostello.Logging.XUnit package for improved test logging. Mark tests requiring special permissions as skipped, and update logging configuration to use "Microsoft.Teams": "Trace". Includes minor test output and environment variable handling improvements.
Replaced explicit string declarations with var for agenticUserId, agenticAppId, and agenticAppBlueprintId in GetConversationAccountWithAgenticProperties and GetAgenticIdentity methods. This change improves code readability and maintains stylistic consistency. No functional changes were made.
Centralize agentic identity and conversation account construction in new AgenticIdentitiyFromEnv helper. Replace inlined and private methods in test files with calls to this helper. Remove redundant methods from ConversationClientTest. Update TeamsApiClientTests to use ITestOutputHelper for logging and consistently pass agentic identity to TeamsApiClient methods. Improves code reuse, test output, and maintainability.
Explicitly assign Conversation.Id in CoreActivity using the
TEST_CONVERSATIONID environment variable, with error handling
if not set. This ensures the test message is associated with
the correct conversation context.
Enabled group/topic tests, switched to TEST_TENANTID env var, and set Activity.From using agentic identity. Improved test coverage and ensured agentic identity is used in conversation creation and activity sending.
@rido-min rido-min added the CORE label Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant