Files
microsoft--agent-framework/dotnet/tests/Microsoft.Agents.AI.DurableTask.UnitTests/Workflows/WorkflowNamingHelperTests.cs
T
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00

91 lines
2.8 KiB
C#

// Copyright (c) Microsoft. All rights reserved.
using Microsoft.Agents.AI.DurableTask.Workflows;
namespace Microsoft.Agents.AI.DurableTask.UnitTests.Workflows;
public sealed class WorkflowNamingHelperTests
{
[Fact]
public void ToOrchestrationFunctionName_ValidWorkflowName_ReturnsPrefixedName()
{
string result = WorkflowNamingHelper.ToOrchestrationFunctionName("MyWorkflow");
Assert.Equal("dafx-MyWorkflow", result);
}
[Theory]
[InlineData(null)]
[InlineData("")]
public void ToOrchestrationFunctionName_NullOrEmpty_ThrowsArgumentException(string? workflowName)
{
Assert.ThrowsAny<ArgumentException>(() => WorkflowNamingHelper.ToOrchestrationFunctionName(workflowName!));
}
[Fact]
public void ToWorkflowName_ValidOrchestrationFunctionName_ReturnsWorkflowName()
{
string result = WorkflowNamingHelper.ToWorkflowName("dafx-MyWorkflow");
Assert.Equal("MyWorkflow", result);
}
[Theory]
[InlineData(null)]
[InlineData("")]
public void ToWorkflowName_NullOrEmpty_ThrowsArgumentException(string? orchestrationFunctionName)
{
Assert.ThrowsAny<ArgumentException>(() => WorkflowNamingHelper.ToWorkflowName(orchestrationFunctionName!));
}
[Theory]
[InlineData("MyWorkflow")]
[InlineData("invalid-prefix-MyWorkflow")]
[InlineData("dafx")]
[InlineData("dafx-")]
public void ToWorkflowName_InvalidOrMissingPrefix_ThrowsArgumentException(string orchestrationFunctionName)
{
Assert.Throws<ArgumentException>(() => WorkflowNamingHelper.ToWorkflowName(orchestrationFunctionName));
}
[Fact]
public void GetExecutorName_SimpleExecutorId_ReturnsSameName()
{
string result = WorkflowNamingHelper.GetExecutorName("OrderParser");
Assert.Equal("OrderParser", result);
}
[Fact]
public void GetExecutorName_ExecutorIdWithGuidSuffix_ReturnsNameWithoutSuffix()
{
string result = WorkflowNamingHelper.GetExecutorName("Physicist_8884e71021334ce49517fa2b17b1695b");
Assert.Equal("Physicist", result);
}
[Fact]
public void GetExecutorName_NameWithUnderscoresAndGuidSuffix_ReturnsFullName()
{
string result = WorkflowNamingHelper.GetExecutorName("my_agent_8884e71021334ce49517fa2b17b1695b");
Assert.Equal("my_agent", result);
}
[Fact]
public void GetExecutorName_NameWithUnderscoreButNoGuidSuffix_ReturnsSameName()
{
string result = WorkflowNamingHelper.GetExecutorName("my_custom_executor");
Assert.Equal("my_custom_executor", result);
}
[Theory]
[InlineData(null)]
[InlineData("")]
public void GetExecutorName_NullOrEmpty_ThrowsArgumentException(string? executorId)
{
Assert.ThrowsAny<ArgumentException>(() => WorkflowNamingHelper.GetExecutorName(executorId!));
}
}