Skip to content

Commit 9e757fa

Browse files
committed
fix: regression on empty schemas
1 parent 7eb8a67 commit 9e757fa

File tree

1 file changed

+3
-2
lines changed
  • aws_lambda_powertools/utilities/feature_flags

1 file changed

+3
-2
lines changed

aws_lambda_powertools/utilities/feature_flags/schema.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def __init__(self, schema: Dict[str, Any]):
3030

3131
@staticmethod
3232
def _is_dict_and_non_empty(value: Optional[Dict]):
33-
return not value or not isinstance(value, dict)
33+
return value is not None or isinstance(value, dict)
3434

3535
@staticmethod
3636
def _validate_condition(rule_name: str, condition: Dict[str, str]) -> None:
@@ -71,6 +71,7 @@ def _validate_rule(self, feature_name: str, rule: Dict[str, Any]) -> None:
7171

7272
def _validate_feature(self, name: str, feature: Dict[str, Any]) -> None:
7373
if not feature or not isinstance(feature, dict):
74+
# if self._is_dict_and_non_empty(feature):
7475
raise ConfigurationError(f"Invalid AWS AppConfig JSON schema detected, feature {name} is invalid")
7576

7677
feature_default_value = feature.get(FEATURE_DEFAULT_VAL_KEY)
@@ -89,7 +90,7 @@ def _validate_feature(self, name: str, feature: Dict[str, Any]) -> None:
8990
self._validate_rule(name, rule)
9091

9192
def validate(self) -> None:
92-
if self._is_dict_and_non_empty(self.schema):
93+
if not self._is_dict_and_non_empty(self.schema):
9394
raise ConfigurationError(f"Schema must be a dictionary, schema={str(self.schema)}")
9495

9596
features: Optional[Dict[str, Dict]] = self.schema.get(FEATURES_KEY)

0 commit comments

Comments
 (0)