From b10261186393aacf6cf07491d322f0224c94158f Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 15 May 2021 22:31:59 +0800 Subject: test: Use xunit logging output. --- BackEnd/Timeline.Tests/Helpers/TestApplication.cs | 14 ++++++++++++++ BackEnd/Timeline.Tests/IntegratedTests/BaseTimelineTest.cs | 3 ++- .../Timeline.Tests/IntegratedTests/BookmarkTimelineTest.cs | 6 ++++++ .../IntegratedTests/DatabaseManagementTest.cs | 6 ++++++ BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs | 6 ++++++ .../IntegratedTests/HighlightTimelineTest.cs | 6 ++++++ .../Timeline.Tests/IntegratedTests/IntegratedTestBase.cs | 7 ++++--- BackEnd/Timeline.Tests/IntegratedTests/SearchTest.cs | 6 ++++++ BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs | 8 ++++++-- BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs | 6 ++---- BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs | 6 ++++++ BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs | 6 ++++++ .../Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs | 6 ++++++ BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs | 6 ++++++ .../Timeline.Tests/IntegratedTests/UserPermissionTest.cs | 3 ++- BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs | 7 +++++++ BackEnd/Timeline.Tests/Timeline.Tests.csproj | 1 + BackEnd/Timeline.Tests/packages.lock.json | 10 ++++++++++ 18 files changed, 102 insertions(+), 11 deletions(-) diff --git a/BackEnd/Timeline.Tests/Helpers/TestApplication.cs b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs index 723ef500..2c2856c1 100644 --- a/BackEnd/Timeline.Tests/Helpers/TestApplication.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs @@ -4,16 +4,25 @@ using Microsoft.AspNetCore.TestHost; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Timeline.Configs; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.Helpers { public class TestApplication : IAsyncLifetime { + private readonly ITestOutputHelper _testOutputHelper; + + public TestApplication(ITestOutputHelper testOutputHelper) + { + _testOutputHelper = testOutputHelper; + } + public IHost Host { get; private set; } = default!; public string WorkDirectory { get; private set; } = default!; @@ -24,6 +33,11 @@ namespace Timeline.Tests.Helpers Directory.CreateDirectory(WorkDirectory); Host = await Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder() + .ConfigureLogging(logging => + { + logging.ClearProviders(); + logging.AddXUnit(_testOutputHelper); + }) .ConfigureAppConfiguration((context, config) => { config.AddInMemoryCollection(new Dictionary diff --git a/BackEnd/Timeline.Tests/IntegratedTests/BaseTimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/BaseTimelineTest.cs index 006b5128..173494c8 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/BaseTimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/BaseTimelineTest.cs @@ -1,12 +1,13 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Models.Http; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class BaseTimelineTest : IntegratedTestBase { - public BaseTimelineTest() : base(3) + public BaseTimelineTest(ITestOutputHelper testOutputHelper) : base(3, testOutputHelper) { } diff --git a/BackEnd/Timeline.Tests/IntegratedTests/BookmarkTimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/BookmarkTimelineTest.cs index 23d67d44..4bad700b 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/BookmarkTimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/BookmarkTimelineTest.cs @@ -3,11 +3,17 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Models.Http; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class BookmarkTimelineTest : IntegratedTestBase { + public BookmarkTimelineTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task AuthTest() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/DatabaseManagementTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/DatabaseManagementTest.cs index eaffbe2d..a7f8beb8 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/DatabaseManagementTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/DatabaseManagementTest.cs @@ -3,11 +3,17 @@ using Microsoft.Extensions.DependencyInjection; using System.IO; using Timeline.Services; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class DatabaseManagementTest : IntegratedTestBase { + public DatabaseManagementTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public void Backup_Should_Work() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs index 1843c412..7755f1f0 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs @@ -3,11 +3,17 @@ using System.Net; using System.Net.Mime; using System.Threading.Tasks; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class FrontEndTest : IntegratedTestBase { + public FrontEndTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task Index() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs index cfc41468..c52ac907 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs @@ -3,11 +3,17 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Models.Http; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class HighlightTimelineTest : IntegratedTestBase { + public HighlightTimelineTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task PermissionTest() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs index 259ebfa1..68d52b19 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs @@ -8,6 +8,7 @@ using Timeline.Models.Http; using Timeline.Services.User; using Timeline.Tests.Helpers; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { @@ -17,19 +18,19 @@ namespace Timeline.Tests.IntegratedTests protected int TestUserCount { get; } - public IntegratedTestBase() : this(1) + public IntegratedTestBase(ITestOutputHelper testOutputHelper) : this(1, testOutputHelper) { } - public IntegratedTestBase(int userCount) + public IntegratedTestBase(int userCount, ITestOutputHelper testOutputHelper) { if (userCount < 0) throw new ArgumentOutOfRangeException(nameof(userCount), userCount, "User count can't be negative."); TestUserCount = userCount; - TestApp = new TestApplication(); + TestApp = new TestApplication(testOutputHelper); } protected virtual Task OnInitializeAsync() diff --git a/BackEnd/Timeline.Tests/IntegratedTests/SearchTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/SearchTest.cs index 10a2f115..499eabbe 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/SearchTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/SearchTest.cs @@ -3,11 +3,17 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Models.Http; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class SearchTest : IntegratedTestBase { + public SearchTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task TimelineSearch_Should_Work() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs index 66df74d7..dc2ad614 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs @@ -1,16 +1,20 @@ using FluentAssertions; using Microsoft.AspNetCore.SignalR.Client; using System; -using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using Timeline.SignalRHub; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class TimelineHubTest : BaseTimelineTest { + public TimelineHubTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + private HubConnection CreateConnection(string? token) { return new HubConnectionBuilder().WithUrl($"http://localhost/api/hub/timeline{(token is null ? "" : "?token=" + token)}", diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs index ab8f6f66..749b2cfd 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs @@ -53,11 +53,9 @@ namespace Timeline.Tests.IntegratedTests }; } - private readonly ITestOutputHelper _outputHelper; - - public TimelinePostTest(ITestOutputHelper outputHelper) + public TimelinePostTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { - _outputHelper = outputHelper; + } [Theory] diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs index e5fa310a..bbfe4ab3 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs @@ -6,11 +6,17 @@ using System.Threading.Tasks; using Timeline.Models; using Timeline.Models.Http; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class TimelineTest : BaseTimelineTest { + public TimelineTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task TimelineGet_Should_Work() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs index ac96ef9d..68681b61 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs @@ -6,11 +6,17 @@ using System.Threading.Tasks; using Timeline.Models.Http; using Timeline.Services.User; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class TokenTest : IntegratedTestBase { + public TokenTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + private const string CreateTokenUrl = "token/create"; private const string VerifyTokenUrl = "token/verify"; diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs index 2b6981ae..d5666c61 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs @@ -1,10 +1,16 @@ using System.Threading.Tasks; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class UnknownEndpointTest : IntegratedTestBase { + public UnknownEndpointTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task UnknownEndpoint() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs index a7aa63cd..f8522ba4 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs @@ -14,11 +14,17 @@ using System.Threading.Tasks; using Timeline.Models; using Timeline.Tests.Helpers; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class UserAvatarTest : IntegratedTestBase { + public UserAvatarTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + [Fact] public async Task Test() { diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs index a5877dde..cd189cde 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs @@ -5,12 +5,13 @@ using System.Linq; using System.Threading.Tasks; using Timeline.Services.User; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class UserPermissionTest : IntegratedTestBase { - public UserPermissionTest() : base(3) { } + public UserPermissionTest(ITestOutputHelper testOutputHelper) : base(3, testOutputHelper) { } [Fact] public async Task RootUserShouldReturnAllPermissions() diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs index d34bcaf9..06fcd0e8 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs @@ -3,11 +3,18 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Models.Http; using Xunit; +using Xunit.Abstractions; namespace Timeline.Tests.IntegratedTests { public class UserTest : IntegratedTestBase { + public UserTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) + { + + } + + [Fact] public async Task UserListShouldHaveUniqueId() { diff --git a/BackEnd/Timeline.Tests/Timeline.Tests.csproj b/BackEnd/Timeline.Tests/Timeline.Tests.csproj index 127a6b9a..5336cd04 100644 --- a/BackEnd/Timeline.Tests/Timeline.Tests.csproj +++ b/BackEnd/Timeline.Tests/Timeline.Tests.csproj @@ -13,6 +13,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/BackEnd/Timeline.Tests/packages.lock.json b/BackEnd/Timeline.Tests/packages.lock.json index be424c80..17c606c8 100644 --- a/BackEnd/Timeline.Tests/packages.lock.json +++ b/BackEnd/Timeline.Tests/packages.lock.json @@ -17,6 +17,16 @@ "System.Configuration.ConfigurationManager": "4.4.0" } }, + "MartinCostello.Logging.XUnit": { + "type": "Direct", + "requested": "[0.1.1, )", + "resolved": "0.1.1", + "contentHash": "/frXt3o7WZqRivt9gMS8jpD5XD8kk1QccNAzc6mCq+Hqx8tBQC0PeQKwnowR+eyC25MHXhY802zCjV9HR63/3g==", + "dependencies": { + "Microsoft.Extensions.Logging": "2.0.0", + "xunit.abstractions": "2.0.1" + } + }, "Microsoft.AspNet.WebApi.Client": { "type": "Direct", "requested": "[5.2.7, )", -- cgit v1.2.3