/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Tools/Microsoft.dotnet-openapi/test/OpenApiRefreshTests.cs
97 строк
3 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 Xunit.Abstractions; namespace Microsoft.DotNet.OpenApi.Refresh.Tests; public class OpenApiRefreshTests : OpenApiTestBase { public OpenApiRefreshTests(ITestOutputHelper output) : base(output) { } [Fact] public async Task OpenApi_Refresh_Basic() { CreateBasicProject(withOpenApi: false); // Add <OpenApiReference/> to the project. Ignore initial filename.json content. var app = GetApplication(); var run = app.Execute(new[] { "add", "url", FakeOpenApiUrl }); AssertNoErrors(run); // File will grow after the refresh. var expectedJsonPath = Path.Combine(_tempDir.Root, "filename.json"); await File.WriteAllTextAsync(expectedJsonPath, "trash"); var firstWriteTime = File.GetLastWriteTime(expectedJsonPath); await Task.Delay(TimeSpan.FromSeconds(1)); app = GetApplication(); run = app.Execute(new[] { "refresh", FakeOpenApiUrl }); AssertNoErrors(run); var secondWriteTime = File.GetLastWriteTime(expectedJsonPath); Assert.True(firstWriteTime < secondWriteTime, $"File wasn't updated! {firstWriteTime} {secondWriteTime}"); Assert.Equal(Content, await File.ReadAllTextAsync(expectedJsonPath), ignoreLineEndingDifferences: true); } // Regression test for #35767 scenario. [Fact] public async Task OpenApi_Refresh_MuchShorterFile() { CreateBasicProject(withOpenApi: false); // Add <OpenApiReference/> to the project. Ignore initial filename.json content. var app = GetApplication(); var run = app.Execute(new[] { "add", "url", FakeOpenApiUrl }); AssertNoErrors(run); // File will shrink after the refresh. var expectedJsonPath = Path.Combine(_tempDir.Root, "filename.json"); await File.WriteAllTextAsync(expectedJsonPath, PackageUrlContent); var firstWriteTime = File.GetLastWriteTime(expectedJsonPath); await Task.Delay(TimeSpan.FromSeconds(1)); app = GetApplication(); run = app.Execute(new[] { "refresh", FakeOpenApiUrl }); AssertNoErrors(run); var secondWriteTime = File.GetLastWriteTime(expectedJsonPath); Assert.True(firstWriteTime < secondWriteTime, $"File wasn't updated! {firstWriteTime} {secondWriteTime}"); Assert.Equal(Content, await File.ReadAllTextAsync(expectedJsonPath), ignoreLineEndingDifferences: true); } [Fact] public async Task OpenApi_Refresh_UnchangedFile() { CreateBasicProject(withOpenApi: false); // Add <OpenApiReference/> to the project and write the filename.json file. var app = GetApplication(); var run = app.Execute(new[] { "add", "url", FakeOpenApiUrl }); AssertNoErrors(run); var expectedJsonPath = Path.Combine(_tempDir.Root, "filename.json"); var firstWriteTime = File.GetLastWriteTime(expectedJsonPath); await Task.Delay(TimeSpan.FromSeconds(1)); app = GetApplication(); run = app.Execute(new[] { "refresh", FakeOpenApiUrl }); AssertNoErrors(run); var secondWriteTime = File.GetLastWriteTime(expectedJsonPath); Assert.Equal(firstWriteTime, secondWriteTime); Assert.Equal(Content, await File.ReadAllTextAsync(expectedJsonPath)); } }