/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Tools/Microsoft.dotnet-openapi/test/OpenApiAddProjectTests.cs
108 строк
4 KB
Pranav K
Use file scoped namespaces (#38076)
06 ноя 2021, 03:52
Не верифицирован
06 ноя 2021, 03:52
a450cb6
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.IO; using System.Threading.Tasks; using System.Xml; using Microsoft.DotNet.OpenApi.Tests; using Microsoft.Extensions.Tools.Internal; using Xunit; using Xunit.Abstractions; namespace Microsoft.DotNet.OpenApi.Add.Tests; public class OpenApiAddProjectTests : OpenApiTestBase { public OpenApiAddProjectTests(ITestOutputHelper output) : base(output) { } [Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/12738")] public async Task OpenApi_Add_GlobbingOpenApi() { var project = CreateBasicProject(withOpenApi: true); using var refProj1 = project.Project.Dir().SubDir("refProj1"); using var refProj2 = project.Project.Dir().SubDir("refProj2"); var project1 = refProj1.WithCSharpProject("refProj"); project1 .WithTargetFrameworks(TestTFM) .Dir() .Create(); var project2 = refProj2.WithCSharpProject("refProj2"); project2 .WithTargetFrameworks(TestTFM) .Dir() .Create(); var app = GetApplication(); var run = app.Execute(new[] { "add", "project", project1.Path, project2.Path }); AssertNoErrors(run); // csproj contents using var csprojStream = new FileInfo(project.Project.Path).OpenRead(); using var reader = new StreamReader(csprojStream); var content = await reader.ReadToEndAsync(); Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.Contains($"<OpenApiProjectReference Include=\"{project1.Path}\"", content); Assert.Contains($"<OpenApiProjectReference Include=\"{project2.Path}\"", content); } [Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/12738")] public void OpenApi_Add_Project_EquivilentPaths() { var project = CreateBasicProject(withOpenApi: false); using var refProj = new TemporaryDirectory(); var refProjName = "refProj"; var csproj = refProj.WithCSharpProject(refProjName); csproj .WithTargetFrameworks(TestTFM) .Dir() .Create(); var app = GetApplication(); var run = app.Execute(new[] { "add", "project", csproj.Path }); AssertNoErrors(run); app = GetApplication(); run = app.Execute(new[] { "add", "project", Path.Combine(csproj.Path, "..", "refProj.csproj") }); AssertNoErrors(run); var projXml = new XmlDocument(); projXml.Load(project.Project.Path); var openApiRefs = projXml.GetElementsByTagName(Commands.BaseCommand.OpenApiProjectReference); Assert.Single(openApiRefs); } [Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/12738")] public async Task OpenApi_Add_FromCsProj() { var project = CreateBasicProject(withOpenApi: false); using var refProj = new TemporaryDirectory(); var refProjName = "refProj"; refProj .WithCSharpProject(refProjName) .WithTargetFrameworks(TestTFM) .Dir() .Create(); var app = GetApplication(); var refProjFile = Path.Join(refProj.Root, $"{refProjName}.csproj"); var run = app.Execute(new[] { "add", "project", refProjFile }); AssertNoErrors(run); // csproj contents using var csprojStream = new FileInfo(project.Project.Path).OpenRead(); using var reader = new StreamReader(csprojStream); var content = await reader.ReadToEndAsync(); Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.Contains($"<OpenApiProjectReference Include=\"{refProjFile}\"", content); } }