tools/mcp/dotnet/AzureSDKSpecToolTests/ReleasePlanTest.cs (58 lines of code) (raw):

using AzureSDKDSpecTools.Models; using AzureSDKDSpecTools.Services; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.TeamFoundation.TestManagement.WebApi; namespace AzureSDKSpecToolTests { public class ReleasePlanTest { private IDevOpsService devOpsService; public ReleasePlanTest() { var serviceProvider = new ServiceCollection() .AddLogging(configure => configure.AddConsole()) .BuildServiceProvider(); var logger = serviceProvider.GetService<ILogger<DevOpsService>>(); devOpsService = new DevOpsService(logger); } [Fact] public async Task GetReleasePlanTest() { var releasePlan = await devOpsService.GetReleasePlan(26648); Assert.NotNull(releasePlan); Assert.Equal(26648, releasePlan.WorkItemId); Assert.True(!string.IsNullOrEmpty(releasePlan.Title)); } [Fact] public async Task GetReleasePlansForServicePrductTest() { var pr = "https://github.com/Azure/azure-rest-api-specs/pull/32282"; var releasePlans = await devOpsService.GetReleasePlans(Guid.Parse("42815c77-2fba-4eb9-b052-5f0c545cedf3"), Guid.Parse("8218fbb5-917d-4cd7-8498-9f21b189e231"), pr); Assert.NotNull(releasePlans); Assert.NotEmpty(releasePlans); Assert.Contains(pr.ToLower(), releasePlans.First().SpecPullRequests); } [Fact (Skip = "Disabled for default run test since this creates a work item")] public async Task CreateReleasePlanTest() { var pr = "https://github.com/Azure/azure-rest-api-specs/pull/32282"; var service = "42815c77-2fba-4eb9-b052-5f0c545cedf3"; var product = "8218fbb5-917d-4cd7-8498-9f21b189e231"; var releasePlan = new ReleasePlan() { ServiceTreeId = service, ProductTreeId = product, SDKReleaseMonth = "May 2025", ProductName = "Release Planner Test", IsManagementPlane = true, IsDataPlane = false, SpecPullRequests = [pr], SpecType = "TypeSpec" }; var workItem = await devOpsService.CreateReleasePlanWorkItem(releasePlan); Assert.NotNull(workItem); Assert.NotEmpty(workItem.Url); } } }