From c69a6e5d71a6d652017a0d46c8390554a1dec59e Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Mon, 24 Feb 2025 07:08:08 -0800 Subject: [PATCH] chore: Correct LoggingHookTest timestamp handling. (#386) ## This PR While working on adding support for hook data I noticed unit tests only run correctly in a UTC+0 timezone. This PR formats the timestamp to match how it will appear in the log. Alternatively the logging hook could be changed to always output UTC. ### Related Issues ### Notes ### Follow-up Tasks ### How to test Unit tests should pass when running in a non-UTC timezone. Signed-off-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> --- test/OpenFeature.Tests/Hooks/LoggingHookTests.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/test/OpenFeature.Tests/Hooks/LoggingHookTests.cs b/test/OpenFeature.Tests/Hooks/LoggingHookTests.cs index 7697d9bd..7f299504 100644 --- a/test/OpenFeature.Tests/Hooks/LoggingHookTests.cs +++ b/test/OpenFeature.Tests/Hooks/LoggingHookTests.cs @@ -89,12 +89,13 @@ public async Task BeforeAsync_With_EvaluationContext_Generates_Correct_Log_Messa var clientMetadata = new ClientMetadata("client", "1.0.0"); var providerMetadata = new Metadata("provider"); + var timestamp = DateTime.Parse("2025-01-01T11:00:00.0000000Z"); var evaluationContext = EvaluationContext.Builder() .Set("key_1", "value") .Set("key_2", false) .Set("key_3", 1.531) .Set("key_4", 42) - .Set("key_5", DateTime.Parse("2025-01-01T11:00:00.0000000Z")) + .Set("key_5", timestamp) .Build(); var context = new HookContext("test", false, FlagValueType.Object, clientMetadata, @@ -116,7 +117,7 @@ public async Task BeforeAsync_With_EvaluationContext_Generates_Correct_Log_Messa () => Assert.Contains("key_2:False", record.Message), () => Assert.Contains("key_3:1.531", record.Message), () => Assert.Contains("key_4:42", record.Message), - () => Assert.Contains("key_5:2025-01-01T11:00:00.0000000+00:00", record.Message) + () => Assert.Contains($"key_5:{timestamp:O}", record.Message) ); } @@ -225,12 +226,14 @@ public async Task ErrorAsync_With_EvaluationContext_Generates_Correct_Log_Messag var clientMetadata = new ClientMetadata("client", "1.0.0"); var providerMetadata = new Metadata("provider"); + + var timestamp = DateTime.Parse("2099-01-01T01:00:00.0000000Z"); var evaluationContext = EvaluationContext.Builder() .Set("key_1", " ") .Set("key_2", true) .Set("key_3", 0.002154) .Set("key_4", -15) - .Set("key_5", DateTime.Parse("2099-01-01T01:00:00.0000000Z")) + .Set("key_5", timestamp) .Build(); var context = new HookContext("test", false, FlagValueType.Object, clientMetadata, @@ -254,7 +257,7 @@ public async Task ErrorAsync_With_EvaluationContext_Generates_Correct_Log_Messag () => Assert.Contains("key_2:True", record.Message), () => Assert.Contains("key_3:0.002154", record.Message), () => Assert.Contains("key_4:-15", record.Message), - () => Assert.Contains("key_5:2099-01-01T01:00:00.0000000+00:00", record.Message) + () => Assert.Contains($"key_5:{timestamp:O}", record.Message) ); }