-
Notifications
You must be signed in to change notification settings - Fork 35
feat: add OpenFeature Remote Evaluation Protocol (OFREP) Provider #319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…e#305 (open-feature#309) Signed-off-by: christian.lutnik <christian.lutnik@dynatrace.com>
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
open-feature#288) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Richardson <michael.richardson@octopus.com>
…-feature#318) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
582555b
to
81fa968
Compare
…feature#231) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…n-feature#321) Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com> Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
…pen-feature#325) Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…ature#274) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…e#289) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>
…v0.5.21 (open-feature#291) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
||
[Fact] | ||
public async Task EvaluateFlag_WithNestedEvaluationContext_ShouldSerializeCorrectly() | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to the other evaluation context tests, it would be good to check that the context is serialized as we expect it
test/OpenFeature.Providers.Ofrep.Test/Client/OfrepClientTest.cs
Outdated
Show resolved
Hide resolved
|
||
// Verify the unicode characters were properly URL encoded | ||
var request = this._mockHandler.Requests[0]; | ||
Assert.Contains("ofrep/v1/evaluate/flags/", request.RequestUri?.ToString()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't verify that the uri contains the unicode character in the flag key
|
||
[Fact] | ||
public async Task EvaluateFlag_WithSlowResponse_ShouldReturnSuccessfully() | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure how this test diffs from the other normal happy path tests
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ge`-attributes Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
390fb9f
to
f3d3ba1
Compare
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
- Fix test expectation for special characters (!@#) to match Uri.EscapeDataString behavior - Update test verification to check multiple URI properties for encoded content - Ensure proper URL encoding preservation in HttpRequestMessage construction Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
e1badcd
to
ed5cf97
Compare
#if NET8_0_OR_GREATER | ||
ArgumentNullException.ThrowIfNull(flagKey); | ||
#else | ||
if (flagKey == null) | ||
{ | ||
throw new ArgumentNullException(nameof(flagKey)); | ||
} | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is just to make use of a language feature, I would say vote to remove the compiler directive and just use the common version. I think adding compiler directives like this takes away from readability so I recommend only doing it when we really have to.
If we "really have to" here for some reason I don't understand, that's OK.
#if NET8_0_OR_GREATER | ||
ArgumentNullException.ThrowIfNull(configuration); | ||
ArgumentNullException.ThrowIfNull(handler); | ||
#else | ||
if (configuration == null) | ||
{ | ||
throw new ArgumentNullException(nameof(configuration)); | ||
} | ||
|
||
if (handler == null) | ||
{ | ||
throw new ArgumentNullException(nameof(handler)); | ||
} | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as https://github.com/open-feature/dotnet-sdk-contrib/pull/319/files#r2157403557, I would apply this all over if you aren't opposed.
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have as much OFREP expertise as some others, but from an overall provider perspective this looks good to me, at least for a first pass.
.tool-versions
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please remove this file from the repo? If you want, you can add this file to the .gitignore.
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
Signed-off-by: Weyert de Boer <weyert@innerfuse.biz>
b88b60d
to
8483ae4
Compare
@weyert Why is this PR closed? |
This PR
The provider allows users to evaluate feature flags through the OFREP API, making it adaptable to various feature flag management systems that support the OFREP specification.
Features:
Related Issues
Closes #413
Follow-up Tasks
How to test
Manually tested