Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/Shared/LoggingHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ public static void WriteDashboardSummary(ILogger logger, string? dashboardUrl, s
? $"{dashboardAuthority}/login?t={token}"
: null;

if (loginUrl is not null)
{
logger.LogInformation("Login to the dashboard at {LoginUrl}", loginUrl);
}

var templateBuilder = new StringBuilder();
var parameters = new List<object?>();

Expand Down
18 changes: 15 additions & 3 deletions tests/Aspire.Dashboard.Tests/LoggingHelpersTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,15 @@ public void WriteDashboardSummary_WithTokenAndOtlpEndpoints_LogsSummaryAndStruct
"http://localhost:18890",
"abc123");

var write = Assert.Single(sink.Writes);
Assert.Equal(2, sink.Writes.Count);

var loginWrite = sink.Writes.ElementAt(0);
Assert.Equal(LogLevel.Information, loginWrite.LogLevel);
Assert.Equal("Login to the dashboard at http://localhost:18888/login?t=abc123", loginWrite.Message);
Assert.Equal("Login to the dashboard at {LoginUrl}", LogTestHelpers.GetValue(loginWrite, "{OriginalFormat}"));
Assert.Equal("http://localhost:18888/login?t=abc123", LogTestHelpers.GetValue(loginWrite, "LoginUrl"));

var write = sink.Writes.ElementAt(1);
Assert.Equal(LogLevel.Information, write.LogLevel);
Assert.NotNull(write.Message);
var lines = GetMessageLines(write.Message!);
Expand Down Expand Up @@ -169,7 +177,9 @@ public void WriteDashboardSummary_WithoutOtlpEndpoints_DoesNotIncludeOtlpLines()
otlpHttpUrl: null,
token: "abc123");

var write = Assert.Single(sink.Writes);
Assert.Equal(2, sink.Writes.Count);

var write = sink.Writes.ElementAt(1);
Assert.NotNull(write.Message);
var lines = GetMessageLines(write.Message!);

Expand Down Expand Up @@ -198,7 +208,9 @@ public void WriteDashboardSummary_IsContainer_IncludesContainerMessage()
token: "abc123",
isContainer: true);

var write = Assert.Single(sink.Writes);
Assert.Equal(2, sink.Writes.Count);

var write = sink.Writes.ElementAt(1);
Assert.NotNull(write.Message);
var containerMessage = "URLs may need changes depending on how network access to the container is configured.";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,12 @@ public async Task ResourceReadyEvent_LogsDashboardUrlFromAllocatedEndpoint(strin
Assert.Equal(allocatedPort, uri.Port);
Assert.Equal(expectedScheme, uri.Scheme);

var loginLog = testSink.Writes.FirstOrDefault(l =>
LogTestHelpers.GetValue(l, "{OriginalFormat}")?.ToString() == "Login to the dashboard at {LoginUrl}");

Assert.NotNull(loginLog);
Assert.Equal($"{expectedScheme}://{expectedHost}:{allocatedPort}/login?t=test-token", LogTestHelpers.GetValue(loginLog, "LoginUrl"));

var summaryLog = testSink.Writes.FirstOrDefault(l =>
LogTestHelpers.GetValue(l, "{OriginalFormat}")?.ToString()?.Contains("OTLP/gRPC:") == true);

Expand Down
Loading