feature/provider-metadata: Test extending metadata class

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
This commit is contained in:
Andrew Helsby 2022-10-18 15:34:13 +04:00
parent 1a7215675e
commit 041d4317ab
4 changed files with 21 additions and 1 deletions

View File

@ -0,0 +1,9 @@
from dataclasses import dataclass
from open_feature.provider.metadata import Metadata
@dataclass
class NoOpMetadata(Metadata):
name: str = "No-op Provider"
is_test_class: bool = True

View File

@ -4,6 +4,7 @@ from open_feature.evaluation_context.evaluation_context import EvaluationContext
from open_feature.flag_evaluation.flag_evaluation_details import FlagEvaluationDetails
from open_feature.flag_evaluation.reason import Reason
from open_feature.provider.metadata import Metadata
from open_feature.provider.no_op_metadata import NoOpMetadata
from open_feature.provider.provider import AbstractProvider
PASSED_IN_DEFAULT = "Passed in default"
@ -11,7 +12,7 @@ PASSED_IN_DEFAULT = "Passed in default"
class NoOpProvider(AbstractProvider):
def get_metadata(self) -> Metadata:
return Metadata(name="No-op Provider")
return NoOpMetadata()
def get_boolean_details(
self,

View File

@ -10,6 +10,16 @@ def setup():
assert isinstance(provider, NoOpProvider)
def test_should_return_no_op_provider_metadata(no_op_provider_client):
# Given
# When
metadata = NoOpProvider().get_metadata()
# Then
assert metadata is not None
assert metadata.name == "No-op Provider"
assert metadata.is_test_class
def test_should_get_boolean_flag_from_no_op(no_op_provider_client):
# Given
# When