/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Tools/Microsoft.dotnet-openapi/test/OpenApiRemoveTests.cs
188 строк
7 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 Microsoft.DotNet.OpenApi.Tests; using Microsoft.Extensions.Tools.Internal; using Xunit.Abstractions; namespace Microsoft.DotNet.OpenApi.Remove.Tests; public class OpenApiRemoveTests : OpenApiTestBase { public OpenApiRemoveTests(ITestOutputHelper output) : base(output) { } [Fact] public async Task OpenApi_Remove_File() { var nswagJsonFile = "openapi.json"; _tempDir .WithCSharpProject("testproj") .WithTargetFrameworks(TestTFM) .Dir() .WithContentFile(nswagJsonFile) .WithContentFile("Startup.cs") .Create(); var add = GetApplication(); var run = add.Execute(new[] { "add", "file", nswagJsonFile }); AssertNoErrors(run); // csproj contents var csproj = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")); using (var csprojStream = csproj.OpenRead()) using (var reader = new StreamReader(csprojStream)) { var content = await reader.ReadToEndAsync(); Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.Contains($"<OpenApiReference Include=\"{nswagJsonFile}\"", content); } var remove = GetApplication(); var removeRun = remove.Execute(new[] { "remove", nswagJsonFile }); AssertNoErrors(removeRun); // csproj contents csproj = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")); using (var csprojStream = csproj.OpenRead()) using (var reader = new StreamReader(csprojStream)) { var content = await reader.ReadToEndAsync(); // Don't remove the package reference, they might have taken other dependencies on it Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.DoesNotContain($"<OpenApiReference Include=\"{nswagJsonFile}\"", content); } Assert.False(File.Exists(Path.Combine(_tempDir.Root, nswagJsonFile))); } [Fact] public async Task OpenApi_Remove_ViaUrl() { _tempDir .WithCSharpProject("testproj") .WithTargetFrameworks(TestTFM) .Dir() .WithContentFile("Startup.cs") .Create(); var add = GetApplication(); var run = add.Execute(new[] { "add", "url", FakeOpenApiUrl }); AssertNoErrors(run); // csproj contents var csproj = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")); using (var csprojStream = csproj.OpenRead()) using (var reader = new StreamReader(csprojStream)) { var content = await reader.ReadToEndAsync(); // Don't remove the package reference, they might have taken other dependencies on it Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); } var remove = GetApplication(); var removeRun = remove.Execute(new[] { "remove", FakeOpenApiUrl }); AssertNoErrors(removeRun); // csproj contents csproj = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")); using var removedCsprojStream = csproj.OpenRead(); using var removedReader = new StreamReader(removedCsprojStream); var removedContent = await removedReader.ReadToEndAsync(); // Don't remove the package reference, they might have taken other dependencies on it Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", removedContent); Assert.DoesNotContain($"<OpenApiReference", removedContent); } [Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/12738")] public async Task OpenApi_Remove_Project() { _tempDir .WithCSharpProject("testproj") .WithTargetFrameworks(TestTFM) .Dir() .WithContentFile("Startup.cs") .Create(); 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(Path.Join(_tempDir.Root, "testproj.csproj")).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); } var remove = GetApplication(); run = app.Execute(new[] { "remove", refProjFile }); AssertNoErrors(run); // csproj contents using (var csprojStream = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")).OpenRead()) using (var reader = new StreamReader(csprojStream)) { var content = await reader.ReadToEndAsync(); Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.DoesNotContain($"<OpenApiProjectReference Include=\"{refProjFile}\"", content); } } [Fact] public async Task OpenApi_Remove_Multiple() { var nswagJsonFile = "openapi.json"; var swagFile2 = "swag2.json"; _tempDir .WithCSharpProject("testproj") .WithTargetFrameworks(TestTFM) .Dir() .WithContentFile(nswagJsonFile) .WithFile(swagFile2) .WithContentFile("Startup.cs") .Create(); var add = GetApplication(); var run = add.Execute(new[] { "add", "file", nswagJsonFile }); AssertNoErrors(run); add = GetApplication(); run = add.Execute(new[] { "add", "file", swagFile2 }); AssertNoErrors(run); var remove = GetApplication(); var removeRun = remove.Execute(new[] { "remove", nswagJsonFile, swagFile2 }); AssertNoErrors(removeRun); // csproj contents var csproj = new FileInfo(Path.Join(_tempDir.Root, "testproj.csproj")); using (var csprojStream = csproj.OpenRead()) using (var reader = new StreamReader(csprojStream)) { var content = await reader.ReadToEndAsync(); // Don't remove the package reference, they might have taken other dependencies on it Assert.Contains("<PackageReference Include=\"NSwag.ApiDescription.Client\" Version=\"", content); Assert.DoesNotContain($"<OpenApiReference Include=\"{nswagJsonFile}\"", content); } Assert.False(File.Exists(Path.Combine(_tempDir.Root, nswagJsonFile))); } }