Skip to content

Commit 837a076

Browse files
committed
Add / update the tests
1 parent b57269e commit 837a076

File tree

40 files changed

+567
-132
lines changed

40 files changed

+567
-132
lines changed

src/AStar.Dev.Logging.Extensions/AStar.Dev.Logging.Extensions.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@
3333
<RepositoryType>git</RepositoryType>
3434
<PackageProjectUrl>https://github.com/astar-development/astar-dev-logging-extensions</PackageProjectUrl>
3535
<Description>A collection of logging utilities.</Description>
36-
<Version>0.4.0</Version>
36+
<Version>0.4.1</Version>
3737
<Authors>AStar Development, Jason Barden</Authors>
3838
<DocumentationFile>$(AssemblyName).xml</DocumentationFile>
3939
<PackageIcon>AStar.png</PackageIcon>
4040
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
41-
<PackageReleaseNotes>version 0.4.0, no changes - version increased as part of the migration to the new AStar NuGet / GitHub organisations.</PackageReleaseNotes>
41+
<PackageReleaseNotes>version 0.4.1, no changes - Adds tests to the underlying source code.</PackageReleaseNotes>
4242
</PropertyGroup>
4343

4444
<ItemGroup>

src/AStar.Dev.Logging.Extensions/AStar.Dev.Logging.Extensions.xml

Lines changed: 73 additions & 109 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/AStar.Dev.Logging.Extensions/AStarLogger.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace AStar.Dev.Logging.Extensions;
77
/// <param name="logger"></param>
88
/// <param name="telemetryClient"></param>
99
/// <typeparam name="TCategoryName"></typeparam>
10-
public sealed class AStarLogger<TCategoryName>(ILogger<TCategoryName> logger, TelemetryClient telemetryClient) : ILoggerAstar<TCategoryName>
10+
public sealed class AStarLogger<TCategoryName>(ILogger<TCategoryName> logger, IAStarTelemetryClient telemetryClient) : ILoggerAstar<TCategoryName>
1111
{
1212
private readonly Action<ILogger, string, Exception?> logMessage = LoggerMessage.Define<string>(
1313
LogLevel.Information,
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System.Diagnostics.CodeAnalysis;
2+
using Microsoft.ApplicationInsights;
3+
4+
namespace AStar.Dev.Logging.Extensions;
5+
6+
/// <summary>
7+
/// This class exists to enable testing of the underlying functionality - it acts solely as a wrapper to <see cref="TelemetryClient"/>
8+
/// </summary>
9+
/// <param name="telemetryClient"></param>
10+
[ExcludeFromCodeCoverage]
11+
public sealed class AStarTelemetryClient(TelemetryClient telemetryClient) : IAStarTelemetryClient
12+
{
13+
/// <inheritdoc/>
14+
public TelemetryClient TelemetryClient => telemetryClient;
15+
16+
/// <inheritdoc />
17+
public void TrackPageView(string pageName)
18+
=> telemetryClient.TrackPageView(pageName);
19+
}

src/AStar.Dev.Logging.Extensions/CloudRoleNameTelemetryInitializer.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,8 @@ public sealed class CloudRoleNameTelemetryInitializer(string roleOrApplicationNa
1313
/// <inheritdoc />
1414
public void Initialize(ITelemetry telemetry)
1515
{
16-
try
17-
{
18-
telemetry.Context.Cloud.RoleName = roleOrApplicationName;
16+
telemetry.Context.Cloud.RoleName = roleOrApplicationName;
1917

20-
telemetry.Context.InstrumentationKey = instrumentationKey;
21-
}
22-
catch
23-
{
24-
}
18+
telemetry.Context.InstrumentationKey = instrumentationKey;
2519
}
2620
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using Microsoft.ApplicationInsights;
2+
3+
namespace AStar.Dev.Logging.Extensions;
4+
5+
/// <summary>
6+
///
7+
/// </summary>
8+
public interface IAStarTelemetryClient
9+
{
10+
/// <summary>
11+
///
12+
/// </summary>
13+
TelemetryClient TelemetryClient { get; }
14+
15+
/// <summary>
16+
///
17+
/// </summary>
18+
/// <param name="pageName"></param>
19+
void TrackPageView(string pageName);
20+
}

src/AStar.Dev.Logging.Extensions/LoggingExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public static WebApplicationBuilder AddSerilogLogging(this WebApplicationBuilder
3535
var serviceProvider = builder.Services.BuildServiceProvider();
3636
var seqServerUrl = builder.Configuration.Get<SerilogConfig>()!.Serilog.WriteTo[0].Args.ServerUrl;
3737

38+
_ = builder.Services.AddScoped<IAStarTelemetryClient, AStarTelemetryClient>();
3839
var logger = new LoggerConfiguration()
3940
.WriteTo.ApplicationInsights(serviceProvider.GetRequiredService<TelemetryConfiguration>(), TelemetryConverter.Traces)
4041
.WriteTo.Console(formatProvider: CultureInfo.InvariantCulture)

src/AStar.Dev.Logging.Extensions/Models/Minimumlevel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class MinimumLevel
88
/// <summary>
99
/// The default logging level.
1010
/// </summary>
11-
public string Default { get; set; } = string.Empty;
11+
public string Default { get; set; } = "Verbose";
1212

1313
/// <summary>
1414
/// The <see cref="Override" /> class used to override the standard logging levels.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("AStar.Dev.Logging.Extensions.Tests.Unit")]

tests/AStar.Dev.Logging.Extensions.Tests.Unit/AStar.Dev.Logging.Extensions.Tests.Unit.csproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2121
</PackageReference>
2222
<PackageReference Include="AStar.Dev.Utilities" Version="1.6.0"/>
23+
<PackageReference Include="JetBrains.Annotations" Version="2025.1.0-eap1" />
2324
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0"/>
25+
<PackageReference Include="NSubstitute" Version="5.3.0" />
2426
<PackageReference Include="Shouldly" Version="4.3.0"/>
2527
<PackageReference Include="xunit" Version="2.9.3"/>
2628
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
@@ -38,6 +40,12 @@
3840
<ProjectReference Include="..\..\src\AStar.Dev.Logging.Extensions\AStar.Dev.Logging.Extensions.csproj"/>
3941
</ItemGroup>
4042

43+
<ItemGroup>
44+
<None Update="Helpers\serilog.config">
45+
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
46+
</None>
47+
</ItemGroup>
48+
4149
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
4250
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
4351
<NoWarn>1701;1702;IDE0058;</NoWarn>

0 commit comments

Comments
 (0)