-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: introduce appendix section (#199)
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com> Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com> Signed-off-by: Todd Baert <todd.baert@dynatrace.com> Co-authored-by: Todd Baert <todd.baert@dynatrace.com> Co-authored-by: Federico Bond <federicobond@gmail.com>
- Loading branch information
1 parent
007502b
commit 2a2539d
Showing
2 changed files
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
title: Appendix A: Included Utilities | ||
description: Information on OpenFeature ecosystem utilities | ||
sidebar_position: 4 | ||
--- | ||
|
||
# Appendix A: Included Utilities | ||
|
||
This document contains requirements for auxiliary utilities provided by the SDK, such as testing utilities. | ||
|
||
## In-memory provider | ||
|
||
> Language specific OpenFeature SDK implementations **SHOULD** expose an in-memory provider built into the SDK. | ||
The in-memory provider is intended to be used for testing, SDK consumers may use it for their use cases. | ||
Hence, the packaging, naming and access modifiers must be set appropriately. | ||
|
||
Given below are features this provider **MUST** support, | ||
|
||
- Provider must be initiated with a pre-defined set of flags provided to a constructor | ||
- Feature Flag structure must be minimal but should help testing OpenFeature specification | ||
- EvaluationContext support should be provided through callbacks/lambda expressions | ||
- Provider must support a means of updating flag values, resulting in the emission of `PROVIDER_CONFIGURATION_CHANGED` events | ||
- Provider must be maintained to support specification changes | ||
|
||
## SDK end-to-end testing | ||
|
||
> E2E tests must utilize [in-memory provider](#in-memory-provider) defined within the SDK and must be self-contained. | ||
OpenFeature project maintains end-to-end(e2e) test suite defined with [Gherkin syntax](https://cucumber.io/docs/gherkin/). | ||
These test definitions reside in the [OpenFeature test-harness](https://github.com/open-feature/test-harness) repository. | ||
|
||
```mermaid | ||
flowchart LR | ||
subgraph SDK | ||
A[e2e Tests] -.-> B[In-memory provider] | ||
end | ||
``` |