Skip to content

Commit 954731f

Browse files
committed
Fix tests
1 parent 3387649 commit 954731f

File tree

6 files changed

+34
-30
lines changed

6 files changed

+34
-30
lines changed

src/Aspire.Hosting/Aspire.Hosting.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868

6969
<ItemGroup>
7070
<InternalsVisibleTo Include="Aspire.Hosting.Tests" />
71+
<InternalsVisibleTo Include="Aspire.Hosting.Testing.Tests" />
7172
<InternalsVisibleTo Include="Aspire.Hosting.Containers.Tests" />
7273
</ItemGroup>
7374

tests/Aspire.Hosting.Testing.Tests/Aspire.Hosting.Testing.Tests.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
<Compile Include="$(SharedDir)KnownConfigNames.cs" Link="Utils\KnownConfigNames.cs" />
1818

1919
<Compile Include="$(RepoRoot)tests\Aspire.Hosting.Tests\Utils\LoggerNotificationExtensions.cs" />
20-
<Compile Include="$(RepoRoot)tests\Aspire.Hosting.Tests\Utils\MSBuildUtils.cs" LinkBase="shared\tests\MSBuildUtils.cs" />
21-
<Compile Include="$(RepoRoot)tests\testproject\Common\TestResourceNames.cs" LinkBase="shared\tests\TestResourceNames.cs" />
20+
<Compile Include="$(RepoRoot)tests\Aspire.Hosting.Tests\Utils\MSBuildUtils.cs" Link="shared\tests\MSBuildUtils.cs" />
21+
<Compile Include="$(RepoRoot)tests\testproject\Common\TestResourceNames.cs" Link="shared\tests\TestResourceNames.cs" />
2222
<Compile Include="$(TestsSharedDir)Logging\*.cs" LinkBase="shared\Logging" />
23+
<Compile Include="$(TestsSharedDir)ConsoleLogging\*.cs" LinkBase="shared" />
2324
</ItemGroup>
2425

2526
<ItemGroup>

