| File: ProjectRebuilderResourceTests.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Tests\Aspire.Hosting.Tests.csproj (Aspire.Hosting.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable ASPIREPROJECTS001 using Aspire.Hosting.Testing; using Aspire.Hosting.Tests.Utils; using Aspire.Hosting.Utils; namespace Aspire.Hosting.Tests; [Trait("Partition", "2")] public class ProjectRebuilderResourceTests { [Fact] public async Task AddProjectRebuilderUsesConfiguredBuildConfiguration() { using var builder = CreateBuilder(); var project = builder.AddProject<Projects.ServiceA>("servicea", options => options.ExcludeLaunchProfile = true); var launchDefaults = Assert.Single(project.Resource.Annotations.OfType<ProjectLaunchDefaultsAnnotation>()); launchDefaults.BuildConfiguration = "Release"; var rebuilder = Assert.Single(builder.Resources.OfType<ProjectRebuilderResource>()); var args = await ArgumentEvaluator.GetArgumentListAsync(rebuilder); Assert.Equal( [ "build", project.Resource.GetProjectMetadata().ProjectPath, "--configuration", "Release" ], args); } [Fact] public async Task AddProjectRebuilderOmitsConfigurationWhenAppHostConfigurationIsUnavailable() { using var builder = CreateBuilder(); var project = builder.AddProject<Projects.ServiceA>("servicea", options => options.ExcludeLaunchProfile = true); var launchDefaults = Assert.Single(project.Resource.Annotations.OfType<ProjectLaunchDefaultsAnnotation>()); launchDefaults.BuildConfiguration = null; var rebuilder = Assert.Single(builder.Resources.OfType<ProjectRebuilderResource>()); var args = await ArgumentEvaluator.GetArgumentListAsync(rebuilder); Assert.Equal( [ "build", project.Resource.GetProjectMetadata().ProjectPath ], args); } private static IDistributedApplicationTestingBuilder CreateBuilder() { return TestDistributedApplicationBuilder.Create(); } }