From 7a8d5cb70c462e33ac6e498abe6bb845eb8173b7 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 8 Apr 2024 20:27:44 +0200 Subject: [PATCH 1/2] fix: Add missing error message when an error occured Signed-off-by: Thomas Poignant --- src/OpenFeature/OpenFeatureClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenFeature/OpenFeatureClient.cs b/src/OpenFeature/OpenFeatureClient.cs index c8513e8b..77cd8754 100644 --- a/src/OpenFeature/OpenFeatureClient.cs +++ b/src/OpenFeature/OpenFeatureClient.cs @@ -262,7 +262,7 @@ private async Task> EvaluateFlag( { this._logger.LogError(ex, "Error while evaluating flag {FlagKey}", flagKey); var errorCode = ex is InvalidCastException ? ErrorType.TypeMismatch : ErrorType.General; - evaluation = new FlagEvaluationDetails(flagKey, defaultValue, errorCode, Reason.Error, string.Empty); + evaluation = new FlagEvaluationDetails(flagKey, defaultValue, errorCode, Reason.Error, string.Empty, ex.Message); await this.TriggerErrorHooks(allHooksReversed, hookContext, ex, options).ConfigureAwait(false); } finally From d3e7267db96cad03d655398b6dee70e5fe258f0a Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Tue, 9 Apr 2024 09:11:53 +0200 Subject: [PATCH 2/2] Add check of message in test Signed-off-by: Thomas Poignant --- test/OpenFeature.Tests/OpenFeatureClientTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/test/OpenFeature.Tests/OpenFeatureClientTests.cs b/test/OpenFeature.Tests/OpenFeatureClientTests.cs index 05965c51..9509eb8a 100644 --- a/test/OpenFeature.Tests/OpenFeatureClientTests.cs +++ b/test/OpenFeature.Tests/OpenFeatureClientTests.cs @@ -178,6 +178,7 @@ public async Task OpenFeatureClient_Should_Return_DefaultValue_When_Type_Mismatc var evaluationDetails = await client.GetObjectDetails(flagName, defaultValue); evaluationDetails.ErrorType.Should().Be(ErrorType.TypeMismatch); + evaluationDetails.ErrorMessage.Should().Be(new InvalidCastException().Message); _ = mockedFeatureProvider.Received(1).ResolveStructureValue(flagName, defaultValue, Arg.Any());