Skip to content

Commit ea2b393

Browse files
committed
Add unit tests to cover new LoggingHook
Signed-off-by: Kyle Julian <[email protected]>
1 parent 6d72e66 commit ea2b393

File tree

4 files changed

+514
-4
lines changed

4 files changed

+514
-4
lines changed

Directory.Packages.props

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<PackageVersion Include="coverlet.msbuild" Version="6.0.3" />
2424
<PackageVersion Include="FluentAssertions" Version="7.0.0" />
2525
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
26+
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="9.0.0" />
2627
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
2728
<PackageVersion Include="NSubstitute" Version="5.3.0" />
2829
<PackageVersion Include="SpecFlow" Version="3.9.74" />

src/OpenFeature/Hooks/LoggingHook.cs

+8-3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public sealed partial class LoggingHook : Hook
2222
/// </summary>
2323
public LoggingHook(ILogger logger, bool includeContext = false)
2424
{
25+
if (logger == null) throw new ArgumentNullException(nameof(logger));
26+
2527
this._logger = logger;
2628
this._includeContext = includeContext;
2729
}
@@ -78,19 +80,16 @@ public override ValueTask AfterAsync<T>(HookContext<T> context, FlagEvaluationDe
7880
}
7981

8082
[LoggerMessage(
81-
EventId = 0,
8283
Level = LogLevel.Debug,
8384
Message = "Before Flag Evaluation {Content}")]
8485
partial void HookBeforeStageExecuted(LoggingHookContent content);
8586

8687
[LoggerMessage(
87-
EventId = 0,
8888
Level = LogLevel.Error,
8989
Message = "Error during Flag Evaluation {Content}")]
9090
partial void HookErrorStageExecuted(LoggingHookContent content);
9191

9292
[LoggerMessage(
93-
EventId = 0,
9493
Level = LogLevel.Debug,
9594
Message = "After Flag Evaluation {Content}")]
9695
partial void HookAfterStageExecuted(LoggingHookContent content);
@@ -166,6 +165,12 @@ public override string ToString()
166165
if (value.IsBoolean)
167166
return value.AsBoolean.ToString();
168167

168+
if (value.IsNumber)
169+
{
170+
if (value.AsDouble != null) return value.AsDouble.ToString();
171+
if (value.AsInteger != null) return value.AsInteger.ToString();
172+
}
173+
169174
if (value.IsDateTime)
170175
return value.AsDateTime?.ToString("O");
171176

0 commit comments

Comments
 (0)