tests/Aspire.Hosting.Testing.Tests/ResourceLoggerForwarderServiceTests.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4+
using Aspire.Hosting.Tests.Utils;
45
using Microsoft.Extensions.DependencyInjection;
56
using Microsoft.Extensions.Hosting;
67
using Microsoft.Extensions.Hosting.Internal;
@@ -54,7 +55,7 @@ public async Task ResourceLogsAreForwardedToHostLogging()
5455
{
5556
var hostApplicationLifetime = new TestHostApplicationLifetime();
5657
var resourceNotificationService = new ResourceNotificationService(NullLogger<ResourceNotificationService>.Instance, hostApplicationLifetime);
57-
var resourceLoggerService = new ResourceLoggerService();
58+
var resourceLoggerService = ConsoleLoggingTestHelpers.GetResourceLoggerService();
5859
var hostEnvironment = new HostingEnvironment { ApplicationName = "TestApp.AppHost" };
5960
var fakeLoggerProvider = new FakeLoggerProvider();
6061
var fakeLoggerFactory = new LoggerFactory([fakeLoggerProvider, new XunitLoggerProvider(output)]);
@@ -118,12 +119,12 @@ public async Task ResourceLogsAreForwardedToHostLogging()
118119
// Category is derived from the application name and resource name
119120
// Logs sent at information level or lower are logged as information, otherwise they are logged as error
120121
Assert.Collection(hostLogs,
121-
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("1: Test trace message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
122-
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("2: Test debug message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
123-
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("3: Test information message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
124-
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("4: Test warning message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
125-
log => { Assert.Equal(LogLevel.Error, log.Level); Assert.Equal("5: Test error message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
126-
log => { Assert.Equal(LogLevel.Error, log.Level); Assert.Equal("6: Test critical message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); });
122+
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("1: 2000-12-29T20:59:59.0000000 Test trace message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
123+
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("2: 2000-12-29T20:59:59.0000000 Test debug message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
124+
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("3: 2000-12-29T20:59:59.0000000 Test information message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
125+
log => { Assert.Equal(LogLevel.Information, log.Level); Assert.Equal("4: 2000-12-29T20:59:59.0000000 Test warning message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
126+
log => { Assert.Equal(LogLevel.Error, log.Level); Assert.Equal("5: 2000-12-29T20:59:59.0000000 Test error message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); },
127+
log => { Assert.Equal(LogLevel.Error, log.Level); Assert.Equal("6: 2000-12-29T20:59:59.0000000 Test critical message", log.Message); Assert.Equal("TestApp.AppHost.Resources.myresource", log.Category); });
127128
}
128129

129130
private sealed class CustomResource(string name) : Resource(name)

tests/Aspire.Hosting.Tests/Aspire.Hosting.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" />
2121

2222
<Compile Include="$(TestsSharedDir)Logging\*.cs" LinkBase="shared/Logging" />
23+
<Compile Include="$(TestsSharedDir)ConsoleLogging\*.cs" LinkBase="shared" />
2324
<Compile Include="$(RepoRoot)src\Aspire.Hosting.PostgreSQL\PostgresContainerImageTags.cs" />
2425
<Compile Include="$(RepoRoot)src\Aspire.Hosting.Redis\RedisContainerImageTags.cs" />
2526
<Compile Include="$(RepoRoot)src\Aspire.Hosting.Testing\ResourceLoggerForwarderService.cs" Link="Utils\ResourceLoggerForwarderService.cs" />

tests/Aspire.Hosting.Tests/ResourceLoggerServiceTests.cs

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,11 @@ namespace Aspire.Hosting.Tests;
99

1010
public class ResourceLoggerServiceTests
1111
{
12-
private sealed class TestTimeProvider : TimeProvider
13-
{
14-
public static TestTimeProvider Instance = new TestTimeProvider();
15-
16-
public override DateTimeOffset GetUtcNow()
17-
{
18-
return new DateTimeOffset(2000, 12, 29, 20, 59, 59, TimeSpan.Zero);
19-
}
20-
}
21-
2212
[Fact]
2313
public async Task AddingResourceLoggerAnnotationAllowsLogging()
2414
{
2515
var testResource = new TestResource("myResource");
26-
var service = GetResourceLoggerService();
16+
var service = ConsoleLoggingTestHelpers.GetResourceLoggerService();
2717
var logger = service.GetLogger(testResource);
2818

2919
var subsLoop = WatchForSubscribers(service);
@@ -62,19 +52,11 @@ public async Task AddingResourceLoggerAnnotationAllowsLogging()
6252
await logsEnumerator2.DisposeAsync();
6353
}
6454

65-
private static ResourceLoggerService GetResourceLoggerService()
66-
{
67-
return new ResourceLoggerService
68-
{
69-
TimeProvider = new TestTimeProvider()
70-
};
71-
}
72-
7355
[Fact]
7456
public async Task StreamingLogsCancelledAfterComplete()
7557
{
7658
var testResource = new TestResource("myResource");
77-
var service = GetResourceLoggerService();
59+
var service = ConsoleLoggingTestHelpers.GetResourceLoggerService();
7860
var logger = service.GetLogger(testResource);
7961

8062
var subsLoop = WatchForSubscribers(service);
@@ -108,7 +90,7 @@ public async Task StreamingLogsCancelledAfterComplete()
10890
public async Task SecondSubscriberGetsBacklog()
10991
{
11092
var testResource = new TestResource("myResource");
111-
var service = GetResourceLoggerService();
93+
var service = ConsoleLoggingTestHelpers.GetResourceLoggerService();
11294
var logger = service.GetLogger(testResource);
11395

11496
var subsLoop = WatchForSubscribers(service);

tests/Aspire.Hosting.Tests/Utils/ConsoleLoggingTestHelpers.cs renamed to tests/Shared/ConsoleLogging/ConsoleLoggingTestHelpers.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,22 @@ public static Task<IReadOnlyList<LogLine>> WatchForLogsAsync(IAsyncEnumerator<IR
4545
return (IReadOnlyList<LogLine>)logs;
4646
});
4747
}
48+
49+
public static ResourceLoggerService GetResourceLoggerService()
50+
{
51+
return new ResourceLoggerService
52+
{
53+
TimeProvider = new TestTimeProvider()
54+
};
55+
}
56+
57+
private sealed class TestTimeProvider : TimeProvider
58+
{
59+
public static TestTimeProvider Instance = new TestTimeProvider();
60+
61+
public override DateTimeOffset GetUtcNow()
62+
{
63+
return new DateTimeOffset(2000, 12, 29, 20, 59, 59, TimeSpan.Zero);
64+
}
65+
}
4866
}

0 commit comments

Comments
 (0)