From e36dcc53c38ed0c40b3833af2d17fdf9c2c565d1 Mon Sep 17 00:00:00 2001 From: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com> Date: Wed, 26 Aug 2026 23:15:15 +0100 Subject: [PATCH] .NET: Remove retired OpenAI Assistants integration tests The OpenAI Assistants API was retired on August 26, 2026, which leaves this integration test project calling an unavailable endpoint. Remove the orphaned project and its solution entry while retaining coverage for Chat Completions and Responses. Copilot-Session: 1c11f846-3824-4d19-8206-ec9f0b3dc0ad --- dotnet/agent-framework-dotnet.slnx | 1 - .../OpenAIAssistant.IntegrationTests.csproj | 17 --- ...sistantChatClientAgentRunStreamingTests.cs | 9 -- .../OpenAIAssistantChatClientAgentRunTests.cs | 9 -- .../OpenAIAssistantFixture.cs | 100 ------------------ .../OpenAIAssistantIRunTests.cs | 9 -- .../OpenAIAssistantRunStreamingTests.cs | 9 -- ...OpenAIAssistantStructuredOutputRunTests.cs | 23 ---- 8 files changed, 177 deletions(-) delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistant.IntegrationTests.csproj delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunStreamingTests.cs delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunTests.cs delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantFixture.cs delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantIRunTests.cs delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantRunStreamingTests.cs delete mode 100644 dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantStructuredOutputRunTests.cs diff --git a/dotnet/agent-framework-dotnet.slnx b/dotnet/agent-framework-dotnet.slnx index 0ba3890a2d6..227175d03da 100644 --- a/dotnet/agent-framework-dotnet.slnx +++ b/dotnet/agent-framework-dotnet.slnx @@ -655,7 +655,6 @@ - diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistant.IntegrationTests.csproj b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistant.IntegrationTests.csproj deleted file mode 100644 index b7fa78d499a..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistant.IntegrationTests.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - True - $(NoWarn);OPENAI001; - - - - - - - - - - - - diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunStreamingTests.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunStreamingTests.cs deleted file mode 100644 index 78d985a6f37..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunStreamingTests.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using AgentConformance.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantChatClientAgentRunStreamingTests() : ChatClientAgentRunStreamingTests(() => new()) -{ -} diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunTests.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunTests.cs deleted file mode 100644 index 641e656379f..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantChatClientAgentRunTests.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using AgentConformance.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantChatClientAgentRunTests() : ChatClientAgentRunTests(() => new()) -{ -} diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantFixture.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantFixture.cs deleted file mode 100644 index f679da04aa6..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantFixture.cs +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using AgentConformance.IntegrationTests; -using AgentConformance.IntegrationTests.Support; -using Microsoft.Agents.AI; -using Microsoft.Extensions.AI; -using OpenAI; -using OpenAI.Assistants; -using Shared.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantFixture : IChatClientAgentFixture -{ - private AssistantClient? _assistantClient; - private ChatClientAgent _agent = null!; - - public AIAgent Agent => this._agent; - - public IChatClient ChatClient => this._agent.ChatClient; - - public async Task> GetChatHistoryAsync(AIAgent agent, AgentSession session) - { - var typedSession = (ChatClientAgentSession)session; - List messages = []; - await foreach (var agentMessage in this._assistantClient!.GetMessagesAsync(typedSession.ConversationId, new() { Order = MessageCollectionOrder.Ascending })) - { - messages.Add(new() - { - Role = agentMessage.Role == MessageRole.User ? ChatRole.User : ChatRole.Assistant, - Contents = - [ - new TextContent(agentMessage.Content[0].Text ?? string.Empty) - ], - }); - } - - return messages; - } - - public async Task CreateChatClientAgentAsync( - string name = "HelpfulAssistant", - string instructions = "You are a helpful assistant.", - IList? aiTools = null) - { - var assistant = - await this._assistantClient!.CreateAssistantAsync( - TestConfiguration.GetRequiredValue(TestSettings.OpenAIChatModelName), - new AssistantCreationOptions() - { - Name = name, - Instructions = instructions - }); - - return new ChatClientAgent( - this._assistantClient.AsIChatClient(assistant.Value.Id), - options: new() - { - Id = assistant.Value.Id, - ChatOptions = new() { Tools = aiTools } - }); - } - - public Task DeleteAgentAsync(ChatClientAgent agent) => - this._assistantClient!.DeleteAssistantAsync(agent.Id); - - public Task DeleteSessionAsync(AgentSession session) - { - var typedSession = (ChatClientAgentSession)session; - if (typedSession?.ConversationId is not null) - { - return this._assistantClient!.DeleteThreadAsync(typedSession.ConversationId); - } - - return Task.CompletedTask; - } - - public async ValueTask InitializeAsync() - { - var client = new OpenAIClient(TestConfiguration.GetRequiredValue(TestSettings.OpenAIApiKey)); - this._assistantClient = client.GetAssistantClient(); - - this._agent = await this.CreateChatClientAgentAsync(); - } - - public ValueTask DisposeAsync() - { - GC.SuppressFinalize(this); - - if (this._assistantClient is not null && this._agent is not null) - { - return new ValueTask(this._assistantClient.DeleteAssistantAsync(this._agent.Id)); - } - - return default; - } -} diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantIRunTests.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantIRunTests.cs deleted file mode 100644 index 736c9fe0638..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantIRunTests.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using AgentConformance.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantIRunTests() : RunTests(() => new()) -{ -} diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantRunStreamingTests.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantRunStreamingTests.cs deleted file mode 100644 index 355fe8e5497..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantRunStreamingTests.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using AgentConformance.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantRunStreamingTests() : RunStreamingTests(() => new()) -{ -} diff --git a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantStructuredOutputRunTests.cs b/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantStructuredOutputRunTests.cs deleted file mode 100644 index e3b45bd5d2c..00000000000 --- a/dotnet/tests/OpenAIAssistant.IntegrationTests/OpenAIAssistantStructuredOutputRunTests.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. - -using System.Threading.Tasks; -using AgentConformance.IntegrationTests; - -namespace OpenAIAssistant.IntegrationTests; - -public class OpenAIAssistantStructuredOutputRunTests() : StructuredOutputRunTests(() => new()) -{ - private const string SkipReason = "Fails intermittently on the build agent/CI"; - - [Fact(Skip = SkipReason)] - public override Task RunWithResponseFormatReturnsExpectedResultAsync() => - base.RunWithResponseFormatReturnsExpectedResultAsync(); - - [Fact(Skip = SkipReason)] - public override Task RunWithGenericTypeReturnsExpectedResultAsync() => - base.RunWithGenericTypeReturnsExpectedResultAsync(); - - [Fact(Skip = SkipReason)] - public override Task RunWithPrimitiveTypeReturnsExpectedResultAsync() => - base.RunWithPrimitiveTypeReturnsExpectedResultAsync(); -}