Skip to content

Commit a76bcf6

Browse files
committed
reformatting
Signed-off-by: christian.lutnik <[email protected]>
1 parent 0521bd0 commit a76bcf6

File tree

6 files changed

+64
-31
lines changed

6 files changed

+64
-31
lines changed

providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/resolvers/in_process.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
def _merge_metadata(
2121
flag_metadata: typing.Mapping[str, typing.Union[float, int, str, bool]],
22-
flag_set_metadata: typing.Mapping[str, typing.Union[float, int, str, bool]]
22+
flag_set_metadata: typing.Mapping[str, typing.Union[float, int, str, bool]],
2323
) -> typing.Mapping[str, typing.Union[float, int, str, bool]]:
2424
metadata = {}
2525
if flag_set_metadata is not None:
@@ -122,17 +122,23 @@ def _resolve(
122122
metadata = _merge_metadata(flag.metadata, self.flag_store.flag_set_metadata)
123123

124124
if flag.state == "DISABLED":
125-
return FlagResolutionDetails(default_value, flag_metadata=metadata, reason=Reason.DISABLED)
125+
return FlagResolutionDetails(
126+
default_value, flag_metadata=metadata, reason=Reason.DISABLED
127+
)
126128

127129
if not flag.targeting:
128130
variant, value = flag.default
129-
return FlagResolutionDetails(value, variant=variant, flag_metadata=metadata, reason=Reason.STATIC)
131+
return FlagResolutionDetails(
132+
value, variant=variant, flag_metadata=metadata, reason=Reason.STATIC
133+
)
130134

131135
variant = targeting(flag.key, flag.targeting, evaluation_context)
132136

133137
if variant is None:
134138
variant, value = flag.default
135-
return FlagResolutionDetails(value, variant=variant, flag_metadata=metadata, reason=Reason.DEFAULT)
139+
return FlagResolutionDetails(
140+
value, variant=variant, flag_metadata=metadata, reason=Reason.DEFAULT
141+
)
136142
if not isinstance(variant, (str, bool)):
137143
raise ParseError(
138144
"Parsed JSONLogic targeting did not return a string or bool"
@@ -146,5 +152,5 @@ def _resolve(
146152
value,
147153
variant=variant,
148154
reason=Reason.TARGETING_MATCH,
149-
flag_metadata=metadata
155+
flag_metadata=metadata,
150156
)

providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/resolvers/process/connector/file_watcher.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
import typing
77

88
import yaml
9+
from openfeature.evaluation_context import EvaluationContext
10+
from openfeature.event import ProviderEventDetails
11+
from openfeature.exception import ParseError, ProviderNotReadyError, ErrorCode
912

1013
from openfeature.contrib.provider.flagd.config import Config
1114
from openfeature.contrib.provider.flagd.resolvers.process.connector import (
1215
FlagStateConnector,
1316
)
1417
from openfeature.contrib.provider.flagd.resolvers.process.flags import FlagStore
15-
from openfeature.evaluation_context import EvaluationContext
16-
from openfeature.event import ProviderEventDetails
17-
from openfeature.exception import ParseError, ProviderNotReadyError, ErrorCode
1818

1919
logger = logging.getLogger("openfeature.contrib")
2020

@@ -77,8 +77,14 @@ def safe_load_data(self) -> None:
7777
except yaml.error.YAMLError:
7878
self.handle_error("Could not parse YAML flag data from file")
7979
except ParseError as e:
80-
self.handle_error("Could not parse flag data using flagd syntax: " + (
81-
"no error message provided" if e is None or e.error_message is None else e.error_message))
80+
self.handle_error(
81+
"Could not parse flag data using flagd syntax: "
82+
+ (
83+
"no error message provided"
84+
if e is None or e.error_message is None
85+
else e.error_message
86+
)
87+
)
8288
except Exception:
8389
self.handle_error("Could not read flags from file")
8490

@@ -105,4 +111,8 @@ def _load_data(self, modified_time: typing.Optional[float] = None) -> None:
105111
def handle_error(self, error_message: str) -> None:
106112
logger.exception(error_message)
107113
self.should_emit_ready_on_success = True
108-
self.emit_provider_error(ProviderEventDetails(message=error_message, error_code=ErrorCode.PARSE_ERROR))
114+
self.emit_provider_error(
115+
ProviderEventDetails(
116+
message=error_message, error_code=ErrorCode.PARSE_ERROR
117+
)
118+
)

providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/resolvers/process/flags.py

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,23 @@ def _validate_metadata(key, value):
1111
if key is None:
1212
raise ParseError("Metadata key must be set")
1313
elif not isinstance(key, str):
14-
raise ParseError("Metadata key " + str(key) + " must be of type str, but is " + str(type(key)))
14+
raise ParseError(
15+
"Metadata key "
16+
+ str(key)
17+
+ " must be of type str, but is "
18+
+ str(type(key))
19+
)
1520
if value is None:
1621
raise ParseError("Metadata value for key " + str(key) + " must be set")
1722
elif not isinstance(value, typing.Union[float, int, str, bool]):
18-
raise ParseError("Metadata value " + str(value) +
19-
" for key " + str(key) +
20-
" must be of type float, int, str or bool, but is " + str(type(value)))
23+
raise ParseError(
24+
"Metadata value "
25+
+ str(value) +
26+
" for key "
27+
+ str(key)
28+
+ " must be of type float, int, str or bool, but is "
29+
+ str(type(value))
30+
)
2131

2232

2333
class FlagStore:
@@ -29,7 +39,9 @@ def __init__(
2939
):
3040
self.emit_provider_configuration_changed = emit_provider_configuration_changed
3141
self.flags: typing.Mapping[str, Flag] = {}
32-
self.flag_set_metadata: typing.Mapping[str, typing.Union[float, int, str, bool]] = {}
42+
self.flag_set_metadata: typing.Mapping[
43+
str, typing.Union[float, int, str, bool]
44+
] = {}
3345

3446
def get_flag(self, key: str) -> typing.Optional["Flag"]:
3547
return self.flags.get(key)
@@ -57,7 +69,9 @@ def update(self, flags_data: dict) -> None:
5769
self.flag_set_metadata = metadata
5870

5971
self.emit_provider_configuration_changed(
60-
ProviderEventDetails(flags_changed=list(self.flags.keys()), metadata=metadata)
72+
ProviderEventDetails(
73+
flags_changed=list(self.flags.keys()), metadata=metadata
74+
)
6175
)
6276

6377

@@ -68,7 +82,9 @@ class Flag:
6882
variants: typing.Mapping[str, typing.Any]
6983
default_variant: typing.Union[bool, str]
7084
targeting: typing.Optional[dict] = None
71-
metadata: typing.Optional[typing.Mapping[str, typing.Union[float, int, str, bool]]] = None
85+
metadata: typing.Optional[
86+
typing.Mapping[str, typing.Union[float, int, str, bool]]
87+
] = None
7288

7389
def __post_init__(self) -> None:
7490
if not self.state or not isinstance(self.state, str):

providers/openfeature-provider-flagd/tests/e2e/step/flag_step.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,14 @@ def resolve_details_reason(
9696
assert_equal(details.reason, Reason(reason))
9797

9898

99-
@then(
100-
parsers.cfparse("the resolved metadata should contain")
101-
)
102-
def step_impl(details: FlagEvaluationDetails[JsonPrimitive], datatable):
103-
assert_equal(len(details.flag_metadata), len(datatable) - 1) # skip table header
99+
@then(parsers.cfparse("the resolved metadata should contain"))
100+
def metadata_contains(details: FlagEvaluationDetails[JsonPrimitive], datatable):
101+
assert_equal(len(details.flag_metadata), len(datatable) - 1) # skip table header
104102
for i in range(1, len(datatable)):
105103
key, metadata_type, expected = datatable[i]
106104
assert_equal(details.flag_metadata[key], type_cast[metadata_type](expected))
107105

108106

109107
@then("the resolved metadata is empty")
110-
def step_impl(details: FlagEvaluationDetails[JsonPrimitive]):
111-
assert_equal(len(details.flag_metadata), 0)
108+
def empty_metadata(details: FlagEvaluationDetails[JsonPrimitive]):
109+
assert_equal(len(details.flag_metadata), 0)

providers/openfeature-provider-flagd/tests/test_file_store.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,4 @@ def test_file_load_metadata():
7676
assert flag_set_metadata["string"] == "a"
7777
assert flag_set_metadata["integer"] == 1
7878
assert flag_set_metadata["float"] == 1.2
79-
assert flag_set_metadata["bool"] == True
79+
assert flag_set_metadata["bool"]

providers/openfeature-provider-flagd/tests/test_metadata.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def test_should_load_flag_set_metadata():
3232
assert res.flag_metadata["string"] == "a"
3333
assert res.flag_metadata["integer"] == 1
3434
assert res.flag_metadata["float"] == 1.2
35-
assert res.flag_metadata["bool"] == True
35+
assert res.flag_metadata["bool"]
3636

3737

3838
def test_should_load_flag_metadata():
@@ -45,7 +45,7 @@ def test_should_load_flag_metadata():
4545
assert res.flag_metadata["string"] == "a"
4646
assert res.flag_metadata["integer"] == 1
4747
assert res.flag_metadata["float"] == 1.2
48-
assert res.flag_metadata["bool"] == True
48+
assert res.flag_metadata["bool"]
4949

5050

5151
def test_should_load_flag_combined_metadata():
@@ -58,24 +58,27 @@ def test_should_load_flag_combined_metadata():
5858
assert res.flag_metadata["string"] == "a"
5959
assert res.flag_metadata["integer"] == 1
6060
assert res.flag_metadata["float"] == 1.2
61-
assert res.flag_metadata["bool"] == True
61+
assert res.flag_metadata["bool"]
6262
assert res.flag_metadata["flag-set-string"] == "c"
6363
assert res.flag_metadata["flag-set-integer"] == 3
6464
assert res.flag_metadata["flag-set-float"] == 3.2
65-
assert res.flag_metadata["flag-set-bool"] == False
65+
assert not res.flag_metadata["flag-set-bool"]
66+
6667

6768
class Channel:
6869
parse_error_received = False
6970

7071
def create_error_handler():
7172
channel = Channel()
73+
7274
def error_handler(details: EventDetails):
7375
nonlocal channel
7476
if details.error_code == ErrorCode.PARSE_ERROR:
7577
channel.parse_error_received = True
7678

7779
return error_handler, channel
7880

81+
7982
@pytest.mark.parametrize(
8083
"file_name",
8184
[
@@ -97,5 +100,5 @@ def test_invalid_flag_set_metadata(file_name):
97100
while not channel.parse_error_received:
98101
now = time.time()
99102
if now - start > max_timeout:
100-
assert False
103+
raise AssertionError()
101104
sleep(0.01)

0 commit comments

Comments
 (0)